ContributionsMost RecentMost LikesSolutionsRe: IgniteTech acquired Khoros to rebuild it. Here’s what that looks like. "This wasn’t AI-written" and yet you're an "AI-First" company. To the point where your "introduction" presentation was so obviously AI generated, I didn't need for IgniteTech to admit that it was (they did). The results will speak for themselves, but the initial impression is...not positive. Re: Driving Growth in Community with Banners & Content Gates That's good to hear, and I'm sure that's true of other features we might be using (the basic functionality being called "something else" in Aurora). We know that we eventually need to move to Aurora, but it's difficult when a bunch of custom functionality needs to be re-implemented. I assume it's also going to involve Professional Services, since we will have to map data from the "Classic" method to the "Aurora" methods :) It's an ongoing discussion we're having with our CSM. Re: Driving Growth in Community with Banners & Content Gates Lief we're on Classic and, due to the massive amount of custom components we've developed, and of course missing functionality like custom tags, which are used in other components as well, I don't see a path where we can successfully migrate to Aurora anytime soon. Re: Driving Growth in Community with Banners & Content Gates It's a bit complicated to explain as it requires components, CSS, and layout changes. At a high level, I created two new components (one for blogs, one for regular forums) that embed several of the components of the BlogArticlePage and ForumTopicPage in a DIV that is hidden. Why? So Google can still index the post, but the end user will see the prompt to log in. To reference a component in another component, do something like the following: <@component id="topic-message" /> The exact components you will embed depend on your existing page layouts. To determine IF a post is gated, I use something like the following: <#-- This query should only return a single result if the tag is set in the post. Otherwise it should return zero results --> <#assign gated_query = "SELECT custom_tag_scope FROM messages WHERE custom_tags.id = 'isgated' AND id = '${id}'" /> <#assign gated_result = rest("2.0", "/search?q=" + gated_query?url).data.size!0 /> <#if gated_result gt 0 > <#assign gated = true /> <#else> <#assign gated = false /> </#if> isgated is the ID of my Custom Tag and it's an "is present" type. Based on that plus other logic (some blogs aren't gated by design, for instance), we can render a partial message in place of the topic-message component. That code fragment looks like this: <#assign subject = (page.context.thread.topicMessage.subject)!"" /> <h2 itemprop="name" class="message-subject"> <span class="lia-message-unread"> <div class="lia-message-subject" style="font-size: 22px;color: #2d2e31;margin-bottom: 5px;">${subject?no_esc}</div> </span> </h2> <#assign body = (page.context.thread.topicMessage.body)!"" /> <div class="short-message" style="font-size: 16px;"> ${utils.html.truncate(1200, body, "...")?no_esc} </div> <div class="footer_bottom"> <div></div> </div <span>TO READ THE FULL POST</span> <div class="buttons"> <a class="read-more" href="yourRegistrationURL" target="_blank">REGISTER</a> <a class="read-more" href="yourLoginURL" target="_blank">SIGN IN</a> </div> <span class="extra-info">it's simple and free</span> <@component id="thread-pager" /> The body is truncated to 1200 characters (you can obviously adjust this). Also, to make it easy to assign the custom tag to the message, I added the modbar-toggle component to the ForumMessage and BlogArticle layouts, which allows me to easily set the is_gated flag easily. Re: Driving Growth in Community with Banners & Content Gates We haven't gotten any complaints from anyone about it. Re: How do I get the article ID in Freemarker in a TkbArticle? It'd be nice if I could get the canonical_url directly. However, if I can get the message ID, which I can now do thanks to AmanMalhotra's post, I can pull it via a query easily enough. Driving Growth in Community with Banners & Content Gates Strategically placed banners and content gates can be a simple tactic to help maintain momentum for the Community product. How do I get the article ID in Freemarker in a TkbArticle? This is Community Classic. I'm trying to write a component to display something from a hidden field (canonical_url) while on the page of a TkbArticle. It doesn't appear that either page.context.message.id or env.context.message.id work in anything Tkb related. What other options do I have to retrieve this information in the context of the page itself? SolvedRe: Khoros Communities 24.2 Release Yet another example of the inconsistent experience I receive when I need to engage Khoros TAC...I was never offered this workaround! I ultimately decided to move away from using Products for the purpose I was using them for. Seems like this functionality was never fully developed and, given the eventual migration to Aurora, it doesn't seem prudent to waste further time attempting to use it. Re: Khoros Communities 24.2 Release For me, this release broke any queries where products.id was a constraint. Had to reimplement my custom components and relabel data in order to address the issue in a timely manner.