Returning all messages with a certain tag?
I'd like to return all the top level messages given a single tag, with results that include the id, user, body, subject, and post time. Is there a better way? Or even a way that works? Attempt 1 with "foo" I keep getting an error when doing this in V1. <#assign taggedMsgs = rest("/tagging/for/tags/text/Event/messages").messages /> Error: REST Error: path="https://[communityname]/restapi/vc/tagging/for/tags/text/foo/messages?restapi.response_style=view" status="error" code="504" message="Method 'post' is not supported off of node 'generic_tagging_context.messages'." Attempt 2 with "foo": search <#assign taggedMsgs = rest("/search/messages?q=tags:foo").messages/> but it only returns a messages with a limited number of fields available, which does not include body, view_href, or many others. How can I get those fields as well? Returned data: <response status="success"> <messages> <message type="message" href="/messages/id/28497"> <root type="message" href="/messages/id/12345"/> <canonical_url type="string" null="true"/> <post_time type="date_time">2023-07-26T09:49:55+00:00</post_time> <message_rating type="float">0.0</message_rating> <last_edit_author type="user" href="/users/id/123"> <login type="string">SomeUser</login> </last_edit_author> <kudos> <count type="int">0</count> </kudos> <last_edit_time type="date_time">2023-08-02T16:00:24+00:00</last_edit_time> <labels/> <seo_title type="string" null="true"/> <seo_description type="string" null="true"/> <author type="user" href="/users/id/123"> <login type="string">LoginName</login> </author> <deleted type="boolean">false</deleted> <board type="board" href="/boards/id/123"/> <thread type="thread" href="/threads/id/12345"/> <parent type="message" null="true"/> <teaser type="string"/> <views> <count type="int">17</count> </views> <board_id type="int">2</board_id> <subject type="string">Revolutionizing Technology and Innovation: Exploring the Boundless Horizons of Cutting-Edge Advancements in the Digital Era</subject> <id type="int">12345</id> <read_only type="boolean">false</read_only> </message> </messages> </response>Solved183Views0likes4CommentsRetrieving Kudos In A Timeframe
Hi! I am trying to get a list of the Kudos that were given in the last hour for example, across the board. Not the count but the actual user who received each of the kudos in that time frame. Looking at the docs and playing around I see this: \"kudos\" must be constrained by \"message.id, image.id, message.author.id or user.id\". in: SELECT message FROM kudos" So this doesn't seem to let me constrain by time which means I would have to basically query for every kudo received and loop through ALL of these every time in order to get the ones that happened in the last hour? Surely there has to be another more efficient way?sejago2 years agoGuide570Views0likes3CommentsIs it possible to have a language pack function at a subcategory only level?
Let's say we have a category called "groups" and in that category, there is a sub-category that we'd like to enable Spanish in, limited to that sub-category. Is that something that's possible or are languages only able to be set at TLCs? ThanksSolvedisxtn2 years agoAdvisor133Views0likes3CommentsPass parameter to custom content component in community
For custom components that I build I can pass a parameter to it like so: <@component id="custom.component" param="someParam" /> Then I can access that parameter within the component using: <#assign param = env.context.component.getParamter('param') /> I would like to do this for a custom content component as well, but it doesn't seem to work. Is there a way to pass data to the custom content components?109Views0likes2CommentsGet Care Conversation by Source Id
Hi I'm trying to use this APIGet conversation details by document source ID (khoros.com)which should get the Care conversation details based on the community id. https://instance.response.lithium.com/api/v2/conversations/bySourceDocumentId/networks/{network}/instances/{instance}/id/{source document id} Has anyone used this before? Looking for what to use for {network} and {instance} I have tried several things unsuccessfully. I think network is "lithium" and I think I know the name of my instance but have tried multiple combinations without any luck. Thanks150Views0likes2CommentsHow do I create a subscribe button inside a component
Hi, I am trying to create a button in the sidebar of my forum-topic pages and grouphub pages. I have made a component, inside is a div with a button, and some javascript that gets the subscribe/unsubscribe link from the 'page dropdown menu settings thing' So I get the link out of the list items from this menu Then the link is transferred to this button in the sidebar For topics, blog and ideas this works great on pages and boards! The subscribe button is not hidden anymore. And regular users can now easily manage their subscriptions by navigation through the site (they cannot make sense of the subscription thing in the profile settings. That feels way too beta). However it does not work on GroupHub pages. The button has no life in it. The HTML of the link form the menu is copied perfectly and should work fine. I cannot find the issue. I do see differences in how the HTML of a GroubHub subscribe link and the link of a forum topic page for example. Maybe this has got something to do with it? My question to you: Does someone know a proper way how to make a subscribe-to-this-grouphub-buttonfrom scratch? Maybe even in a nice way using the API instead of my Javascript hack?Hoekstra_VFZ2 years agoAdvisor290Views0likes8CommentsMaking multiple http.client.request third-party API requests in a single endpoint
We are integrating a third part REST API and there is a need to make multiple calls to their endpoint. Example code: <#assign query1 = "sampleQuery"/> <#assign resp1=http.client.request("https","${url}","/services/data/v54.0/"). parameter("q","${query1}"). header("Authorization","Bearer "+"${accesstoken}").header("Content-Type","application/json").get() /> <#if resp1.hasError> <#else> <#assign sampleNumber = 4/> </#if> <#if sampleNumber > 2> <#assign query2 = "sampleQuery"/> <#assign resp2=http.client.request("https","${url}","/services/data/v54.0/"). parameter("q","${query2}"). header("Authorization","Bearer "+"${accesstoken}").header("Content-Type","application/json").get() /> <#if resp2.hasError> <#else> ${result} </#if> <#else> </#if> In this sample code, we are making a GET request, fetching certain data and then using it to make another GET ( or PATCH, POST ) request further on. Technically, this does produce correct results. But, would this technique cause any concerns? Are all the calls made using http.client.requests synchronous? Or, should one endpoint be used to make only one request?126Views0likes2CommentsBulk Add Users to Group Hubs via API Calls?
Is there any way to programmatically bulk add users to multiple group hubs using API calls?Ideally, I'd like to take a CSV data with columns "group_hub_id, user_id, role" and iterate over it, adding each user to the group if they aren't already in that group, but I don't see a direct way to do that. So far, all I've found would be to either manually upload a CSV through the admin for each group (which would involve more manual work) or possibly to use the existing API calls to invite a user and then accept the invitation on their behalf (which seems tedious and the user shouldn't be notified that this process is taking place, and perhaps isn't even possible). There are other steps we'd automate into this process, but this would be the first step, and without it, the rest of the process is blocked. Any ideas? Thanks, MatthewSolved1.3KViews1like6CommentsHelp needed - Specific issue with Content Square (great 3rd party UX analytics) and Khoros
Hi all, long time no see. We use Content Square analytics to check what users interact with on ourcommunities. Via a browser plugin we can see where users are interacting. We can check live click and scroll behavior, project usage percentages over components and generate heatmaps. Content Square is great! However we noticed it does not capture data on all pages and topics. We found the javascript delivered by Content Square stops running. We raised a ticket at CS, they could not find errors in their script. They did however found some invalid HTML in the Khoros code, and CS is quite sure (not 100%) this breaks the script. This is the issue: Khoros uses a : in an HTML-tag. This is the invalid HTML (<li:common-slide-menu></li:common-slide-menu>). We asked CS to make a workaround, but due to security issues they cannot go around the limitation of scanning HTML tags with special characters in the wrong place. Fair enough. We then raised a ticket at Khoros [REF: 00414657] for this specific HTML issue. Support checked with Engineering. Engineering says the cannot change the invalid HTML as this code is part of Core and is also not supported: "We have reached out to our engineering team, and according to the update from the team, this is out of support for us.As per the update, using JS to interact with our core components – is not supported by us." We feel even if JS interactions are not supported, it is still fair to ask for proper valid HTML tags. So, here we are in Limbo. Non of the parties can fix the issue. Can anyone help? How should we as a Khoros Customer proceed? Are there other Khoros Communities where you guys have managed to get Content Square to work? Should Khoros deliver proper HTML regardless of supporting JS interactions? Cheers, Anne207Views0likes4CommentsFeasible? Link (within Topic) to jump to Care Conversation
Use case: I'm browsing Community and I see a lingering thread. (somebody said "any updates? etc)" I'd like to "Care-tag" it "Lingering" so it shows up in the lingering column. Assumption: Care-tagging can't be done from within Community. Desire: Custom component/link on Topic page (only showing up for specific role of course) that deep-links to the conversation in Care. Feasible? If so, can you give me any pointers for the API bits to call to build the Care link bits?234Views0likes6CommentsFeatured Content Message
I previously worked with a Khoros Strategist who taught me how to add a featured text widget in stage (see attached). Unfortunately, I cannot remember how to create the same in community or push what was developed from stage. Any feedback? I've added an arrow to what I am trying to replicate in our Community. This would be a temporary "alert" to highlight an event we have next week.Vinny_Cavello2 years agoHelper115Views0likes1CommentModerator metrics
Hi everyone! My data team is trying to map any community posts moved by a moderator and they are having a hard time pulling the correct data. What does it mean when a document id says ‘message_attribute_change’? e.g. what actions could that include? Does that include moving of posts? Thanks for your help in advance!118Views0likes1Comment"Did this solve your problem?"
I am trying to figure out how prompt users to respond to whether an answer solves their question. If they say "yes/solved" we'd close it out on the backend. If they say "no" it would indicate that we need to try again. I know you can trigger emails, but how do we keep the board looking good so that there aren't unanswered questions?Solved171Views0likes4CommentsHow to create app for Khoros
docs/api-keyshas mentioned that we need to create an app and register with Community admin to get the creds. But i could not find any documentation pointing to creation and registration for the same. I want to fetch data from LIQL for users and for that i need session key. I am unable to authenticate via SSO https://developer.khoros.com/khoroscommunitydevdocs/docs/session-key?&_ga=2.81046224.696314303.1672828271-282055644.1659704414#retrieve-%5B%E2%80%A6%5Dssion-key132Views0likes2CommentsGeneral mail signature
Can I configure somewhere in the community a general mail signature (image, text, links, etc.) for the mails that are sent on standard notifications from the community? In the Studio under "Community Text" I only found templates ( email_content.template.guest_review_comment_link.text_content, email_content.template.guest_review_link.text_content etc.) but no central signature.sbu2 years agoExpert265Views0likes8CommentsStage SDK Changes?
Hi there - I'm not a Developer by trade, but can muddle my way through Studio most of the time LOL. But I'm working on an instance which is telling me that pages exist in an SDK, however no one on our team is aware of who would have set this up (it's a newly built team taking over from a previous group). If I make changes to Studio in Stage, will this impact the SDK or vice versa? In previous roles, there were sometimes issues with this but given we don't have anyone actively managing an SDK, I assume it should be fine. (hopefully I'm explaining this right lol - let me know if I'm unclear) Any guidance would be appreciated!SolvedKerri2 years agoMaven219Views0likes5CommentsEscalate a message with API
Hi, is it possible to escalate a message using the API? Regards, WaldemarSolved251Views0likes5Commentsvisit duration not available for visits.visit-summary events in Bulk Data API v2
Hi there, Does anyone know the reason why some of the 'visits.visit-summary' events might not be propagating anything in the visit_duration? According to the Bulk Data API v2 documentationthat is the sole purpose of this action_type. Also, does anyone know how is the visit_duration generated for single action_type visits such as view? Can someone please help our team figure this out?228Views0likes5CommentsAdding SSO attributes and accessing them in components
We are trying to expose additional user information in Community via our SSO attributes. This could be pieces of information like customer status, licensing information or similar. I'm currently struggling to find some clear instructions on what is necessary to expose these SSO attributes and accessing them via Freemarker custom components in Khoros Community Classic. I've started reading the SSO Guide fromAbout Khoros Single Sign-On (SSO)and this includes documentation on how to populate existing Khoros user profile fields via passing profile.* attributes or roles.grant for assigning Khoros roles. Couldn't find any details about passing custom attribute fields though. An older discussion "Accessing attributes passed via SSO" was asking about accessing SSO attributes, but ended up only covering how to access SSO id. Another conversation "How to pass parameters to Lithium when doing SSO" mentions custom profile fields, but unfortunately, not any more information on how to set them up and how to populate them via SSO. I did come across a rather promising response inAttributes that I can set/send in the SSO process by the one and onlyDougSbut the same SSO Guide documentation he is referencing doesn't explain custom attributes different to "profile.*" So my questions for the Khoros experts: When adding SSO attributes can I directly access them in Freemarker? Is there any action by Khoros support (or worse: Professional Services) necessary?205Views0likes4CommentsAny public examples of Wiki-esque TKB's?
We don't currently use TKB's - but from what I can tell, there's not a whole lot of "structure" but possibly a couple components that could help. But today a contributor proposed an idea that would be natural in a wiki (or a TKB with some sort of page-like structure.) Do any of you have examples of TKB's with navigation I can use for inspiration?keithkelly2 years agoLeader112Views0likes1CommentGet Latest Reply to Each Conversation Returned by Messages LiQL Query
I have recreated our message list with various filters. I am using a JSON messages query with a replies subquery. I am getting messages for the board with depth=0 (topics) sorted byconversation.last_post_time. For example: <#assign solvedMessageCall = restBuilder() .method("POST") .path("/search") .body( [ { "messages": { "fields": [ "author.avatar.message", "author.login", "author.view_href", "author.rank.name", "author.rank.icon_right", "author.rank.color", "author.rank.bold", "subject", "post_time", "post_time_friendly", "view_href", "replies.count(*)", "metrics.views", "user_context.read", "replies" ], "constraints": [ { "board.id": "${boardId}", "depth":0, "conversation.solved": true } ], "sorts": [ "conversation.last_post_time desc" ], "limit":results_list_size, "offset":offSet, "subQueries": { "replies": { "fields": [ "author.login", "author.view_href", "author.rank.name", "author.rank.icon_right", "author.rank.color", "author.rank.bold", "post_time" ], "limit": 1 } } } } ] ) /> Because I can sort byconversation.last_post_time the order is correct and matches the out of the box message list. So far so good. However, I also want to show the latest reply to the conversation like this: The replies subquery is giving me the latest reply to the topic post, not necessarily the latest reply to the conversationwhich might be a reply to a reply. The out of the box message list shows the correct latest reply. Is there any way to recreate this without having to make additional API calls? Thanks!211Views0likes5CommentsChange heading tag in core components
Other than resorting to javascript, aria or recreating the component from scratch is there a simple way to set the starting h tag level for a core component? For example I want a component to start at h3 NOT h2 as I've now nested it under a title which is h2.Solved249Views0likes5CommentsEmail bounce handling on Khoros communities
Hello and a Happy New Year! 1. Does Khoros by default "from: mailer@eu.khoros-mail.com" apply bounce logic to notifications sent by the community? Inspecting the email sources I can see Variable envelope return path (VERP) being setup, so my assumption for this is yes, but how can we tell from an API if the user has a valid email address? 2. Upon changing the default "from" to "community@notifications.mydomain.com" the return path no longer is what it was, instead it is the same as the from address, meaning I should be somehow responsible for dealing with bounces, is this assumption correct? 3. Is there a recommended approach on how to tell what emails coming to that address are bounced mails? How to tell which target email has bounced and what type it was? Searching the internet didn't provide much in terms of SDKs (we cannot use 3rd party providers like zerobounce / mailchimp etc) 4. How would I notify Khoros through the api to have feature parity, for detected bounces? Trying to investigate this myself, I found the following. Searching for user by email: v2 does not have this feature v1 returns 1 account for an email even though multiple exist(contradicting uniqueness described at rest v1 docs ) Updating user email verified status: neither allows setting the status v2 is read-only Updating user email notification preferences: v1 doesn't have an option to change email only preferences, all the other options are there v2 can only change "email_excluded" property Would this suffice from a product level? 5. Can Khoros be configured to use a custom SMTP relay for sending messages? no such configuration is available from the admin, and to my knowledge we are required to do through a company policy. Thank you in advance! Similar question https://community.khoros.com/t5/Developer-Discussion/Using-Hard-Bounce-Info-to-unsubscribe-people-in-their-IDP-and/m-p/669322330Views0likes6CommentsAdd URL Parameters in Addition to Khoros Tracking to Links in Email Templates
If we have an email with our community URL in an email template like so: https://community.ourcommunity.com/ Then when the email is sent a tracking query parameter is added on like so: https://community.ourcommunity.com/?emcs_t=S2h8ZW1haWx8cmFua19jaGFuZ2VfbWVzc2FnZV9kZWZhdWx0fExDVVdDN1lHSDBCV1lQfC0xfE9USEVSU3xoSw What happens if I add my own tracking query parameter like this in the template? https://community.ourcommunity.com/?google_analytics_blah_blah Is it smart enough to tack on with an "&" or is it going to break the tracking? I guess I can test it out but wanted to see if anyone else had experience with this. Also, I know we had to ask support to turn on email metrics. Is that where these come from and would having it turned back off remove them? Thanks!SolvedAkenefick2 years agoGenius333Views0likes1CommentWe like the 'Since you were gone' feature here on Atlas - We recreated it and shared the component
We really like the 'Since you were gone' feature here on Atlas. We want to implement this on our Communities. We asked support if this is a component that is available in Studio, it is not. The'Since you were gone' feature is a custom made component just for Atlas. We would love Khoros to share the content of this component so we can fast-track our development of such a component. We feel the entire community here might benefit from sharing this with all of us 🙂Solved456Views3likes8CommentsConvert Event Dates and Times to User's Timezone
I'm creating a custom component to show specific events I'm pulling via an API call in FreeMarker. One issue I'm running into is the event data pulled from the LiQL call is pulling in the occasion_data.start_time and end_time in the timezone where the event was created. I'd like my component to display event data in the timezone of the user viewing it, so if the event was created in the US/Eastern timezone but someone in US/Pacific is viewing the event, it should convert the date/time to that timezone (e.g., the event start time is 11:00AM EST, so the API call pulls in 11:00AM EST, but I want the component to show 8:00AM PST for users in US/Pacific). I've scoured the dev guides and don't see an easy way to convert dates/times to the user's selected timezone. I assume it should be possible because it works that way in the native Event pages. Is there a utility or built-in somewhere that I'm missing or is this another thing that's only available to Khoros and professional services?290Views0likes5CommentsSelect * from Categories (returns 0 categories 🤔)
I filed a support ticket, but as I frantically debug Stage, I'm curious if anyone else is seeing the same thing recently - or if any of you have seen this problem in the past. Notable problems: "select * from categories" returns 0 results. "select * from nodes" returns 2 results one forum the community node itself PS this only happens on Stage at this point. The basics seem to check out fine: Ran from an adminstrator account (or any role actually) Categories aren't hidden from lists or menus Boards within categories aren't hidden Verified user-inherited permissions apply (in my case all inherited permissions are colored purple) Practical implications: Our header menu structure doesn't show (Header nav v3) A volunteer developer is confused And now I'm confused This may be a red herring, but I saw the Super Mario Movie tonight, and all fingers of speculation point right to the koopa troopas. Nothing tangible though. Any ideas or pointers?Solved123Views0likes3CommentsPinging Sitemaps using GET requests and/or IndexNow
Posting here before contacting support to see if anyone else hasachieved this. We're all familiar with the sitemap, which is updated automatically by Khoros on a daily basis to reflect newly added (or deleted) threads. However, Google doesn't check a sitemap every time a site is crawled; a sitemap is checked only the first time that they notice it, and thereafter only when the site pings them to let them know that it's changed. Due to the size of the Community, waiting for Google to crawl and discover new URLs to index could take longer than is necessary. A more efficient way to speed up the indexing of new content is to notify Google by pinging, which was recently highlighted by Google’s Senior Search Analyst on Twitter. There are 2 solutions for this: 1. Sending a GET request in a browser or command line https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP 2. Using IndexNow.This is also a simple ping so that search engines know that a URL and its content have been added, updated, or deleted, allowing search engines to quickly reflect this change in their search results. Has anyone used or set up either of these options on their Khoroscommunity?461Views1like10CommentsPop-Up Message
disclaimer: I'm not a developer. I'm trying to figure out how to build a pop-up message when users first come to the community because we're changing our menu and want them to all be aware. Has anyone done this? I'd like to build it in Admin vs Studio if possible.jamiemccardle2 years agoExecutive222Views0likes5CommentsError: Cannot find module 'lithium-sdk/gulp/includes'
I've installed the lithium-sdk and I've installed gulp globally, but when i try to run li submit-plugin i get: Error: Cannot find module 'lithium-sdk/gulp/includes' It suggested installing gulp locally, which I also tried, but I still get the same error. Any ideas on what to do? Thanks!Solved122Views1like2CommentsSelect messages where user *doesn't have* FooBar role?
Objective: Create message list of messages posted by non-employees. SELECT yada, yoda FROM messages WHERE depth = 0 ** AND USER DOESN'T HAVE EMPLOYEE ROLE ** ORDER BY conversation.last_post_time LIMIT 100 From the LiQL reference, I don't see a constraint that will allow this. Is this possible?114Views0likes2CommentsHow to get the content of a thread in JSON or XML format?
Is there a way to get the output of the thread (Questions, Discussions, OR Blogs) in Json Or XML format? Let's say a particular thread's URL is: https;//<Org>/../td-p/587135 Can we get output in JSON or XML by:https;//<Org>/../td-p/587135.json ORhttps;//<Org>/../td-p/587135.xml Is there an API to access JSON or XML in API format?127Views0likes1CommentOverride current_revision.last_edit_author.id
Hi there, When creating a post via the API you can do the following <#assign apiCall = restBuilder() .method('POST') .path("/messages") .body('{ "data":{ "author": { "type": "user", "id": "' + getAuthorId() +'" }, "type":"message", "subject":"' + key +'", "body":"'+value+'", "context_id":"' + key +'", "board":{ "id":"'+ boardid +'" } } }') .admin(true) /> This will essentially set the author id to any user you desire. However if this message is updated, you can not set the following <#assign apiCall = restBuilder() .method('PUT') .path("/messages/" + id) .body('{ "data":{ "author": { "type": "user", "id": "' + getAuthorId() +'" }, "current_revision": { "last_edit_author": { "type": "user", "id": "' + getAuthorId() +'" } }, "type":"message", "subject":"' + key +'", "body":"'+value+'", "context_id":"' + key +'" } }') .admin(true) /> Am I missing something or is there another way to do this?107Views0likes0CommentsQuickest way to get "unanswered topic count" in a board list?
Given the scope "board" what's the best practice to grab the # of topics without replies? another rest() call? Or is there some sort of magic I can use in the LIQL query to grab this? See ${board.UNANSWERED_TOPICS_COUNT} in the context below: <#assign resp = liql("select title, id, description, depth, href, view_href, node_type, views, topics, messages.count(*), topics.count(*) from boards WHERE parent_category.id='${cat.id}' LIMIT 5000") /> <#list resp.data.items as board> <#assign replies_nr = rest("/boards/id/" + board.id + "/replies/count").value?number /> <#assign board_subs_nr = rest("/boards/id/" + board.id + "/subscribers/email/board/count").value?number /> <#assign board_scope = restadmin("/boards/id/" + board.id + "/settings/name/custom.dc_scope").value /> <tr class="ind-${board?index}"> <td>${cat.title}</td> <td><a href="${board.view_href}" target="_blank">${board.title}</a></td> <td>${board.topics.count}</td> <td>${replies_nr}</td> <td>${board.messages.count}</td> <td>${board.UNANSWERED_TOPICS_COUNT}</td> <td>${board_subs_nr}</td> <td>${board_scope}</td> <td>${board.id}</td> </tr> </#list>Solved220Views0likes5CommentsWrap multiple component in a div with class in Quilt / page xml view
In my page quilt / in Studio > Page > my page > XML view, I would like to put two components in the same div, something like the following: <quilt layout="two-column.main-side" nestable="false"> <add to="main-content"> <div class="my-class"> <component id="theme-lib.tiled-node-navigation"/> <component id="custom_content_2"/> </div> <component id="theme-lib.community-activity"/> </add> </quilt> I inserted a div where I would like to wrap the two components - however, when I try to save it gives me an error. Is there a way to accomplish putting just these two components in the same div but still be in the "main-content"? Is there any other work around?SolvedMarekOCLC2 years agoAdept131Views0likes1CommentEmail templates - How to add API content
Hi everyone! I was thinking about the newsletters that we can modify the template. The ones inside the Text editor function in the Studio tab. Can we call the Community APIs? We would like to create a row at the bottom of the emails to give visibility to the latest post created with a cover photo and an excerpt or something similar. I don't think I could reach that through Context object so I was wondering if someone had this similar idea and how did you manage it. ThanksSolved3.2KViews0likes4CommentsCreate custom email template and a custom trigger
Can we add and trigger a custom email from Khoros? We want to create an email > Add custom data/variables related to users > Send it through a custom service /Trigger it through code. For the existing email templates, I saw that only the content can be modified, not the triggers. I read some posts that it is not available on Khoros but the posts are pretty old. Do we have any update on the same? Appreciate any help on this.117Views0likes2CommentsCan we Bulk Import "Category Expert" Contextual Roles?
I have over a hundred "Category Experts" to add to 26 boards. (different experts per board.) In the documentation, I do not see anything on Bulk Import supporting contexts, so I'm assuming it's not possible. https://community.khoros.com/t5/Roles-and-permissions/Import-user-roles-from-a-CSV-file/tac-p/731416#M194 Does anyone know otherwise?78Views0likes2Commentsjson query syntax matches AND OR
Hello, I cannot find the full json query syntax documentation here. Thats wha I'm asking in this post: How does a json based query look like for AND matches in body text. I want to query all posts containing term1 AND term2 in their body. My query currently is this. How do I add the term2? [ { "messages":{ "fields":[ "id", "subject", "search_snippet", "body", "cover_image.view_href", "teaser", "view_href", "author", "conversation.last_post_time", "replies.count(*)", "kudos.sum(weight)", "metrics.views", "labels" ], "constraints":[ { "category.id":"DE", "conversation.style":"tkb", "body":{ "matches":"term1" }, "depth":0 } ], "sorts": [ "post_time desc" ], "limit":10, "subQueries":{ "labels":{ "fields":[ "text", "id" ] } } } } ]159Views1like3CommentsCount # of members subscribed to a topic?
If my understanding is correct this call will let me see which members are subscribed to a discussion board. E.g of 500 community members, 30 have subscribed to get a notification whenever activity occurs on this board. https://community.DOMAIN.com/restapi/vc/boards/id/BOARD-ID/subscribers/email/board/ Is there a way to do this for a specific topic however? Identify who, and the total count of members subscribed to a topic?tyw2 years agoBoss814Views2likes15CommentsHow To Change "Success! We moved this post to [Board TITLE]"
I've always found this message a bit wonky that it shows the board ID instead of the board title. Perhaps my mother was right about me having slight OCD tendencies... It would be cleaner to say Say "...moved this post to Claims (int)" - esp on boards that have longer/wonker IDs. so I dug around and found these puppies in Community Text Editor: feedback.MoveMessageAction.succeed = Success! We moved this ${general.post} to ${arg:param.destBoard.displayId}. feedback.MoveMessageAction.failed = Sorry, we couldn''t move this ${general.post} to ${arg:param.destBoard.displayId}. feedback.MoveMessageAction.allsucceed = Success! We moved these ${general.posts} to ${arg:param.destBoard.displayId}. feedback.MoveMessageAction.allfailed = Sorry, we couldn''t move these ${general.posts} to ${arg:param.destBoard.displayId}. This bit perplexes me, and I couldn't find any documentation or forum topics on it: ${arg:param.destBoard.displayId} Where's this argument passed from? Is there a displayTitle or Title attribute I can tap into? What fields are available from within destBoard?101Views0likes2Commentsliql query for message replies
I'm trying to get the replies from an event via liql. My query looks like <#assign comments = liqladmin("SELECT * FROM messagess WHERE parent.id = '25324') /> This query is returning an empty array. But I know for a fact that there are comments under the message with id = 25324. For example, if I query one of the replies by it's id directly, I see that the message has a parent.id of 25324. Are there some special permissions that are needed in order to query for replies? Or am I missing something?Solved136Views0likes3CommentsPassing multiple parameters to the endpoint from Component
Hi, I am trying to send multiple variables to an endpoint. Using an AJAX call to call the endpoint: $.ajax({ type: "GET", url: endpointUrl+'?Param1='+param1+'&?Param2'+param2, async: false, success: function(data){ console.log(data); }, }); And also, $.ajax({ type: "GET", url: fetchLastCaseUrl, async: false, data: JSON.stringify(prodData), success: function(data){ console.log(data); }, }); Where prodData is a JS object. But neither of these are working. I am getting the parameters in the endoint using: <#assign param1 = http.request.parameters.name.get("Param1","")/> <#assign param2 = http.request.parameters.name.get("Param2","")/> With this I am only able to get the first Parameter right. Not the second one. Any help would be appreciated.Solved139Views0likes2CommentsBS Session: Architect a "Department" field (bonus: weekly batch update)
Help me brainstorm: Our users want to see a other users' departments listed beside their name with each post ( Sue [Engineering] ) The primary focus of this thread is to brainstorm easy ways to batch update a custom "department" field either automatically/weekly, or on-demand with the click of a button. Assumptions: Khoros Support would create a custom "dc_dept" string field for user objects. Notes/Details: We have Azure at our fingertips, buuuuttttt spinning up machines always seems to be expensive so I'm OK with alternatives - even if it's a local Postman / Python thing I run manually as needed. Azure Active Directory contains the up-to-date Departments, but very soon we'll have this available in Snowflake. (I heard something about a Khoros-Snowflake connector in the works somewhere) What I Have Already (in case it helps w/ a short-term solution): A Magic Workbook: The workbook already has the users/department mappings, and I pull this data weekly using PowerBI connections to The Pond (our Khoros Community) and AzureAD. ... So...the questions! In the short-term, I could easily convert the User/Dept to a CSV or JSON file to use with ________? How would you push the data to Khoros? Postman collection runner? Python jingamathig? In the long-term, something automatic to skip the Excel workbook would be desirable. Any ideas there? ... No need for a full solution here - but I'd appreciate any pointers as to where to start digging.120Views0likes3CommentsWhy is the Private Messages page Scrunching? (JavaScript)
I noticed our private notes pages get scrunched and unusable on low-resolution screens or smaller windows. Then I noticed a height that's set via JavaScript - changing whenever the page height changes: So I debugged the (obfuscated) JS and came up with this line being the culprit: Questions: How can I stop the auto-scrunching? Does anyone else experience this? Is this Private Messages component intended to be viewed in a pop-up window or something?137Views0likes3CommentsSanity Check: Updating Custom Field No Longer Works
A couple months ago, I ran this PostMan script successfully. Now, I'm getting "success" but the value isn't updating. I've even added temporary "administrator" permissions to this user, but still nothing. I've submitted a support case, but I'm in a bit of a pickle so I'm wondering if there's anything obvious I should check out, or if anyone's ran into a similar situation where you could no longer update a custom field.138Views0likes4CommentsCan I "Trace" the Requests Happening Behind the Scenes?
For the products we build, we have trace tools that help us understand what APIs etc are being called behind the scenes. We even give them to our customers (b2b) so they can analyze & learn. Of course there's Fiddler, which does quite a bit of tracing, but I *think*(?) Fiddler is irrelevant for tracing Khoros API stuff - but it's been probably 5 years since I've used Fiddler seriously. Are there any Trace tools available (either by Khoros or that expose Khoros goodies) that can help make sense of the API requests called by various components? (example: "My Group Hubs" component ... what API call is happening behind the scenes there? I'd like to build my own component that grabs the same list but uses it differently. I've spent 1hr in the docs, and haven't found what I'm after. Buuuutttttttttttt if I could only trace the dang thing........) Does anyone have any tracing insight? Are there any tools available?420Views0likes14CommentsCommunity Landing Page
Hi there, Our team is planning to create a landing page for our community, in-house. Has anyone in the community done this before with Khoros and be willing to share any resources to get started? I'd appreciate any tips or direction as we scope out this project (Khoros documents, an example of a project plan, any tech needs, etc) Can weleverage HTML/CSS/JavaScript coding directly within the platform? Thanks!Jadah2 years agoHelper234Views0likes5CommentsIs there any OTHER way to access Community Analytics? (besides the Community Dashboard widget)?
Both Khoros Support & this article indicate the Community Analytics page can *only* be accessed through the Community Dashboard widget. While I trust it's true, this seems absurd. What sort of sorcery can that widget do that a URL can't? Is some sort of JavaScript/AJAX prepping a session or something? Perhaps I'll add the goofy module to some obscure page, push to prod, dig in, and report back... but if anyone knows off the top of your head, here's another kudo opportunity.242Views0likes7Comments