List if Events that user has attended and future event rspv'ed for
Hi Friends, Is there an API to get the following for events. 1. Get list of past events that user attended (RSVP value yes) 1. Get list of future events that user is going to attend (RSVP value yes or maybe) I could not find the API or query for this. Appreciate the help. Cheers, Sachin201Views0likes5Comments# in Conversation (LIQL Query) from Messages
Hey Khoros Community Gurus, I'm trying to figure out how to get the '# in conversation' number using a LIQL query. I get the other stats, but am not sure about how to calculate the number that is shown on a post? Select id, replies.count(*), author.login, kudos.sum(weight), metrics.views, convesration.message_count FROM messages where id ='1864895'tmarshall3 years agoAdvisor127Views0likes3CommentsMessage stats via APIv2
When viewing a message in our the community there are stats on that message that give context to the moderators to focus on those topics. We would like to bring those stats in via APIv2 and includeReplies, Date of topic, views, Kudos, 'in conversation I'm able to get a few of the data points but not all in my APIv2 query. https://community/api/2.0/search?q=SELECT id,replies.count(*),metrics.views,kudos.sum(weight),conversation.messages_count FROM messages where id = '1774748' Question The kudos.sum(weight) only brings back 3 rather than the total number of kudos. I'm not sure how to sum up the number of unique users in the topic? Appreciate the help on how to bring back the same stats in an APIv2 call. Thanks, Timtmarshall3 years agoAdvisor398Views0likes3CommentsBasic Postman question w/ Khoros API
Hi ya'll! I am very much a Postman / API newbie, attempting to do some very basic scripting w/ the Khoros API using Postman. I have learned how to get the session key: {{baseURL}}/restapi/vc/authentication/sessions/login?user.login={{khorosUsername}}&user.password={{khorosPassword}} This returns <response status="success"> <value type="string">[SESSION-KEY]</value> </response> I can't figure out how to save this response as a variable; currently I copy-and-paste the session key into my session key variable. How can I avoid this copy-paste? I know this is a postman-specific question but I figured a bunch of you have figured this out! Thank you!Solved157Views0likes2CommentsTopic Progress Bar
Hi, We have a use case where we want to communicate to new users on our forum what happens if they ask a question, and what is their Next Best Action in case no one replies. Also if a visitor is not the Topicstarter we want to communicatie their Next Best Action is to help get an answer. Together with a selected group of users we came up with a Topic progress bar that is visible on the PostPage and on ForumTopicPages (only in our coreNode Support) See it in action in this forum board: https://community.ziggo.nl/t5/Internet/bd-p/Internet We would to share this component with anyone who is interesed. Any feedback on the code? Or going to use this on your Community? Please let me know in this topic. <#-------------------- COMPONENT --------------------- Topic Progress Bar v1 ---------------------------------------------------- Scope: postpage, forumtopicpage Instance: N/A Created By: Anne Hoekstra Last Modified By: Anne Hoekstra Last Modified Date: 29-06-2022 Last Reviewed By: N/A Last Reviewed Date: N/A -----------------------------------------------------> <#-------------------- MANIFEST ---------------------- Functions: - dateOffset Key documentation used: - -----------------------------------------------------> <#-------------------- DEFAULT CONTENT --------------> <#assign tooltip_text = "Omschrijf je vraag, wacht op reacties en krijg de oplossing." /> <#assign fase1_class = "current" /> <#assign fase2_class = "next" /> <#assign fase3_class = "next" /> <#assign fase1_text = "Start je topic" /> <#assign fase2_text = "Reacties" /> <#assign fase3_text = "Oplossing" /> <#assign show_tipLink = false /> <#assign tipLink = "https://community.ziggo.nl/t5/Over-de-Community/Zo-krijg-je-antwoord-op-je-vraag/td-p/996645" /> <#-------------------- IMPORT DEPENDENCIES ----------> <#import "theme-lib.common-functions.ftl" as commonUtils /> <#-------------------- FUNCTIONS --------------------> <#-- dateOffset - This function adds days to a timestamp --> <#function dateOffset date days> <#assign timeInMillisecond = (1000 * 60 * 60 * 24 * days) /> <#assign aDate = date?long + timeInMillisecond?long /> <#return aDate?number_to_datetime> </#function> <#-------------------- BASE DATA --------------------> <#attempt> <#assign currentDateTime = .now /> <#assign slaDays = 2 /> <#assign nonTSreplies = 0 /> <#assign currentUser = "visitor" /> <#if page.name == "ForumTopicPage"> <#assign threadId = page.context.thread.topicMessage.uniqueId /> <#assign threadInfo = "SELECT id, post_time, post_time_friendly, conversation.last_post_time, conversation.last_post_time_friendly, author.id, author.login, read_only, replies.count(*), conversation.solved FROM messages WHERE topic.id = '${threadId}' ORDER BY post_time ASC" /> <#assign solutionInfo = "SELECT id, view_href FROM messages WHERE topic.id = '${threadId}' AND is_solution = true ORDER BY post_time ASC LIMIT 1" /> <#assign topicData = commonUtils.executeLiQLQuery(threadInfo) /> <#assign solutionData = commonUtils.executeLiQLQuery(solutionInfo) /> </#if> <#if topicData?has_content> <#assign topic_has_solution = topicData[0].conversation.solved /> <#assign topic_author_id = topicData[0].author.id /> <#assign topicDateTime = topicData[0].post_time?datetime /> <#assign lastpostDateTime = topicData[0].conversation.last_post_time?datetime /> <#assign slaDateTime = dateOffset(topicDateTime, slaDays) /> <#if (currentDateTime?datetime > slaDateTime?datetime) > <#assign withinSLA = false /> <#else> <#assign withinSLA = true /> </#if> <#if !user.anonymous > <#assign currentUser = "member" /> <#if user.id?c == topic_author_id > <#assign currentUser = "topicstarter" /> </#if> </#if> <#list topicData as data> <#if data.author.id != topic_author_id > <#assign nonTSreplies += 1 /> </#if> </#list> </#if> <#if solutionData?has_content> <#assign solutionLink = solutionData[0].view_href> </#if> <#recover> </#attempt> <#-------------------- DYNAMIC CONTENT --------------> <#attempt> <#if page.name == "ForumTopicPage" && topicData?has_content > <#assign fase1_text = "Vraag" /> <#-- following tooltip is a fallback, if this shows something is broken --> <#assign tooltip_text = "Status van dit topic - Reageer en help mee. Samen weten we meer." /> <#if topic_has_solution == true > <#assign tooltip_text = "Status van dit topic - De vraag is beantwoord." /> <#else> <#if currentUser == "member" && (nonTSreplies > 0) > <#assign fase2_text = "Reageer en vul aan" /> <#assign tooltip_text = "Status van dit topic - Lees de reacties en vul aan waar nodig." /> <#elseif currentUser != "topicstarter" > <#assign fase2_text = "Reageer en help mee" /> <#assign tooltip_text = "Status van dit topic - Reageer en help mee. Heb jij het goede antwoord?" /> <#elseif currentUser == "topicstarter" && (nonTSreplies == 0) && withinSLA == true> <#assign fase2_text = "Wacht op reacties" /> <#assign tooltip_text = "Status van jouw topic - Wacht op reacties van anderen." /> <#elseif currentUser == "topicstarter" && (nonTSreplies == 0) && withinSLA == false> <#assign fase2_text = "Krijg meer reacties" /> <#assign tooltip_text = "Status van jouw topic - Met deze link krijg je tips voor meer reacties." /> <#assign show_tipLink = true /> <#elseif currentUser == "topicstarter" && (nonTSreplies > 0)> <#assign fase2_text = "Reageer of markeer oplossing" /> <#assign tooltip_text = "Status van jouw topic - Geef meer details of markeer de beste reactie als oplossing." /> </#if> </#if> </#if> <#recover> </#attempt> <#-------------------- DYNAMIC STYLE ----------------> <#attempt> <#assign barPosition = "0%" /> <#if page.name == "ForumTopicPage" && topicData?has_content > <#assign fase1_class = "success" /> <#assign fase2_class = "current" /> <#assign barPosition = "50%" /> <#if topic_has_solution == true > <#assign fase2_class = "success" /> <#assign fase3_class = "current success" /> <#assign barPosition = "100%" /> <#elseif (nonTSreplies > 0)> <#assign fase2_class = "current success" /> </#if> </#if> <#recover> </#attempt> <#-------------------- STYLE ------------------------> <style> #topicProgressBar { margin: 10px 10px 50px 10px; font-family: "Open Sans",sans-serif; font-weight: 300; } .bar { height: 6px; border-radius: 3px; background-color: #d7dadc; } .bar::after { content: ""; display: block; width: ${barPosition}; height: 6px; border-radius: 3px; background-color: #5daa1a; } .overlay { margin-top: -13px; position: relative; } .fase { display: inline-block; position: absolute; width: fit-content; } .step_number { width: 20px; height: 20px; border-radius: 50%; font-size: 12px; font-weight: 700; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; flex: 0 0 auto; transform: translate(-50%, 0) } .pos1 { left: 13%; } .pos2 { left: 50%; } .pos3 { left: 87%; } .pos2 a { color: #000000 !important; text-decoration: underline !important; } .pos3 a { color: #5daa1a !important; text-decoration: underline !important; } .current .step_number { background-color: #d7dadc; border-width: 2px; border-style: solid; border-color: #d7dadc; color: #ffffff; } .success .step_number { background-color: #5daa1a; border-width: 2px; border-style: solid; border-color: #5daa1a; color: #ffffff; } .next .step_number { background-color: #ffffff; border-width: 2px; border-style: solid; border-color: #d7dadc; color: #d7dadc; } .current .description_nba { font-weight: 700; } .current .description_nba span::before { content: "\f105 "; font-family: "FontAwesome"; font-size: 14px; font-weight: 300; padding-right: 3px; } .pos3 .description_nba span::before { color: #5daa1a !important; } .next .description_nba { color: #d7dadc; } .description_nba { font-size: 14px; transform: translate(-50%, 0); color: #000000; margin-top: -2px; } /* replace step_number 3 for a checkmark icon upon success */ .pos3.success .step_number::before { font-family: "CustomIcons"; content: "\e90b"; font-size: 10px; margin-top: 4px; } .pos3.success .step_number span { display: none; } /* extra styling for the postpage */ .lia-quilt-post-page #topicProgressBar { margin: 0 auto !important; max-width: 1200px !important; } .lia-quilt-post-page #topicProgressBar .wrapper { margin: 25px 15px 30px 15px !important; } </style> <#-------------------- RENDER THE THING --------------> <#attempt> <#if page.name == "PostPage" || (coreNode.ancestors[0].shortTitle == "Support" && coreNode.shortTitle != "Archief" && coreNode.shortTitle != "Offtopic") > <div id="topicProgressBar" title="${tooltip_text}" > <div class="wrapper"> <div class="bar"> </div> <div class="overlay"> <div class="fase pos1 ${fase1_class}"> <div class="step_number"><span>1</span></div> <div class="description_nba"><span>${fase1_text}</span></div> </div> <div class="fase pos2 ${fase2_class}"> <div class="step_number"><span>2</span></div> <div class="description_nba"> <#if show_tipLink == true> <span><a href="${tipLink}" target="_blank">${fase2_text}</a></span> <#else> <span>${fase2_text}</span> </#if> </div> </div> <div class="fase pos3 ${fase3_class}"> <div class="step_number"><span>3</span></div> <div class="description_nba"> <#if solutionLink?has_content> <span><a href="${solutionLink}">${fase3_text}</a></span> <#else> <span>${fase3_text}</span> </#if> </div> </div> </div> </div> </div> </#if> <#recover> </#attempt> <#--------------------------------------------------->Hoekstra_VFZ3 years agoAdvisor86Views2likes1CommentHow to escape user input in built liql query
Escaping id with js_string or any other escape mechanism change the semantics of what was asked from the user, while not doing it will cause invalid syntax in queries. Given the input'123'quotes included and the following code snippet. <#assign id = http.request.parameters.name.get("id", "") /> <#assign query = "/search?q=" + "SELECT * FROM messages where id='${id}'"?url /> ${restd("2.0", query, "json")} produces { "status" : "error", "message" : "Invalid query syntax", "data" : { "type" : "error_data", "code" : 603, "developer_message" : "line 1, column 35:\nwhitespaces, regexParser: (AND|OR) , regexParser: ORDER BY, regexParser: LIMIT, regexParser: OFFSET, regexParser: CURSOR or EOF expected, 1 encountered. in: SELECT * FROM messages where id=''123''", "more_info" : "" }, "metadata" : { } } Is there any recommended way of doing such operations?110Views0likes2CommentsLiQL query for User Drafts widget
We have a widget on our user profile page that shows users unsaved drafts, I believe this is an OOTB component. It is on the ViewProfilePage.quilt.xml as <component id="users.widget.unsaved-drafts"/> I'd like to keep the content of the widget but make some substantial changes to the way the component works. Can anyone suggest the LiQL query for the widget? Thanks!141Views0likes3CommentsPagination with offsets no working in API from 27th JUN
HI Team , Pagination with offsets no working in API from 27th JUN PST. Endpoint : www.paypal-community.com/api/2.0/search? query : SELECT * FROM messages WHERE current_revision.last_edit_time >= 2022-06-27T17:00:00.000-07:00 ORDER BY current_revision.last_edit_time DESC, metrics.views DESC limit 700 OFFSET 700 its return always 0Solved141Views0likes2CommentsLabels in the Unanswered Email Escalation
Hello, Is there any way to add labels in the unanswered email escalation? For example, when we get e-mails with the topic that was posted in the community, aside from the body, can we also include the labels that were post in the post? Thank you so much.64Views0likes0CommentsCommunity: Variable scoping in a quilt
Given a quilt that has: <component id="poodle-moth"/> <component id="dumbo-octopus"/> <component id="batfish"/> Is there a way to set a variable in component "poodle-moth" that then can be read in component "dumbo-octopus" or "batfish"? Assign is scoped to thecomponent or endpoint it is defined in. Local is even more tightly scoped. Is there a "Quilt" or "Global" assignment that can cross component boundaries? Reason: I want to do a lookup in poodle-moth, display parts of what it found in dumbo-octopus and batfish without having to do the lookup again. Having written all this, I guess one way to do this would be to wrap these three components in another component then pass them in...would that work?Solvedmdfw3 years agoGenius127Views0likes3CommentsHow can we get Page View count using (www.paypal-community.com/api/2.0/search)
Hi Team , Currently API return VIEW count but its not correct . How can we get right count for the view ? if any update happen from the topic then only view count getting increased otherwise its not increased Thanks, Vamsi.190Views0likes4CommentsMoving draft blog articles by API
Team, looking to pick some brains here, we are shutting down and moving some blog articles to new locations in the community. Moving the published blog articles by API is dead simple but the script doesn’t seem to work for draft articles. The system throws access denied on APIv1. I tried APIv2 but it seems to publish the blog article in the process. Has anyone ever been able to use the API to move draft blog articles between blogs while maintaining their position in the workflow?? Blogs are using v3.x SohilMLindseyF162Views1like3CommentsHow to retrieve all user badges using LIQL search on the user collection?
Hello, Do we need pagination for that field? or does it output all user_badges available for the user in one shot? I'm aware that liql queries can add a limit / offset (up to 1000 entries), or use the next_cursor field but how do we do it for the nested user_badges entries? As far as I can see the nested badge entries also have a size but no cursor attached to them. Didn't see a way to restrict limits / offsets for inner elements as most relationships that are available in the api and documentation are for top relationships only. The /api/2.0/users/<id>/badges responds with 404. The/restapi/vc/users/id/<id>/badgesdoesn't seem to show pagination as well. The liql endpoint/api/2.0/search?q=select user_badges from users where id="<id>" doesn't show a mean to paginate the inner relationship. Any thoughts?Solved283Views0likes4CommentsBest approach to benefit from CSS performance enhancements
(Renamed this thread. It used to be "SASS file name for group hubs") I want to make use of theCSS performance enhancements mentioned in the 19.7 release notes. To determine whether CSS styles get included for a given page does this feature look at the location of the SASS file within my "page" category in my skin whether the style starts with a matching body Page type class, e.g. #lia-body.BlogArticlePage So when adding group hubs styling to my skin would I create a new file in the "page" section of my skin and what name would it be. Or do I just pile those stylings into a random xyz.SCSS and wrap the styles in a #lia-body.GroupHubPage ?568Views1like4CommentsEvent.path deprecation in Chrome Jan'23
Chrome developers announced deprecation of the Blink JS engine specific Event.pathAPI in January 2023. This will affect end users with both Chrome and Edge browsers. It's being replaced by the standard method Event.composedPath(). Latest Chrome already started flagging a warning in developer console for use of that API in lia-scripts-body-min.js - Not sure if any crucial functionality (like building any info of theLITHIUM.CommunityJsonObject) is based on this script, but would love to hear from Khoros that updating the script is on their radar.78Views6likes1CommentSalesforce Case Portal Integration - Rich text comments + CC: option
Hi Friends, We'd like to improve our Salesforce case portal experience by offering: 1. RTE for case COMMENTS 2. Option to CC: / add additional recipients to get case comment updates. I know the Khoros community offers this, and I know there is a vendor that offers this (Internet Creations - not a viable solution for us) - so I was curious if anyone else has any customizations or other ways they've addressed these faults in the Salesforce platform (yes, I said it and also voted on their 11 year old Product Idea in their own community).TreyWaddell3 years agoDirector140Views2likes2CommentsOkta Auth in an iFrame
Hey does anyone know of a way to allow Okta to authenticate in an iFrame we placed in the community? Currently we have an iFrame pointing at a site that uses Okta to authenticate same as our community but won't display we are not sure if its a permissions thing on the community side or on the okta side. Has anyone had any experience with this. We are also open to other options of bringing another site into our community besides an iFrame. Thanks.tavasjn243 years agoGuide69Views1like1CommentCan we use Bulk Data Api to extract seletcted Categorys data ?
Hi Team, I am trying to use bulk API and extract data from the community, i need help in extracting data for only a few selected categories and not whole community data. Kindly let me know how this can be done using the bulk API? curl “https://api.lithium.com/lsi-data/v1/data/export/community/testcommunity.prod?fromDate=201409131205&toDate=201409151205" -H “client-id: safkdndkebbdkkkc” -u “eicncladjiickld:” Regards Naveen S142Views0likes3CommentsSaml integrations with Okta
Has anyone ever mapped the remove roles assertion mapping from Okta. We are trying to map removing multiple roles if they have one role. EX if they are a customer we remove Employee and partner. Also if they are Partner remove employee and customer. If Employee remove customer and partner. Currently Okta is sending the expression as a text not the actual roles to be removed. Anyone that has worked with Okta and remove role mapping we would love some help on this issue.tavasjn243 years agoGuide213Views0likes4CommentsHow to set predefined-only while creating GroupHub
So, I am in an interesting scenario: I want to create a Group Hub --> Easy enough to create using the REST API Endpoints I want to have Forum + Calendar + TKB created within the Group Hub --> Same as above I want to make sure that the Boards under the Group Hub have `predefined-only` labels when creating topics on the boards. --> This seems not possible What I tried doing was I tried using the Update Board API to enforce `allowed_labels` to `predefined-only` only to see that the API does not allow this change on Update. So, my question is how do I set `predefined-only` for the boards under GroupHubs?Solved227Views0likes5CommentsLithium-SDK: Unsupported Engine for Karma@1.7.1 - Node v13
Hi. I'm trying to set up the SDK on my MBP. It seems I have too new a version of node installed (even though Node 13 is past end-of-life). Has anyone experienced this, or have ideas how to proceed? Running: npm install lithium-sdk -g Build failed with error code: 1 npm WARN notsup Unsupported engine for karma@1.7.1: wanted: {"node":"0.10 || 0.12 || 4 || 5 || 6 || 7 || 8"} (current: {"node":"13.8.0","npm":"6.13.7"})Solved128Views0likes3CommentsCommunity Syndication into Thought Industries
Hey guys, we are working on syndicating a comment list (or forum) into Thought Industries. Curious to know if anyone else has done this and if so, could you share how this was done on the thought industry side??akloepfer3 years agoExpert134Views0likes2CommentsAnnouncement carousel component
Hey guys- I am wanting to create an announcement component within our Community. Ideally it would be something we could control messages to certain audiences. So, Partners would see partner specific content, etc. I also would like for this to be editable within Admin vs studio/SDK. Any idea of how i would make this happen? +tavasjn24181Views0likes3CommentsLiql Request
Hey everyone. I am running into an issue when trying to query what role a user has when they log in. The query works fine when I use the api browser in studio. When I run it on the front end and I am not logged in as a admin account it returns a empty array every time. When I log in as an admin it runs just fine and shows the correct role when I am displaying it on the front end. Not sure what the issue is but any help would be appreciated. Thanks.Solved136Views0likes2CommentsNeed better example of Bulk Data API
I see the example CSV file for Bulk Data API, but it only has a few event types(rss.feed-request, view, visits.member-entrance, visits.visit-summary). Can Khoros supply a more complete example, ideally with one of each event type represented, and the new V2 fields.Solved214Views0likes3CommentsSet User Rank via API
We recently updated our ranking system and use some custom ranking formulas for our new ranks. However, we have some longtime users who didn't meet all of our new criteria so they were "demoted" to a lower rank. We're hoping to grandfather these users into their old rank, but it seems like there's not any way to do that. There's no way I've found in the settings or rank settings and I've tried with a few users via the API with no luck. Does anyone know of a way to do this for a list of users that we want to manually change their rank even if they don't meet all the formula requirements? Or will the formula requirements keep us from changing their rank manually? Here's the code I'm using to try to change the rank manually. I get a success message when I run this, but the rank doesn't change: const options = { method: 'PUT', headers: {Accept: 'application/json', 'Content-Type': 'application/json'}, body: JSON.stringify({ data: { type: 'user', rank: {id: '9'} } }) }; fetch('https://community.url.com/api/2.0/users/user-id', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err)); (I've changed our url and user-id for privacy, but I'm using the correct values in the code I'm running)Solved200Views0likes4CommentsHaving recent blogs also appearing in the latest activity
Hello, Hope to find you well. I'm contacting you because I would like to have in our community activity, in the landing page, also the recent blogs and not only the discussions or ideas. How do I edit the component of the activity to have this? Thank you so much!80Views0likes1CommentiFrame issue displaying video from twentythree account
Hello does anyone know how come when I am using an iframe to display a video from twentythree it shows as a preview when creating a post but the second I post it nothing appears in the community just a big blank post. FYI youtube videos work via the same embed code but doesn't with our 23 account.tavasjn243 years agoGuide96Views0likes3CommentsHow to obtain the current user's threaded message sort order?
I need to know what the thread message sort order of the current viewing user is. I am referring to this setting with the threaded view: I looked at the admin page at/t5/bizapps/bizappspage/tab/community%3Aadmin%3Ainteractions%3Aforums%3Aforum-display and "Threaded format: Sorting order within topics" setting's radio ID to obtain the setting name "layout.threading_order". But when I query them either way: <#assign sort_order = restadmin("/settings/name/layout.sort_view_by_last_post_date").value /> ${coreNode.settings.name.get("layout.sort_view_by_last_post_date", "none")} both just returned "thread_descending" regardless of how I change this via the dropdown menu in above screenshot. Anyone can share a way how I can obtain the currently active thread sort order programmatically? (Client side looking via JavaScript at which dropdown item is selected won't work.)799Views0likes6CommentsWhats the exact difference between user_id and target_user_id?
Hi everyone, There might be a very straight forward answer to this but what is the exact difference between user_id and target_user_id? I understand the context when the events are message related like user A replying to user B will generate message.publish event where user_id will be A and target_user_id will be B or similarly for kudos.give event. But I also encountered other events where this definition fails such as badges.award event orsolutions.first_solution. where user_id is either null or its of the user the action is taken upon. e.g. user B accepts user A answer as the solution. This triggerssolutions.first_solution The data has both user_id and target_user_id as user A whereas user B triggered this event. Is there a clear definition for all the action types what each of these columns would represent?189Views0likes3CommentsHow to use queries with Bulk Data API?
Inhttps://community.khoros.com/t5/Community-Analytics/Requesting-essential-community-metrics-via-the-Bulk-Data-API/ta-p/615803,it shows using SELECT statements with Bulk Data API. How do you specify these queries in an API call? Or are these supposed to be theoretical queries against the data received from Bulk Data API, after they are stored in a database?Solved175Views0likes1CommentWhich Bulk Data API fields go with each event type?
I am designing a data extract from Khoros Community into our company data warehouse. In looking at the Bulk Data API V2, I see a lot of great events that I want to capture. Is there a mapping that shows which field are supplied for each event type? For example, when a message (new thread) is created in a discussion board, I need to know which fields are in the Bulk Data API event. Most likely, I will need additional fields, so I would invoke a Community API request to get those additional fields. However, a simple event like badges.award may contain all the info that I need in the bulk data event (timestamp, user, badge). Our Community site is not up yet, so I cannot check this on a live site.105Views0likes2Commentsmultiple visits.visit-summary events generated for the same visit_id
Hi everyone, During our recent data quality check we encountered the issue of multiple visits.visit-summary events generated for the same visit_ids and created_at timestamp. Upon comparison while some of these events only had event_id as a differentiating factor some also had other features differentiating these two events?89Views0likes1Commentli serve-sass not working
Hi, I was working as usual, but suddenly the command li serve-sass stopped working. You can see below what I have, but the status doesn't update at all when I change and save a .scss file. [17:11:19] Loaded gulp tasks in: 3.26 s [17:11:19] Using gulpfile ~/community/dropbox-community/gulpfile.js [17:11:19] Starting 'skins-compile'... [17:11:19] Starting 'watch-res-sass'... [17:11:20] Finished 'watch-res-sass' after 163 ms [17:11:20] Starting 'local-server'... [17:11:20] Finished 'local-server' after 120 ms [17:11:20] Server started http://localhost:9000 [17:11:25] Finished 'skins-compile' after 6.05 s [17:11:25] Starting 'serve-sass'... [17:11:25] Finished 'serve-sass' after 21 μsebonifacio3 years agoMentor77Views3likes0CommentsPosting Content to Khoros Community from External(client) instance
If I would like to post the community content from an external system, what is the best approach? if we choose the Rest API, how can we validate the user in the Khoros community? Configured Khoros community is based on SSO configured.77Views0likes1CommentHow do I notify a user I moved their post without using PM
I'm working on some API calls that, at some point, require me to notify the user of an action. I can't use PM and I don't know if they're subscribed to anything. The UI move flow includes an option NOT to notify users, but the API call doesn't trigger any kind of notification(s). How do I let the user know I moved their post (using the API)?96Views0likes1CommentLimit character count for user's profile biography field
Hi folks, I am looking to limit the characters that a user can input to the biography section (my settings -> personal -> personal information) in their profile. Is there a setting for this in the admin console (or elsewhere)? If not, I think the next best way would be to add some JavaScript to the page to add the limit to the text input and change the validation message, doing that feels like it might be a bit dirty, especially where backend validation is involved? What is the best way of doing this? thanks!Solved185Views0likes3CommentsDelete Label API Stopped Working
Hi. A while back I wrote a script to replace labels on messages. I used this to replace thousands of labels, but now the delete has stopped working. The script pulls a list of messages with a given label, adds a new label then deletes the old label. The first two steps are still working but the delete step gives me an error. Here is my code to delete labels: function del(id){ var delLabelReq = new XMLHttpRequest(); var call = domain + "/api/2.0/messages/" + id + "/labels/" + encodedOldLabel; delLabelReq.open("DELETE", call, false); delLabelReq.onload = function(){ resp = delLabelReq.response; console.log(resp); } delLabelReq.send(); } I also tested in postman you can see the error here: I double checked the documentation hereDelete message label (khoros.com) and think I am doing everything right (and this worked in the past). Anyone else noticed anything like this? Has something changed or am I missing something? Thanks for your help.Akenefick3 years agoGenius125Views1like1CommentBulk Data API v2
Does anyone know why when I run my python3 bulk data api request I am getting a not found message. import requests # Place the "Bulk API access token" from Community Analytics here access_token = 'ACCESSTOKEN' # Place the "Client ID" from Community Analytics here client_id = 'CLIENTID' response = requests.get( 'https://api.lithium.com/lsi-data/v2/data/export/community/lithosphere.prod', params={'fromDate': '20220411', # Set the start date in YYYYMMDD format 'toDate': '20220417'}, # Set the end date in YYYYMMDD format auth=(access_token, ''), headers={'client-id': client_id, # TODO: place the "Client ID" from Community Analytics here 'Accept': 'text/csv'} # OPTIONAL: this could also be set to "application/json" to receive JSON results, or even left unset to receive CSV ) # Use "response.json()" incase you need json response (set 'Accept' header as mentioned above). data = response.text print(data)153Views0likes1CommentCan we show the event calendar component only on group hubs with event discussion style enabled?
Can we scope the calendar event component ONLY on those group hubs that have Event discussion style enabled? For Example: Group Hub1 (with all four discussion styles enabled) forum Article Suggestion Event Group Hub2 (with only Article discussion style enabled) Article So, when the even calendar component is added on group hub page, the component is displayed on all the group hubs on community (in above case it's added on both group hubs with and without event discussion style enabled). Can we scope it to only group hubs with Event discussion style enabled ? In the above example we would want it to be displayed only onGroup Hub1. Is there a parameter that can be configured to toggle this setting on this component? <component id="occasions.widget.calendar"/>144Views1like4CommentsMessage-List quilt customization
Hello, I am working on a performance improvement on some of our code. Here is the thing, I tried to override theMessage-list component and I know that is an OOB quilt component that contains themessages.column.thread-info component. Debugging on console I can output the messages Ids from themessages.column.thread-info component.Because of logical purposes, I need to access the list of messages from Message-list. Is there a variable, cache info, or any parameter that I can get the messages full list from the message-list override component? As I am not able to see the OOB code, also I want to ask where the message list data is being loaded? how it is passed tomessages.column.thread-info?smontero3 years agoHelper84Views0likes0Comments