Change default for Insert Link target
Hi, Currently, in the TinyMCE text editor insert link window, the default target option is set to 'Open in current page'. Is there a way to change the default target to 'Open in new page'? Thanks, Srujana.srujanayeruvaka8 years agoChampion140Views1like2CommentsCompression & decompression in custom components
Hi Lithium Developers, Forcoding a custom component, are there Freemarker context object functions available which can (1) lossless-ly compress lots of text / data and (2) decompress later? I see utils.base64.encode() and .decode() are available, but as far as I can tell that encode function doesn't compress data. I see utils.digest.md5Hex() and other related functions are available but I'm guessing those are for hashing only and we wouldn't be able to decode later to get all of the original data. Have any Lithium customers ever had Lithium Professional Services expose custom compression and decompression functions for them? Thank you, Davesullysnack8 years agoKhoros Alumni (Retired)87Views0likes0CommentsCreate private groups via API
Hi All, Has anyone developed a solution to create private groups on the community via API? Client is a travel agency. The requirement here is to create private groups automatically for dedicated trips, according to reservations and give access only to those users who reserved to the trip. It’s the only missing functionality, everything else (invite/add user to a group, etc.) is available: https://community.lithium.com/t5/Developer-Documentation/bd-p/dev-doc-portal?section=commv1&branch=Group Thanks, BalintSolvedBalintM8 years agoKhoros Alumni (Retired)146Views0likes2CommentsSome error occurred in plugin check-in process
Hi, Last week I started using the SDKand got stuck when trying to upload my plugin to the staging environment. I get the following error: Error: [UPLOAD_FAIL] Plugin uploaded and validated successfully. Some error occurred in plugin check-in process Kind regards, Bartbartgoris8 years agoGuide134Views0likes2CommentsGet all messages that are less than a certain edit time
Hello, I'm trying to fetch all messages from a certain edit time but it seems to not working. SELECT * FROM messages WHERE current_revision.last_edit_time < '2017-05-18T10:00:00-07:00' It returns an "invalidquery syntax". Is it possible? API v1 call is acceptable. ThanksSolvedNick38 years agoHelper171Views0likes1CommentHow to post a new thread in a category
I have fetched all massage threads from category and Iwant to create a new thread in another category and have to post whole thread(thread migration from one category to another category). Is any api reference for thread posting. Thank you, VenuSolvedvenuu8 years agoContributor119Views0likes1CommentGet the default permission of a board
Hello, I looked in the documentation and still don't know if we can query the default permission of a board. I can get the role of a board and the users associated with it but I need to get the default permission of a board. For example, ifa board has denied all permission by default and only users from a certain role can access it. Preferably in v2 but v1 is acceptable. Is it possible? ThanksSolvedNick38 years agoHelper133Views0likes1CommentPost in not displaying for non- login users
Hi, In our community we have a post which is displaying for login users only. When we try logout the post in not appearing. We checked all the permission set and all are set to be fine. Is there any way settings need to be modified. Thanks, Abhishek106Views0likes4CommentsEndpoint /refreshtoken for refreshing acess token is not working
I am using this endpoint "https://community.example_community.com/auth/oauth2/refreshToken" and sending required credentials in the post body. The endpoint is the one that is not working and credentials are all good. Kindly help !Solvedsam28 years agoGuide187Views0likes2CommentsMake usernames in Notification Feed clickable again
Got this working today; thought I'd share. Simple endpoint to resolve the user's user id from their login (also works in reverse if you want to use it to find a user's login from their id) <#assign user_login_get = http.request.parameters.name.get("user_login", "")?string/> <#assign user_id_get = http.request.parameters.name.get("user_id", "")?string/> <#if user_login_get?has_content> <#assign user_id = rest("/users/login/${user_login_get?trim}/id").value/> </#if> <#if user_id_get?has_content> <#attempt> <#assign user_login = rest("/users/id/${user_id_get}/login").value/> <#recover> <#assign user_login = "na"/> </#attempt> </#if> <response> <#if user_id?? && user_id?has_content> <status>success</status> <user_id>${user_id}</user_id> <#elseif user_login?? && user_login != "na"> <status>success</status> <user_login>${user_login}</user_login> <#else> <status>error</status> </#if> </response> Code on the Notification Feed page. It's on demand. If user hovers a username in the feed, it calls the endpoint, finds the user id, then scans the page for all instances of that username and changes them into links to that user's profile. If a username has already been "converted" the script doesn't trigger. <@liaAddScript> var obj_user, user_login; $(document).on('mouseenter', '.lia-quilt-notification-feed-item .lia-user-login', function() { var obj_user = $(this); var user_login = obj_user.text(); $.ajax({ url: '<insert path to your endpoint>', type: 'post', data: 'user_login=' + user_login }).done(function(data) { status = $(data).find("status").text(); if(status == "success") { user_id = $(data).find("user_id").text(); if(user_id !== 'undefined') { user_url = '/t5/user/viewprofilepage/user-id/' + user_id; $('.lia-quilt-notification-feed-item .lia-user-login:contains("' +user_login + '")').filter(function() { return $(this).text() == user_login; }).replaceWith('<a class="cust-user-login" href="' + user_url + '" target="_new">' + user_login + '</a>'); } } }); }); </@liaAddScript> You could probably add some error catching to the JavaScript if you want, but the call is so basic, in this case, I didn't bother.138Views5likes3CommentsUnable to parse Event subscription response
I have subscribe to event "MessageUpdate" , accordingly we get 3 parameters 1) Token 2) message 3)event.type using freemarker i want to check what is xml response received in message. following is freemarker code i am using <#assign msgToken = http.request.parameters.name.get("token","") /> <#assign msgEvent = http.request.parameters.name.get("event.type","") /> <#assign msgNode = http.request.parameters.name.get("message","") /> <#assign response = restadmin("postoffice/notes/send?notes.recipient=/users/id/[id]¬es.subject=Testing¬es.note=${msgToken}+${msgNode}").response /> by this code i am trying to send private message to user having "msgToken" and "msgNode"(message) as content but unable to receive message. When i remove messageNode , the message shows up. Why is this problem occurring? Any other way we can print xml response.103Views0likes1CommentAPI call to download all attachments to posts in a specific forum
Hi We are using one particular forum to post messages that each have an attached file We would like to be able to give users an API call that will automatically download all the files currently in that forum to a specified location. Have looked at the documentation here but my technical knowledge is limited and wondered if anyone here had tried something similar. Many thanks SteveSolvedfarrcycle8 years agoExpert280Views0likes6CommentsAPI call to register a user into community
Hi Lithium Team, I am looking to create a custom registration page for a different set of users.Is there any API call available in lithium to register a user into the community, Like posting a message using API call? Thanks, Srujana Satya Datla.satya8 years agoExpert106Views0likes1CommentGet all QandA with RESTApi
Hi I wan't to know how to get all the qanda board in restapi and after that get the key-word used in the parameters. I know ho to get qanda one by one: rest("/boards/id/${myQandAId}?restapi.response_style=view"); But the keywords aren't displayed in the response. I know i can get all boards with rest("/boards") But i don't know if a filter exist to only get the boards who has "qanda" hasinteraction_style.Solved284Views0likes6CommentsFreeMarker context object utils.digest has no HMAC(?)
Am just wondering if there are any plans to add HMAC to the FreeMarker context object property utils.digest F.e.currently, according to https://community.lithium.com/t5/Developer-Documentation/bd-p/dev-doc-portal?section=freemarker#l%3A%3A%7B%22p%22%3A%22%2Frefer%2FcontextObjects%22%2C%22h%22%3A%22%23utils%22%7D we have common one-way hashing exposed to Studio devs, via methods such as: utils.digest.md5Hex("message") utils.digest.sha256Hex("message") utils.digest.sha512Hex("message") ... Our use-case is somewhatunexceptional, I would guess.HMAC has an IETF spec RFC2104. It could be furnished to the FreeMarker layer via single method such as: utils.digest.hmacHex("key", "message", "hashType") ... (...where hashPreference is the type of hash, i.e.: 'sha256' || 'md5' || 'sha512' || ... ) Is HMAC furnished elsewhere in FTL docs? We'd of course prefer not to include HMAC algoitself directly in our freemarker code. Thanks, Paul P.S. Here are some references to HMAC -as-code in C and Javascript, respectively: https://github.com/WatchBeam/ftl-sdk/tree/master/libftl/hmac+ https://github.com/h2non/jshashes215Views1like4CommentsRest API call to subscribe users to labels
Hi Guys, I need to achieve a functionality in which I require that users can subscribe to all the posts comprising of a particular label. I a building a custom component for this. I need to know whether there is an API that let users to subscribe to posts at label level, that is all the posts having that label will be subscribed. Thanks in advancehim_varma8 years agoAdvisor151Views0likes2CommentsUnable to unsubscribe to an event
I have subscribed to Event "MessageUpdate" using event subscription , got a token . Now using this token i am trying to unsubscribe but getting following error : url :https://cloudsquadsdev2.stage.lithium.com/restapi/vc/events/subscriptions/token/{msgToken}?restapi.session_key={session_key} Response : <?xml version="1.0" encoding="utf-8" standalone="yes"?> <response status="error"> <error code="504"> <message> Method 'post' is not supported off of node 'event_subscription_manager.subscriptions.token.Param0'. </message> </error> </response>Solved183Views1like2CommentsForum Topic Subscribing Members
Hello, We are looking to pull reports on members that subscribes to specific Topic posts on a forum. With limited research I couldn't find anything that provided such capabilities. I was hoping someone may have an idea on how we could pull such information. Thanks!127Views0likes1CommentJoint Statement in LiQL v2
Hi All, Does anyone know does LiQL v2 support joint statement ? Actually I am trying to retrieve message with top number of kudos. Other than making the 1st call to retrieve the message list and make 1 call for each message to retrieve kudos, is there any better solutions? Current response for messages do have the kudos fields, but the value is another Select statement, is it mean that we need retrieve the kudos of each message 1 by 1 ? Thanks & Regard, Sky.142Views0likes2CommentsVisual indicator for private category/board
We need to show a icon (Like a lock) before the name of private communities, is there anyway i can do this? How can i know dynamically that the board/category is private and accordingly show the icon?Solvedtsrisudh8 years agoAdvisor133Views0likes2CommentsNeed to fetch information about the first response time using rest API
Hi All, I am currently evaluating how can lithium be a useful product in my usecase which is pertaining to customer support over social networks. I need the below information all by using Rest APIs- 1) The time for first response by an agent. 2) The current backlog that is to be responded to 3) Information about the new posts that have arrived. Can we get the above information with lithium using Rest APIs? If yes, How can it be done?sushantmahajan8 years agoContributor103Views0likes1CommentHow to change registration destination URL?
Hi, I want toshow a custom page after user complete registration. As per my observation Lithium is passing parameter "dest_url" in the registration link. After registration user is redirecting to dest_url. Is there any direct setting available to change thisdest_url? Appreciate your help in this regard. Thanks & Regards, Phaniphani8 years agoAdvisor163Views0likes3Commentshow to exclude posts with certain board ids
Hello, I want to execute a query where I can exclude posts fromgiven board ids. I tried below approach : SELECT * FROM messages WHERE board.id NOT IN ('board-name') But getting exception that it is invalid query syntax. Can any one suggest how can it be implemented?ronaksomani8 years agoMentor298Views0likes7CommentsHI can't create user using lithium post request 500 error.
I am following this link. I can successfully make get requests following other tutorials. But when I made a post request like given in the link, I get a 500 error. Here are my example params with headers and url (correct but now shared here) {:first_name=>"zeeshan", :last_name=>"khan", :login=>"zeeshan", :email=>"zeeshan.khan@softtechgroup.us", :password=>"zeeshan.khan@softtechgroup.us", :type=>"user"} Please let me know whats wrong with the request. and if possible, Can I play around with request, like there is a playground or something for testing?irfansofttech8 years agoHelper175Views0likes4Commentspossible to change length of subject title before ellipsis cuts it off?
Because of the existing styling of our community, it would be easiest for me to deal with a particular issue by telling Lithium to apply the ellipsis to lengthy subject titles at a shorter character value. I see in text editor where maybe I can do this for user names, tags, and reviews, but I'm not seeing it for subject titles. I don't want to use "maximum number of characters in subject" either. The limit would be too low. But for visual purposes, it can be lower than that. Does anybody know how to do this? It would be even better if I could do this in only the component I'm trying to do it in, rather than everywhere. Unfortunately, editing the "lia-message-read" class changed the values on the whole page though instead of just in my custom component. If anybody knows how to deal with that, it would solve the problem too.jmurray8 years agoChampion242Views0likes4CommentsDynamically get date in LIQL call through API
Hi, I've read the following: https://community.lithium.com/t5/Developers-Discussion/Getting-correct-date-format-for-use-in-LiQL/m-p/180275#M7166 https://community.lithium.com/t5/Developers-Discussion/Is-it-possible-to-show-only-current-day-posts/m-p/188365#M7710 I've also seen the documentation, where is gives an example of putting in a hard coded timestamp. Which is great. https://community.lithium.com/t5/Developer-Documentation/bd-p/dev-doc-portal?section=commv2&collection=messages#constraints SELECT subject, id FROM messages WHERE post_time > 2013-10-07T10:04:30-08:00 AND post_time < 2013-11-07T10:04:30-08:00 What I'm trying to so is programically get the time in the API call that I've giving to to our webteam to pull the last 30 days of solved posts from a specific category. I manually put in EPOC as placeholders and it works great, and successful return. https://community.lithium.com/api/2.0/search?q=SELECT+conversation.solved%2C+conversation.view_href%2C+conversation.messages_count%2C+author.login%2C+author.view_href%2C+subject%2C+%20metrics.views%2C+search_snippet%2C+post_time%2C+conversation.last_post_time%2C+c_interests+FROM+messages+WHERE+depth%3D0+AND+post_time+%3E+1430070533+AND+post_time+%3C+1493146187+AND+conversation.solved%3Dtrue+AND+category.id%3D%22lithium%22+ORDER+BY+conversation.messages_count+DESC+LIMIT+3&xslt%3Djson.xsl I'm not sure how toprogramically put in a greater than '30 days ago' and less than 'now'. (~30 days is about 2505600 in epoc) I can do it in freemarker with 'assign' variables in the community when making a component, but didn't know if there was a clever API way to make the date dynamic in the call itself? Below is effectively what I would like to pass? https://community.lithium.com/api/2.0/search?q=SELECT+conversation.solved%2C+conversation.view_href%2C+conversation.messages_count%2C+author.login%2C+author.view_href%2C+subject%2C+%20metrics.views%2C+search_snippet%2C+post_time%2C+conversation.last_post_time%2C+c_interests+FROM+messages+WHERE+depth%3D0+AND+post_time+%3E+${now?date?long}-2505600+AND+post_time+%3C+${now?date?long}+AND+conversation.solved%3Dtrue+AND+category.id%3D%22lithium%22+ORDER+BY+conversation.messages_count+DESC+LIMIT+3&xslt%3Djson.xsl Is this possible outside of freemarker in a native LIQL API query, or should I just make the webteam programically pass in EPOC on their side into my API call? Cheers, TimSolvedtmarshall8 years agoAdvisor298Views0likes4CommentsHow can I design comments differently from answers if I use threaded layout within topic?
According to this post https://community.lithium.com/t5/Community-display/Different-types-of-Linear-Topic-orders-Normal-topic-order-Oldest/ta-p/64536 , it is possible to use threaded layout within topic. However all answers to the question and comments to answers are visually the same. So it is not easy to understand the flow of conversation without using indents for each comment. For example, airbnb community is using indents for all comments to answers: https://community.withairbnb.com/t5/Hosts/What-is-the-hold-up-with-adding-a-pet-fee-option-to-the/m-p/377897#M86206 Is there any possibility to add indents for each comment without creating custom component? I could not find any different or specific css classes in the comments or answers. Thank you for helping!Solved285Views0likes1CommentAccepted Solution Identification
Hi, As Per Lithium Documentation if we enabled Forums version to 3 we can able to see "Float Accepted Solution" and "Display who accepted Solution" Feature. We can able to see the functionality. The issue what we are facing observing in the ForumPage we can't able to Green Tick Button to the added to the title of the Subject. We can able to see this feature in the Category Page and not in the Forum Page.Kindly guide us is there any Admin Settings need to enable it or it may be a CSS issue. ThankYou :)131Views0likes3CommentsLithium SDK Clarifications
Hi All, Can anyone explain how Lithium SDK is going to work. Following topics need clarification on it. 1. We create new components and pushed to Stage Environment. What are the steps need to perform while pushing code to Production. 2. We have both SDK push Components and New components created in the Stage Environment(with out SDK) is it going to effect while pushing code via Studio push.Solved501Views1like20CommentsChange number of items shown in top kudoed posts widget
The XML for the default component shows as follows: <component id="kudos.widget.messages-leaderboard" maxDisplayCount="5"/> I have tried changing maxDisplayCount to 10, but nothing changes. Is there another way to change this number of items returned in that component?SolvedHayley8 years agoMentor171Views0likes3CommentsGoogle event tracking on user registration
Hello, I am trying to fire an event on user registration, I currently have the following code which is not optimal since it is triggered even ifthe registration fails. Is there a success page or a javascript callback I can use when the registration is successful? $('.lia-component-user-registration-form').submit(function() { ga('send', { hitType : 'event', eventCategory : 'Registration', eventAction : 'submit' }); }); Thank you! MattMattpx8 years agoGuide160Views0likes3CommentsCustom Component Naming Functionality
Hi Lithium Team, We are trying to rename one of our Custom component while renaming it is creating a brand new Custom component with the new name and it is not appending to the existing Component. It is making us to place the new component in the Page quilt and we need to remove the existing one. Is there any way once we rename the Custom component the name should reflect to the same component and it need to dynamically add to the all rename to the all existing quilts so it won't need to rework on it again. Regards, Abhishek IllindraSolved100Views0likes1CommentGetting a 500 server error with a custom endpoint
Hiall, I've set up a custom endpoint which is trying to list out attachments to images. However whenever I try to use the result of the query it will cause a 500 error on the server. Obviously I'm doing something wrong. We raised a support ticket, but they don't provide support for custom end points. So I'm hoping the collective mind can help out. The proof of concept code which causes the error is shown below. <#setting url_escaping_charset='ISO-8859-1'> <#if user.registered > <#assign show_module = false /> <#list restadmin("/users/id/${user.id?c}/roles").roles.role as role> <#if role.name?? && (role.name == "Administrator")> <#assign show_module = true /> </#if> </#list> <#if show_module> <html> <head> <title>Extracted Attachments</title> </head> <body> <table border="1" cellspacing="0" margin="2"> <tr> <th>Attachments</th> </tr> <#assign extracted_attachments = rest("2.0", "/search?q=" + "SELECT * FROM attachments WHERE message.id = '1234'"?url) /> <#list extracted_attachments.data.items![] as att /> <tr> <td><ul><li><a href="${att.url}">${att.filename}</a> - ${att.content_type} - ${att.filesize}</li></ul></td> </tr> </#list> </table> </body> </html> </#if> </#if> The error happens on the line starting with "<#assign extracted_attachments". The 1234 is the id of a message which has attachments (In our Lithium instance that number is different). Can someone please help and let me know what I've done wrong? Thanks in advance!Solveddamienwhaley8 years agoContributor192Views0likes3CommentsMake a soap request in Lithium
Hi All, i am wondering whether there is someone has tried to make a soap request in Lithium platform. Can I use rest http call to do that? <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <ns7:ClientInfoHeader soapenv:mustUnderstand="0" xmlns:ns7="urn:messages.ws.rightnow.com/v1.1"> <ns7:AppID>Run report sample</ns7:AppID> </ns7:ClientInfoHeader> <wsse:Security mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken><wsse:Username>bur</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">********</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ns7:RunAnalyticsReport xmlns:ns7="urn:messages.ws.rightnow.com/v1.1"> <ns7:AnalyticsReport xsi:type="ns4:AnalyticsReport" xmlns:ns4="urn:objects.ws.rightnow.com/v1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ID id="146682" xmlns="urn:base.ws.rightnow.com/v1.1"/> </ns7:AnalyticsReport><ns7:Limit>1000</ns7:Limit><ns7:Start>0</ns7:Start> </ns7:RunAnalyticsReport> </soapenv:Body> </soapenv:Envelope> Thank youqinglau8 years agoMentor316Views0likes5Comments