Challenge: How to run this recurring report: Time-To-First-Response (for each board)?
I can make leaderhship very happy if I provide a WEEKLY recurring TTFR (time-to-first-repsonse) report like: Here's the Time-To-First-Response data for each category/board in the past week: Food Items [category]: 3,128 minutes (avg) Crumb Cake [forum]: 8,505 minutes Cheesecake [forum]: 130 minutes Cheese [forum]: 748 minutes Food Prep [category]: 195 minutes (avg) Machines [forum]: 111 minutes Uni-Taskers Suck [forum]: 280 minutes etc... If any of you can assist with the solution, I will give you an emoji of your choice.180Views0likes6CommentsTrying to add "message-list" to custom component
Hi Everyone Basically, I'm trying to make a tabbed menu on the forum page that will display the OOB message list when the first tab is selected. I am adding the message-list component with this: <@component id="message-list"/> Usually,the list looks likethis. But when I add it in my custom component it looks like this Anyone know why this is happening? Hoping there is some easy fix. It looks like the HTML is different. This isn't just a CSS thing. Thanks!234Views0likes7CommentsGet Announcement Text from Group Hub
Is there no way to get the announcement info for a group hub via the API? We have queries to get announcement info for communities, categories, and boards, but no group hubs? Is that right or am I just completely missing something here? Is this an oversight on Khoros' part?Solved89Views0likes1CommentHow to : Select Messages (on Boards where I'm the Category Expert)?
I'm trying to put relevant messages lists on users' community home page. Such as: Message list for all subscribed areas (solved in another post) Message list combining all areas where the current user is the Category Expert (this post) No need to spoon-feed me anything, but if anyone can point me in the right direction w/ constraints or approach that'd be sweet.77Views0likes1CommentIncrease max width from 1200px to 1400px - how involved?
I realize our custom skin will complexify this a bit, but our skin is fairly vanilla...at least in this particular regard... Assuming the default Hermes skin, is increasing max width a big or small lift?It seems like Hermes down-flexes nicely, so I'd like to leverage a bit more real estate - especially on forum topic pages. (I'm experienced at CSS, but a doofus in my understanding of the various dependencies within Hermes.)99Views0likes2CommentsAnalytics Reporting
Hello community, Still relatively new to the Khoros platform and learning things as they come, but I was wondering...is there a method to generate reporting on the analytics dash that can generate the same #s and metrics that I can see on a shared dashboard? I am not the owner of the dash, but I can easily generate my own widgets with the stats I want. I see an option to export the report as a PDF, but is there a reporting friendly option? Specifically, I would like to export agent performance for all of our social platforms/queues into an single excel sheet. (Screenshot included) Most of our reporting is tallied on excel, so being able to export the same data that I see on the aforementioned shared dashboard (or a custom widget I create) would be much more efficient use of my time, as currently we're using the numbers based on the dashboard manually. Thank you!JKYD2 years agoAdept147Views0likes1CommentAPI to download thread PDF
Is there an automated way to dump contents of a thread to PDF as you would by clicking on "Get Thread PDF" via the browser while on the thread? I'm being asked to download several threads for an important adhoc tasks. I could always resort to a jmeter script, but if there is an API available that would be better.160Views0likes5CommentsHow to use Khoros API to upload articles on the company's community site
Hi all, I am new to Khoros environment and I would like your help as to where and how to start. Fortinet has a community site where we upload manually certain articles and now we need to automate it by using the API. I am not sure where to start. I see API Permission, Authentication, etc.. How can use the API to upload an article (MS Word DOCX) under my company's community site? I am interested in uploading the articles under theKnowledge Basemenu. Thank you in advance for your help, Nikos240Views0likes5CommentsMultiple roles in a custom component using userHasrole
We have a custom component that checks for the user's assigned role before allowing them to see the feature. Currently it is set to check if the user has the 'Administrator' Role. We would like to have it make this feature available to anyone who has either 'Administrator' or 'Moderator' role. Is it possible to specify 2 roles in the following code or is this achieved in a different way? <#if user.registered && commonFuncs.userHasRole(user.id,'Administrator')> <#assign messageId = env.context.message.uniqueId /> <#assign threadId = page.context.thread.topicMessage.uniqueId /> <#assign showOption = true />Solvedelbranscomb2 years agoExecutive230Views0likes4CommentsDo all values for notification_style in Notification Feed actually exist?
Per the documentation:https://community.lithium.com/t5/Developer-Documentation/bd-p/dev-doc-portal?section=commv2&collection=notification_feeds There are a TON of values for notification_style in the Notification Feed API. They are:board, label, kudos, mentions, message, search, solutions, tag, tkb, topic, user, badge, rank, customEvent, moderationAction However, I cannot find any further documentation about some of these notification styles. In particular: message (is this a private message or something else?) search (is this a subscription search? if so it doesn't seem to be working) tag (??) user I'm also confused by this part of the documentation because notification_style is not returned in the API call, but rather subscription_type which has some of the values listed in notification_style. If you have any ideas around how these work I'd like to know more! Thanksttadej2 years agoAdvisor121Views1like1CommentUse Message body
Hi everyone! I'm currently trying to create a custom component, the goal is to display specific messages using a condition. I have the correct QUERY but I don´t know how to use/render the response. This is my code: <#assign apiVersion = "2.0" /> <#assign QUERY = "SELECT * FROM messages WHERE tags.text = 'F5 XC'" /> <#assign messageList = rest(apiVersion, "/search?q=" + QUERY?url).data.items /> <section> <h1 style="color: red;">Message List Component</h1> <#list messageList as messageItem> <h2 style="color: green;">${messageItem.subject}</h2> <p>${messageItem.body}</p> </#list> </section> This is the result: I'm getting in the body html tags as strings, so my question is how can I use the response or how can I render the message body properly?Solved258Views0likes6CommentsColons are sometimes escaped...?
A user reported this, and sure enough This happens both in & out of code blocks, and not necessarily just after javascript. I submitted a support ticket, but I'm posting here too because I found it very odd that this issue is scattered around the Khoros community as well (search "colon" and you'll see this error all over the place) Has anyone else experienced this and/or resolved it?keithkelly2 years agoLeader153Views1like6CommentsAPI extract messages after a specific time
Hi, all. I'm new. I need to build an api extract that will pull all messages that have been updated since a specific date/time. This includes any message added, updated, or deleted. It looks like LiQL will allow me to pull by the field last_edit, which I'm hoping will give me anything deleted, as well. The api also needs to pull back any replies and kudos added, updated, or deleted since that same specific date. I'm not finding anything in the LiQL documentation that would allow that. Or, did I miss something? Or, is there a better way to accomplish this? Thanks, all.246Views0likes7CommentsSet the visitor UI language automatically
Background: Our instance supports 8 different languages for the user interface. Our CDN/Reverse Proxy detects a user's location and can set a user's language based on that. It will, at a minimum, set a cookie. In the past, in the page.init, we would detect if the cookie language was different than the session language and and return a redirect while adding the "?profile.language=xx" parameter. Unfortunately, this caused significant delays for users in China because of the extra round trip. Currently our CDN/reverse proxy rewrites all URLs as they pass through, adding theprofile.languageparameter to *every* page load. This causes some odd side-effects, especially in the admin panel. It's also very challenging to debug when something is off. Does anyone know the recommended approach to making sure that a user (including anonymous users) gets the Khoros page UI in their translated language? Our CDN/reverse proxy does place a cookie that we can read or it could deliver a special header. I imagine we could read this in page.init, but I don't see anywhere in the docs where we can tell the session to switch languages. This all gives hints: This seems to give some suggestion:https://developer.khoros.com/khoroscommunitydevdocs/reference/requestlang Which leans to info about page.init. Which I think leads me to the http.session:https://developer.khoros.com/khoroscommunitydevdocs/reference/httpsession-1 But, what's the attribute that needs setting? Is it "lang"? If anyone has a list of session attributes, that could be helpful. Other related threads I have read: https://community.khoros.com/t5/Khoros-Community-Product/How-can-users-be-directed-to-a-localized-community-based-on/m-p/564967 https://community.khoros.com/t5/Khoros-Community-Product/Launching-a-new-language-language-functionality/m-p/610975 Thanks! Mark447Views2likes12CommentsQuery to check 'page views' of Seller Community pages
I am a developer and we use Khoros API (lsi-data/v1/data/export/community/squareinc.prod?) to get the lithium activites. I want to find 'page views' of Seller Community pages. Is it enough to check the action.key events = view for this ? Are there other types of pages (non Seller Community) that can be identified from the response fields ?rajasree2 years agoContributor68Views0likes1Commentintegrate geo-localisation to website
Does anyone know whether it is possible in the community to integrate geo-localisation when the website is loaded? Then the user's location should be recognised and a layer should be displayed. The content of the community is targeted for the German market. If someone lives in Switzerland, for example, the community will detect this and display the layer (pop-up).90Views0likes1CommentCustom Component Number of experts online
Hi, I would like to add a custom component on the home page that shows the number of experts (defined by ranks or roles) who are currently online and their avatars. Is this feasible with the API, and if so, does anyone have a suggestion how? Best regards Waldemarwaldemarhelm2 years agoDirector237Views0likes5CommentsAPI Help: Recent Topics (but only for subscribed boards?)
Our external beta users have requested a Recent Discussions module on the home page, but filtered to only discussions within their subscribed areas. I realize a My Subscriptions panel exists, but I'd like to use the message list within one of our fancypants custom components. SELECT yada, yoda FROM messages WHERE subscribed = 'I am'" /> Do any of you happen to know the API call(s) to do this?keithkelly2 years agoLeader119Views0likes2CommentsTIP: Replace "Community Settings" tab text with something sensible.
Kudos to luk for posting this hack in the comments section of the idea: Put the flipping Page Name in the HTML Title. Today I'll show you how to turn this tab title text taradiddle: into this: Yes, we can have nice things... so long as we make them ourselves. 🔥😅 Steps: Install the User Javascript & CSS Chrome extension Configure: URL pattern: *community.[your_domain].com/t5/bizapps* Configure: ✓ JavaScript, ✓ jQuery 3 Paste in the code below: function emojiFavIcon(emoji){ // create a new favicon element var favicon = document.createElement('canvas'); favicon.height = 64; favicon.width = 64; // draw the emoji on the canvas var ctx = favicon.getContext('2d'); ctx.font = '64px serif'; ctx.fillText(emoji, 0, 52); // create a new link element for the favicon var newFavicon = document.createElement('link'); newFavicon.rel = 'shortcut icon'; newFavicon.type = 'image/x-icon'; newFavicon.href = favicon.toDataURL('image/x-icon'); // replace the old favicon with the new one var oldFavicon = document.querySelector('link[rel="shortcut icon"]'); if (oldFavicon) { document.head.removeChild(oldFavicon); } document.head.appendChild(newFavicon); } if ( $('body').hasClass('BizAppsPage') ) { const parts = new Set(); $('.lia-tabs-active:not(:first)').each(function() { parts.add($(this).text().trim()); }); // for SCSS COMMON/xyz.scss $('.lia-studio-sass-editable .lia-tree-node-sass .lia-tree-action-root.lia-component-common-widget-link:has(+ul li.lia-list-tree-selected)').each(function() { let tex = $(this).text().trim(); if (tex != "sass"){ parts.add($(this).text().trim().substring(0, 4) + '/'); } }); // for SCSS common/XYZ.SCSS $('.lia-studio-sass-editable .lia-tree-action-root.lia-component-common-widget-link+ul li.lia-list-tree-selected').each(function() { parts.add($(this).text().trim()); }); let nTT = [...parts].join(' - '); // Studio pages get a gear by default. if (nTT.startsWith("Studio - ")) { emojiFavIcon(""); nTT = nTT.replace('Studio - ',''); // Style pages get a paint palette by default if (nTT.startsWith("Community Style")) { emojiFavIcon(""); nTT = nTT.replace('Community Style - ',''); // clean up the CSS path bits nTT = nTT.replace('CSS - ',''); nTT = nTT.replace('/ - ','/'); } if (nTT.startsWith("Text Editor")) { emojiFavIcon(""); nTT = nTT.replace('Text Editor - ',''); } } // Admin pages get a briefcase by default if (nTT.startsWith("Admin - ")) { emojiFavIcon(""); nTT = nTT.replace('Admin - ',''); nTT = nTT.replace('Display - ',''); // to avoid removing "Content - " from "Custom Content - "" if (nTT.startsWith("Content - ")) { nTT = nTT.replace('Content - ',''); } // red hair emoji reminds me of a Guess Who? character if (nTT.startsWith("Users - ")) { nTT = nTT.replace('Users - ',''); emojiFavIcon("️🦰"); } if (nTT.startsWith("Metrics")) { emojiFavIcon(""); nTT = nTT.replace('Metrics - ',''); } } $('title').text(nTT); } The above code: Replaces the fav-icon with 💼Default for Admin ⚙️Default for Studio 👨 Users 📈Metrics 📝Text Editor Replaces the tab text w/ helpful tab text. Look, I'm not gonna say it's optimized (it's not), but it seems safe enough and it's been working for me without any hiccups. Anecdotal win! Here's what my settings look like: Also, seeluk's comments here for a slightly different way that checks for LITHIUM.jQuery. For some reason didn't work for me but gave me the essence I needed to get rolling with the above code. If you make any share-worthy improvements, leave them in the comments below!57Views2likes0CommentsCustom Components "Most Kudos From" and "Most Kudos To"
Hi, I want to display in a custom component on a user's ViewProfilePage which three users gave him the most kudos, including avatar and number of kudos. And in a second component, I want to show, conversely, which three users this user gave the most kudos to. Can this be done using the API, and if so, how? Best regards Waldemarwaldemarhelm2 years agoDirector135Views0likes3CommentsOccasion context object
On an occasion page, is there any way to get context info about that page? I'm trying to build a custom event page and need to get the information about the event. It seems that the page and message objects don't work on occasion pages. I can't even find a way to get the numeric id of the message. If i could get that, I could use liql to retrieve the info about the event. Although, that would seem a little redundant. env.context.message.id returns an incorrect id, and page.context.message.id just throws and error.117Views0likes3Commentshttp.client.request post() issue
Hi, I'm trying to connect to graphql and trying to do the authorization first. However, I keep on getting error like "html found in response" and if I try to get the content of such a response, getting "302 found". This is what I'm using: <#assign response = http.client.request(protocol, host, url).body("{ 'grant_type':'refresh_token', 'refresh_token':'${upAuth.refreshToken}', 'client_id':'${upAuth.clientId}', 'client_secret':'${upAuth.clientSecret}' }", "application/x-www-form-urlencoded").post()> refresh_token is value from the cookie --oauth2v2_bunch_of_characters_here that was set up by a javascript function. Tried adding parameters, headers, change body content type to application/json, basically anything that I can come up with, but none seem to work. Domain is whitelisted as well. I'm able to do everything with jquery and ajax, just not with the http.client.request with the same parameters. Would opt out doing it that way, but need to protect client id and client secret values. What am I doing wrong here? Any help is appreciated.197Views0likes3CommentsOOB Code for theme-lib components
I'd like to reorganize some of the html in the "theme-lib.tiled-node-navigation" component from the Hermes theme. I'm using a custom theme that is based on the Hermes theme. From what I've gathered, the strategy is to create a new component of the same name and then edit the code. Where do I find thetheme-lib.tiled-node-navigation and other theme-lib component's code? Thanks119Views0likes1CommentIdeas for "Propose Externaliation" Button (on Topics)
We have 2 parallel areas of our community: External & Internal External (customers will start new topics here by default) Internal (employees start new topics here by default) SuchNSuch SuchNSuch WhizBang WhizBang FooBar FooBar We want to give our users the ability (a button?) to identify Internal topics that are eligible to be bumped to the External areas. Train of thought: A custom button When clicked, adds "Tag" (as in Khoros Care tag) "ProposeExternal" In Care, we'd have a column of posts Care-tagged ProposeExternal Is this feasible? Is it the most ideal way of doing it? If so, I have more questions, like, Is it possible to issue a "Care tag"on button click in Community? (where the tag allows filtering in Care but isn't shown in Community?) What if a conversation is already closed in Care? Will assigning a new Care tag reopen that conversation? I feel like I'm ahead of myself here. How would you give users this capability?123Views1like3CommentsCan You Get the Move History of a Post With the API?
Some of our moderators would like an easy way to see who moved a post (sometimes they have questions about why a post was removed for example). I can find that info with the audit log but was hoping I could put together something more user friendly for the moderators. I added something to show who marked a solution for example. This is only visible to moderators and admins. I was hoping to do something similar, but I can't find a way to get that kind of info about a post. Anything I'm missing or is this just not possible? Thanks.122Views2likes2CommentsMass User Data export
I am looking for a solution to periodically mass export user data into our Snowflake data warehouse. Ideally we would like to replicate something similar to the Community Analytics member report in our warehouse so we can join our own application's user data. I've inquired via the customer portal, and the support team has provided some links to documentation related to user data: API v1 API v2 LiQL It looks like the data is available via the APIs mentioned in the documentation, but they do not seem to be designed for periodic mass exports (e.g. rate limits) as opposed to theBulk Export API. Our concern is that any solution that requires using the APIs as suggested in the documentation will be rather complex given the nature of the data, inevitably fail, and require significant maintenance. I imagine other Khoros customers have similar needs and wondering how they solved this issue. Thank you! cc: @JasonG elbranscombsrinirad2 years agoContributor160Views0likes2CommentsWould you like to see developer-centric meetups?
Hello! I'm looking for some input/feedback on the idea of virtual, developer-centric meetups around Khoros platform APIs. The goal would be to extend our Khoros Developer community experience and share ideas and solutions past what we can share in a forum. Without committing myself to anything yet, I'd like to get a sense of interest in such events and what these events might look like to you. This would be a simple proof-of-concept, virtual meetup to start. I can imagine these meetups consisting of things like: Discussions around a particular feature API (e.g., Community Bulk Data API, The Care Automation Framework, the Marketing Salesforce integration) User-submitted topics Meet and Greet with Khoros Engineers and Services gurus Khoros APIs for Community Managers (how you're using the API and what the API can do for you) Why am I asking? It's been a while since Khoros included a Developer track at Engage - not since Lithium's legacy LiNC user conference. Personally, I miss it. We've also not had any official Developer Meetup program. I had an opportunity to moderate a Networking session during Khoros Engage this year. While the session was directed toward Community Managers, I was interested to see how much of the discussion drifted to Khoros APIs and what API integrations could do to extend and enhance the benefits of Khoros applications. I liked the relaxed format of the discussion, the networking, and the examples/solutions that surfaced during the session. I think the participants enjoyed the experience as well, and I'd like to see that momentum and goodwill continue. Cheers, and thanks! (I'll be posting this in a few key Altas forums, so you might see this pop up a few times in notifications.)SuzieH2 years agoKhoros Alumni (Retired)649Views5likes4CommentsHas anyone built Icon-Based Reactions?? (rather than Kudos)
A user brought up an idea I think is great. To have icon-based responses (similar to Facebook & Teams) like heart, laugh, etc. In an internal board, somebody gave a snarky (but good-natured) reply. We feel that's healthy and adds some spice to the community. But it'd be sweet to laugh at posts like that, rather than simply liking. Low importance!143Views3likes3CommentsImpossible to list User Roles from single "from users" API call?
I'm trying to emulate the User Report that lists users, ids, etc & roles like so: SELECT login, id, topics.count(*), messages.count(*) FROM users including "roles" just gives the implicit join query. Is there any way to also grab the individual roles of the users from 1 API v2 query?138Views0likes3CommentsHow to pull custom content into emails?
Hi, I saw in other threads that this is a possibility and by looking at methods and properties that go with emails, it should be, but I cannot seem to make it work. I tried using this${community.settings.name.get("customcontent.3_text")and probably over 100 different variations, none worked. How to do this? p.s. I hope custom content would render properly by clicking "Send email to self" because that's what I did.Solveddjondinium2 years agoExpert151Views0likes3Commentsset default searchGranularity
Hi all, I was looking to set the search granularity default option to search only in TKB when the knowledge base was selected. I came up with this code and added this to a custom component. The custom component was added to the category_page. <#-- Sets the default search for knowledge center and TKB --> <#-- the coreNode.id will differ in your env. This is the id of nodes you wish to add this code to --> <#if coreNode.id == "<your node id>"> <@liaAddScript> ; (function ($) { $("#searchGranularity").val("<value you want to select>|category").change(); })(LITHIUM.jQuery); </@liaAddScript> </#if> <#-- the coreNode.id will differ in your env. This is the id of the nodes you wish to add this code to --> <#if coreNode.id == "<your node id>"> <@liaAddScript> ; (function ($) { $("#searchGranularity").val("<value you want to select>|tkb").change(); })(LITHIUM.jQuery); </@liaAddScript> </#if> Feel free to add comments and improvemetns. If you like this, kudos are alwayse nice!66Views2likes0CommentsFollowing Specific Users - Anyone built a customization (or is this available in Aurora)?
We launched our External Beta, and one of our first questions was "Can we follow specific users?" My first reaction: the "Subscribe to a Person" feature (on many other communities) drives contribution to a new level. When a person has a following, they contribute more quality stuff more often. A) Will this be available in Aurora? B) Has anyone built this as a customization?keithkelly2 years agoLeader130Views1like3CommentsDaily Digest email: Can I change the time it's sent?
Trying to customize the Daily Digest email template but since it only goes out once a day, it's hard to cycle testing and improvements on the live e-mail. Can I change the time it goes out, the frequency, or somehow trigger it to go out by command?Inactive User2 years ago379Views2likes10CommentsCustom message-let component
Hi everyone! We want to have a message-list component that shows community-level articles at group hub pages. So our idea is to connect to some API and grab those articles and render them using a custom component. At the moment, we didn't find a correct API to do that and we can't change the scope of message-list built in component as well. Do someone have an idea of how to achieve this?83Views0likes1CommentGeneral problem in understanding API data
Hello wise people, I really hope someone can help me understanding what the data is telling me ;). We did an API call and received a lot of data. I'm now trying to understand the meaning of what is in the sheet. Whenever I think I have understood it, the next question appears. But honestly I'm not a data specialist. Ok here is one example: What I have understood: In the board (ID 20) is a thread (ID 153737) which received after 10.977.408 seconds) either a first reply or a first solution. Actually in the case it is a reply (not frist one) which has been marked as a solution. When this has happend it's not clear. So it could be the day after the reply has been posted ot weeks, right? I have verified it and the reply has been posted more than 4 month later. Thread started Nov. 2021 and the reply has been posted in march 2022. But why does that very old data appears now in that data sheet? Second question: What is counted here? Posting_Count_Community (column AH): Does that refer to all posts within the community within a specific timeframe? If so, that would mean that we have received 779 posts/replies within six hours. That can't be true. The same with posts for the board with the ID 16. What are the numbers in column AJ standing for? Please open my eyes ;). Regards Christoph110Views0likes1Commentrequest.headers.referrer_host in Bulk API
Hi, in many cases, I found some visits where the first step (sorted by event.time.ms)has arequest.headers.referrer_host= my own community hostname. I would expect to find 'null' for direct traffic, or another hostname (google or any referrer site), but I don"t understand how the visit source can be by own site. 1 ) How is it possible ? 2) I noticed that in Community Analytics, in the referrers section, my hostname is not listed in the Referral Domain, although it appears in Bulk API ==> why it is filtered out ? thanks57Views0likes0CommentsAdd a copy button to a code box
Hi all, it is easy enough to add a code box to a message, article or blog post. This will format the code and apply syntax highlighting. To improve the customer experience, we are looking for a way to add a copy button to any code box we insert into a message, article or blog. Clicking this button will add all text inside the code box to the clipboard. Does anybody have an idea how to add this func. to the codeboxes in Khoros?80Views1like0CommentsHow to create API accessible user account with Community
I am new to Khoros platform and want to crawl data from community. For that I did signup process with one lithium community and got my username and password. I am trying to authenticate myself with via retrieve-the-session-keybut api response says curl --location --request \ POST 'https://community.alteryx.com/restapi/vc/authentication/sessions/login' \ --form 'user.login=dshrm' \ --form 'user.password=****' <response status="error"> <error code="302"> <message> User authentication failed. </message> </error> </response> I am trying to get user details via LiQl basic query `select * from users limit 1` What exactly process do I need to follow to authenticate myself ?515Views0likes11CommentsSh** Filter: Can I remove words from banned words list?
A user is reporting an error that I find quite humorous. Is there a way to disable which words are filtered here? With this B2B community, we don't see bad-word-usernames being a problem.Solvedkeithkelly2 years agoLeader157Views2likes4CommentsHow to use a Cursor in LiQL
For those of you struggling to find out information about how to use Cursors to return large datasets from Khoros, I offer the following example. This is a Python function, but concept will work in other functional languages. Idea here is to recursively call the function from within the same function until one is on the last "page" and then it exits the loop and returns the aggregated results. Let me know if this is helpful! def get_kdata(q="SELECT id, login, email, rank.name FROM users \ WHERE roles.name = 'Moderator'",c=None, lmt=50): #query string, cursor, limit nq= q +" LIMIT "+ str(lmt) if(c): nq = nq +" CURSOR '" + c +"'" resp = khoros.query(nq) if(resp["status"]=="success"): itms = resp['data']['items'] size = int(resp['data']['size']) while(size == lmt): print("page of " + str(lmt) + "...") # ... and counting try: #recurse with next cursor c = resp['data']['next_cursor'] kd = get_kdata(q,c,lmt) except: #no remainder so no next_cursor in response break [itms.append(i) for i in kd['items']] c = kd['cursor'] return ({'items': itms, 'cursor': c}) return({'items': itms, 'cursor': c}) return Falsedfeasey2 years agoMentor155Views0likes2CommentsUpdate User API - Cloudflare Response Received
Hello. I am trying to use the update user API (https://developer.khoros.com/khoroscommunitydevdocs/reference/update-a-user) and am receiving a Cloudflare "Sorry, you have been blocked" response. I am using Postman to send a PUT request to my community domain as follows: https://community_domain/api/2.0/users/user_id Of course substituting community_domain and user_id with valid values. I am passing the session key in the header viali-api-session-key andapplication/json via Content-Type. The user that I retrieved the session key for is defined as an admin and has access to all. The body of the request is simple: { "data":{ "biography":"Iamtheapiuser." } } The response status from the PUT is 403 with the response body being a Cloudflare "Attention Required" page. I have tried the request from multiple IP addresses. Ideas? Thanks in advance.dhickman132 years agoContributor60Views0likes0CommentsInjecting a Js code after page load
How can I inject the JS code below after page is loaded? The page is https://community.booking.com/* The aim is addingaid=2046495to all links out tobooking.com. I couldn't find the right place as you can see in the screenshot below. $("a").filter(function() { return $(this).attr('href').match(/^https?:\/\/([^/]*\.)?booking\.com(\/.*|$)/i); }).each(function() { var href = $(this).attr('href'); if (href) { var url = new URL(href); url.searchParams.set("aid", "2046495"); $(this).attr('href', url.href); } });Solvedgurhangulmez2 years agoContributor112Views0likes1Commentbatch processing not working in my custom component.
I added batch processing to custom components on a blog overview page. Ik used the code i found here: https://community.khoros.com/t5/Developer-Discussion/batch-processing-checkbox-in-custom-components/m-p/278831 The checkboxes show correctly when the batch processing is enabled. When i try to delete multiple items and haven't selected any checkboxes I get an error message saying i didn't select any items. When I select the checkbox(es) and klik delete the selected items, no error displays but the delete function (or any other function) doesn't get triggered. But it does recognize the fact that i did or did not select the checkbox. Is there something i'm missing that i should add to the page?Solved173Views0likes4CommentsQuerying registration and visit dates and from Community API v2
Hi there, I wish to query users' registration dates on our platformhttps://www.localguidesconnect.com.I'm assuming I want the join_date specified here. I've got a couple of questions: It says we need to specify the correct node.id, but I am unsure what to provide for this value. I queried the list of available node.ids and tried a few, such ascommunity:cmxpv89733, with no luck. Can we fetch the join_date for multiple users at time? It says the id must also be specified but this implies the join_date can only be fetched for one user at a time. Note I can query the id, sso_id andlast_visit_time for multiple users without issue. But a couple of questions regarding visit times I couldn't immediately see answers to in the API spec: Is it possible to query previous visit times? For instance, the last five visit times. Is it possible to query an aggregate of total visit times? Thanks!Solvedabracegirdle2 years agoContributor94Views0likes1CommentSession Timeout Behavior - Possible to get new session automatically?
Problem: When a user's Khoros session times out & they click a link (say, in from email that takes them to a discussion), they get a blank page. Hack: Click the "Person" icon up top-right and you'll get a new session. BUT: When a user is completely logged out (Profile Icon -> Logout), & they click a link to a discussion, they are automatically logged in via SSO and taken to that link. QUESTION: Can the timeout behavior also automatically get a new session & take them to the right place?keithkelly2 years agoLeader91Views0likes1Comment