SSO & Okta Integrations
Hey guys- I'm having some issues getting answers from Khoros support so i'm hoping you might be able to help. Does anyone have any documentation or information that they can share on SSO integrations? We are utilizing Okta and want to push in profile details to Khoros. For example, in Okta we have if a user is a partner, customer or employee. We have those same roles in Khoros. We'd like to automate this so when a user logs into Khoros they are affiliated with a role- partner, customer and employee. Currently right now only users that have an Okta ID can access community. Thanks for the insights- also happy to connect with other users on a phone call if you're able/willing to!akloepfer3 years agoExpert150Views1like3CommentsDuplicated document_id/event_id in the bulk data extraction
Hi Everyone, I was working with bulk data extraction and as per documentation, my assumption was document_id (event_id) is unique but our 3-day sample extraction had multiple ids(not rows) that were duplicated. All records(rows) per repeated id were created at the same time and had same action_type (messages.delete in my case) but different message_ids. Is anyone aware of this issue or know what might be causing such a critical issue?108Views0likes1CommentSlide out nav menu
Does anyone know where you can access the styling for the slide out nav menu? It was already built into the community and it looks like the break point is set to 991px and I need to up that to 1180px so it doesn't look squished.Solvedtavasjn243 years agoGuide132Views0likes3CommentsHow to update an user role to a user through an API call
Tried updating the user role to an user by using an API call put: {{khoros_base_uri}}/api/2.0/users/295 BODy: "data": { "type": "user", "roles_to_add": ["t:'ECMS 2'"] }} responce: 200 success Now i used a Get call to check the role is updated in the user profile. Get: {{khoros_base_uri}}/api/2.0/search?q=SELECT * FROM roles WHERE users.id = '295' Response : 200 success But the role is not added to the user data in get call please let me know Thanks surendra123Views0likes1CommentUser's online vs New users
There's a component called "Online Users" however that component lives both online users as well as new users. I'd like to have those two separated into distinct categories. One section for online users, and one section for new users. Are there API calls I can use to retrieve that information?Solved265Views0likes4CommentsInconsistent Documentation Search API LiQL Combination v One Or More
Hi, I may be missing something here, but the documentation seems to say two different things about how combination and one_or_more search constraints work in LiQL. In theSearch API Overviewthe table that maps v1 API parameters to their LiQL equivalents says that: Combine terms using a string of keywords. Note that this syntax returns results when two or more o the terms appear. WHERE subject MATCHES 'apples bananas cherries' However, the documentation atCombinatorial searches with LiQLat Query for a combination of termssays that: SELECT id, subject FROM messages WHERE subject MATCHES('apples','bananas' 'cherries') A query using this format will not return matches containing only one of the search terms when three or more terms are included in the search string. And below in Query for one or more termsthat states : SELECT id, subject FROM messages WHERE subject MATCHES 'apples bananas cherries' The query in the example above returns the ID and subject of messages that include the following combinations of text in the subject field: apples bananas cherries apples bananas apples cherries bananas cherries apples bananas cherries Unless am I misunderstanding or missing something, the first query I posted and the third query I posted should have the same result, but according to the documentation have two different results. Could someone help clarify which is the actual result?Solved290Views2likes7CommentsDeveloper account
I am new to the Khoros community. I was asked by our engineering team to figure out what options are available for third party developers to have a test/dev account. Obviously we don't want to build against live customer instances. I promise I've spent over 12 minutes navigating forums, docs, etc. and have concluded I'm missing something. We are looking specifically at Khoros Communities Thanks!Solvedaverstraete3 years agoContributor253Views1like5CommentsFarewell Dev Community. It's been a wonderful journey!
Tomorrow (March 31) will be my last day at Khoros as Principal Content Designer and Developer Experience Program Manager. I'll be just shy of my 9th anniversary at the company. I'm taking some time to recharge and relax. Before I go, I want to give a big thank you to the entire Developer Community. Hunting down answers to questions in the Dev Discussion Forum helped me learn about Khoros products at a deeper level and make lasting cross-functional team connections. Hearing about your use cases, and frankly, feeling your pain and frustration as you muddled through development issues informed how the dev docs evolved. When I came to Khoros (then Lithium) in 2013, Developer Documentation consisted of the Community API v1, FreeMarker guides, and a handful of knowledge base articles. I'm proud to have overseen the creation of developer.khoros.com and watch the developer documentation grow from Community API v1, FreeMarker, and a handful of knowledge base articles to include the Care, Automation Framework, Brand Messenger, Community v2, Marketing, and Flow APIs along with multiple SDKs and developer tools. RyanPijoined the team two years ago andJavidHjoined a year later. I'm leaving Dev Docs in good hands and I know that the Dev Experience will continue to mature. Thank you all. Suzie Hopkins (SuzieH)SuzieH3 years agoKhoros Alumni (Retired)482Views22likes11CommentsCustom profile attributes tracking
We're storing some information on custom profile attributes that are located in the user's settings somewhere - REST CALL -/users/id/some_user_id_here/settings/name/custom_profile.course_1. We need to be able to make those custom rest calls from every user and also see all users that accessed the page and check their custom attributes.Do you have suggestions on how this might work? We want to have this information in a DW.244Views2likes5CommentsHTTP/1.1 401 Unauthorized when calling Analytics Reports API
Hi , I'm trying to call a simple API call to one for the Analytics Reports API. My problem Is that I keep HTTP/1.1 401 Unauthorized and the actual message is : {"status":"FAIL","request":null,"message":null,"result":"Lithium SMM Analytics: Your session could not be authenticated. Authentication Failed."} When I post the same URL on the browser after authentication I get a Pass status and the URL works so I guess the user is fine. Below Is my code. : import requests import logging import http.client as http_client from requests.auth import HTTPBasicAuth url = "https://analytics-api-emea.app.lithium.com/api/public/reports/report/marketing/raw_brand_posts?companyKey=MYCOMPANYID" payload = {"reportFormat": "json"} headers = { "Accept": "application/json", "Content-Type": "application/json" } http_client.HTTPConnection.debuglevel = 1 # You must initialize logging, otherwise you'll not see debug output. logging.basicConfig() logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True response = requests.request("POST", url, json=payload, headers=headers,auth = ('MYUSER', 'MYPASS')) print(response.text) I'm new to these API calls and I'm not sure If I'm doing something wrong. I hope that you call tell if I'm doing something wrongSolvedmousaalsulaimi3 years agoContributor132Views0likes2CommentsGet A Topic and ALL Replies
Is there a way to get a Topic and all its replies not just the direct 1st level replies. For example if I do this query with a replies subquery I only get replies to the topic, not replies to replies. I want the entire thread. [ { "messages":{ "fields":[ "replies" ], "constraints":[ { "id":"370595" } ], "subQueries":{ "replies":{ "fields":[ "subject", "body" ] } } } } ] ThanksSolvedAkenefick3 years agoGenius175Views0likes6CommentsEvents Calendar Customization
Hi, We are working to implement Events in our community. I am looking to learn about any fun customizations that you have done to the Events Calendar. I was looking into adding filters to the calendar component but haven't been able to find any resources. Thank you for any insights you can share!57Views0likes0CommentsCan't customize component
I have a custom component that is being used but I can't find it in the component folder to try and make changes to it. Can anyone point me in the right direction to finding custom components. FYI I can only see like 5 components in the components section where as I see a ton of custom component options in the the pages section.tavasjn243 years agoGuide692Views0likes20CommentsSearch Page Custom Pagination
Is it possible to usecommon.widget.pager andpaging.pageableItem.build() on the search page? If so how would you go about getting the total items forsetTotalItems(total_items)? With a little experimenting I found the search page caps results at 1000 and rounds the displayed number of results to the nearest thousand, so maybe this just isn't possible for the search page. Has anyone else had any success customizing the search page pagination? Thanks68Views0likes0CommentsHow to grant "allow_creation_of_external_badges" permission?
Hello! We are using an API call to update user roles; these user roles also happen to grant badges. However, our API user doesn't seem to have the proper permission - we see error "User X does not have the following permission(): [allow_creation_of_external_badges]" (see screenshot). It seems like the permission to grant the API user is "Create, edit, publish, and delete badges" - and the user has that permission (screenshot). Any other ideas of what permission our API user needs? (they also have "Manage roles, user bans, and abuse notifications in admin and user profiles" and "Manage roles in user profiles") Thanks!!Solved145Views1like2CommentsCannot run li serve-sass command when using Hermes as a parent skin
Has anyone utilizing the Hermes theme as a parent skin been able to successfully leverage theli serve-sass command via the SDK? I've used the command heavily with our previous skin but with our new skin (which leverages Hermes as a parent skin) we get the following error: (node:5279) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): Error: ENOENT: no such file or directory, stat '/path/to/<sdk_project_name>/coreplugin/other/res/skins/theme_hermes'Solved2KViews0likes5CommentsIs It Possible To Export To CSV From Pages Other Than Search
For example, the idea exchange page can be filtered by idea status which can't be done on the search page. Is there any way to set up a CSV download to be sent as a private message with a custom component similar to what is available on the search page? I think the answer is probably no, but thought I would ask. ThanksSolvedAkenefick3 years agoGenius91Views0likes1Commentlist of all users subscribed to all board
I am using the below api to find the users permitted to a particular board: https://[COMMUNITY DOMAIN]/restapi/vc/boards/id/<board ID>/subscribers/email/board But the problem with above api and my use case is that I want to view the list of all the boards and its permitted users in one request. Whereas, the above api is only allowing to look for only a single board at a time. Is there a way in which I can get the list of all the boards in a community and it's subscribed users in a single hit?159Views0likes1CommentMessage format via API
What are the options to format a message via API? We use a method described herehttps://developer.khoros.com/khoroscommunitydevdocs/reference/create-a-message but the message is sent as a string via json thus lacks formatting for a nice human reading. Are there any other methods to have nicely formatted message?imamaja3 years agoContributor90Views0likes1CommentLithiumVisitor decryption & bulk API visit id access
Hi all, I would greatly appreciate any insight into a few questions I have surrounding both visitor cookies and a property exposed via the bulk data API: How can I decrypt the LithiumVisitor cookie in order to access the underlying “visitor.id” value? I'm looking to gather some metrics on un-authenticated users. My understanding withvisit.id (available via bulk data API) is getting generated internally, do I have access to it anywhere on the client side? Is it only generated for authenticated users? Thanks406Views2likes9Commentsmake a component appear only when the current environment is not-closed
Hi all, On our Community we have closed sections where we test new products together with select users. We want to create a friendly warning when new testers are about to post outside of closed environments.This way we want to prevent leakage of sensitive information about not released products. I need to build notifications for users with a specific role (product testers) when they are about to make a new topic - or placing a comment - outside of a closed forum. Here I have found Freemarker stuff to show a components for specific user roles:https://community.khoros.com/t5/Components-endpoints-and-the/Display-components-based-on-role/ta-p/42992 I did search for info on how to show components based on detection closed, hidden or open environments, but didnt find what I was looking for, so: How can I make a component appear only when the current environment is not closed (and the user has a specific user role)? With that figured it I can look to add it to the editor section on a topic, and add it to the new message page. Tips are welcome. PS. I would really love to have parentnode and visibility (open, hidden, closed) added to the datalayerLITHIUM.CommunityJsonObject.Page - and userrole added toLITHIUM.CommunityJsonObject.User.SolvedHoekstra_VFZ3 years agoAdvisor798Views0likes6CommentsHow to retrieve node quilt template, not all settings return proper values.
During the page initialization script I'd like to be able to read the grouphub quilt configured for the node I'm using coreNode.settings.name.get("form.ApplyQuilt.field.quilt.grouphubpage", "my-default-value") and it always returns my-default-value while coreNode.settings.name.get("layout.announcements", "my-default-value") returns as expected configured value. Any ideas how I can access said setting?Solved150Views0likes3CommentsChange sign in form HTML structure.
Hi Folks, I am updating the styling of our log in page through Khoros Studio and have managed to make most of the changes I need, however I'm looking for guidance on how to approach a couple of things: How would I go about changing the tile of the page? I'd like to get the "remember me" checkbox and "Forgot username/password" link on the same line, I know I could hack in some CSS to do this but wanted to know the correct approach for this? I'm guessing some for of over-ride or custom element so I can get the html structure right? I'm new to Khoros and trying to work towards Khoros best practices as much as possible. I have attached screenshots of our current and desired states.Solved161Views0likes3CommentsHow to authenticate rest api calls using technical users for server to server use (SSO enabled)?
Hello, Been reading the docs and for a community with SSO enabled we've seen 3 means of achieving rest api access. OAuth 2.0 authorization grant flow To make afully-automated server-to-server API call, do not use OAuth; authenticate with a session key or SSO token instead. So we cannot use `Api Apps` in our server to server needs LithiumSSO token "Place the encryption key on the user system server". We cannot access that as the IDP we are using is shared across many other instances, getting hold of a private key like that doesn't sound right to me. We do not have access to the private key, maybe I read that wrong? As perAbout SSO "Khoros issues the LithiumSSO libraries (Java, .NET, or PHP) and a unique encryption key for each deployment." Where can we find the encryption key, as Admin > System > SSO has no such thing? Does the client only work with your SSO provider or with any? I'm unsure if our community works directly with our IDP or goes through lithium in the first place as there is no information regarding this in the admin options. Where can we see the source code for provided jars? Session key Works for users not having a SSO ID with basic auth. From what I can tell it seems that we can only use the Session key approach, is this correct?Solved252Views1like3CommentsWhere to store 3rd party api secrets for use in freemarker?
We need to make a 3rd party API call to retrieve some content to display, and from the docs we cannot tell where we should store these credentials. One post suggests adding them as a variable inside a macro, but that doesn't seem secure. Another post shows us how to read admin config options dynamically(Getting settings) but it did not show how to add custom entries. Is this even possible? and if so how? Any advice on this? Maybe we are going about it the wrong way. Thank youSolved124Views0likes3CommentsWhat permissions are needed for an API call that adds a role which has name spaces for another user
We need to update the user roles (a role which happens to also imply a badge) eg: ECMS 1,ECMS 2 which has name spaces to an user. we tried to do that as below but its showing error message. PUT : http://community.lithium.com/community-name/api/2.0/users/2 BODY: "data": { "type": "user", "roles_to_add": ["t:ECMS 2"] } } HEADERS: session key Response: 403 forbidden { "status": "error", "message": "Permission Denied", "data": { "type": "error_data", "code": 414, "developer_message": "UserRef[id=294] does not have access to RequiredPermissions[(allow_creation_of_external_badges)] on CommunityByDisplayIdRef[nodeType=StandardNodeType[nodeType=lithium.coreapi.community.ICommunity,entityTypeKey=EntityTypeKey[community],entityTypeUid=4,hashCode=1653728538],displayId=yuzje69629]", "more_info": "" }, "metadata": {} } Thanks surendra164Views0likes2CommentsStudio Development
Hey everyone, I am new to the Khoros and wondering how others manage different changes. For instance if we are going to make a couple changes but only want to push some to production how do you all handle that. From what I can tell is any changes made in stage have to be all pushed at the same time instead of pushing just some new features and leaving some changes out. Any help is appreciated. Thanks, Tavas107Views0likes2CommentsHow get expertise in Khoros Community
Hi All, I am new to Khoros, as a developer, I would like to have expertise in Khoros. So looking for the below points. 1. How to learn the Khoros to become an expert (ways to learn). 2. Where to get the Studio IDK for Windows. 3. What are all the technologies that Khoros used and what are the pre-requisites that a new developer required. Please feel free to add a few more points if I miss anything. Thanks, Nanda K. M.250Views0likes4CommentsCreate A Kudo With API
I would like to give a kudo to a message from a specified user. I don't think API V1 will work./restapi/vc/messages/id/[id]/kudos/give doesn't allow me to specify a user. I tried to create a kudo with an API v2 Post call as shown here The Community API v2 request (khoros.com)(see below) but received an error message that the resource wasn't found. Am I doing something wrong or is this not supported for kudos? If not is there a way to do what I want with API v1? Thanks. { "data": { "type": "kudo", "user": { "id": "378002" }, "message": { "id": "567232" } } }Akenefick3 years agoGenius222Views0likes5CommentsRedirecting based on email domain
Hi. We are trying to set up redirects for moved content. I'd like to be able to redirect our internal folks (employees and partners) to one place and all others to another. Employees and partners can be identified by their email domain. "All others" are users with any other domain. Is that possible in Khoros?61Views0likes0CommentsUnable to publish the page in Development Server
I'm trying to publish some changes in Development Server but I'm not able to do that. I get the below error message when I tried publishing: Please correct the errors and try again. Skin didn't compile because there is a SASS compilation error: hpebsplitpeak/saas/skin.scss:16: file to import not found or unreadable: vendor/default-variables Current dir: hpebsplitspeak/saas Below is the message I see when I check Versions Tab: Studio publishing is disabled because no maintenance window information can be retrieved from the prod community. Please try again in a little while and contact your administrator if you need to publish right away or if the problem persists for longer than a few hours. ************************* Can you please guide me on both the error messages?dpradeep3 years agoContributor104Views0likes2CommentsMove event from one board to another board in grouphub
Hi, I am looking to move the event from one board to another board in separate group hubs using API. We have event create, update and delete APIs available as per this(https://developer.khoros.com/khoroscommunitydevdocs/reference/messages-1#delete-occasion-rsvp) documentation. But I did not get the event move API in documentation. Does anyone know the event move API? Thank you, Sai.Solvedsaikumarn3 years agoAdvisor474Views1like6CommentsDifferent CSS for Unread Topics
I noticed when we switched to responsive that we no longer have any indication of which topics have unread messages. We had users that would visit the All Topics page and then look to see which ones they hadn't read yet. I'm looking in the CSS and don't see any indicator for unread posts (except for moderators) ... has anyone else tracked this down?Solvedsherrie3 years agoLeader283Views0likes4CommentsReST API call to Edit Message Author
I am working on changing the status of Ideas and adding the comments via ReST API call. I am able to achieve this using the details provided byAkenefick (Discussion link:https://community.khoros.com/t5/Developer-Discussion/Idea-Exchange-Status-and-Comment-Update-via-ReST-API/m-p/670166#M18255). Now, I would like to change the author of the last comment from my service account to a community user, so any reply to that comment can be notified to that user. I did try the call as below mentioned in few discussions, but this will not update the author but only updates the last_edit_author. And any reply to this comment would not get the user [koushikniranjan] any notifications. Has anyone tried this and worked for them? Or any better approach? {{API_PATH}}/restapi/vc/messages/id/131270/edit?message.author=login/koushikniranjanSolved288Views0likes4CommentsIdentify users landing in the Community coming from a specific page
Hello!! I would like to identify userslanding in the Community that aresigned in with their account from another website (that is ours too). Does anyone have some idea if this is possible / how to do it? These users are going to see a message if they are coming from this other website.165Views0likes4CommentsSignposting CSS/HTML Change
Hello, I would like to add a close button to the signposting component. Because the signposting currently with the css code khoros gave keeps hovering the posts sometimes and we would want to give the chance to have a close button. Can anyone help me ?106Views0likes1CommentMax length of "string" fields returned by the API
Hello ya'll! A vendor I'm working with is asking for the max length of various user fields returned by the API. For example, the view_href field or the email field. I can't find documentation on the max length of these fields; does anyone happen to know? I'll also ask support. Thanks!140Views0likes3CommentsComponents Available for TKB Card Article
Is there a list somewhere of components available to use in the TKB Article Card that is used as a parameter for the TKB Article List? I see these are there any others? message-view.widget.subject message-view.widget.teaser helpfulness-display ratings.widget.internal-rating-display ThanksSolvedAkenefick3 years agoGenius177Views0likes3CommentsBatch Multiple queries Help
Hi Team, I have the below queries, i want to run these 2 multiple calls to Community API v2 in a single request using Batch Multiple requests. Kindly help me with how to combine test 2 queries in Batchrequests SELECT * FROM floated_messages WHERE message.board.id = 'VxRail' and scope = 'global' (https://www.dell.com/community/s/api/2.0/search?q=SELECT%20*%20FROM%20floated_messages%20WHERE%20message.board.id%20=%20%27VxRail%27%20and%20scope%20=%20%27global%27) SELECT * FROM messages WHERE board.id = 'vxrail' and id='8122626' (https://www.dell.com/community/s/api/2.0/search?q=SELECT%20*%20FROM%20messages%20WHERE%20board.id%20=%20%27vxrail%27%20and%20id=%278122626%27)snaveen3 years agoGuide155Views0likes3Comments