Blog Post

Release Notes & Updates
4 MIN READ

17.4 Release Notes

JohnD's avatar
JohnD
Khoros Alumni (Retired)
8 years ago

The 17.4 Release includes a new Support Case Portal (currently in Closed Beta) which integrates with your existing Salesforce or Microsoft Dynamics CRM. Now, when users open new Support cases, be it from your Community, your brand's social network pages, phone, or email, all of these cases are accessible (for viewing or correspondence) to your users from a Case Portal community page.  Additionally, we have introduced a number of API changes.

New features

Support Case Portal (Closed Beta)

Lithium is currently developing a new Lithium Case Portal, which integrates with your existing Salesforce or Microsoft Dynamics CRM. Customers who have already set up a Salesforce or Microsoft Dynamics CRM integration with their community can take advantage of the new Lithium Case Portal. With the new Case Portal, users can: 

  • Open Support Cases directly from the community.  
  • Correspond with your Support agents on open cases via a threaded conversation on the community. 
  • Access their open and resolved cases from a single, private community page, regardless of where that case originated.  

For example, you might have a customer who opened several support cases via different channels (phone, email, Facebook, Twitter, and/or the community). The Lithium Case Portal enables your community users to access and respond to their cases, regardless of how they were originally opened, from the My Cases page on the community. All interactions between the Support agent and the user are captured in threaded conversations in this area.

If you are interested in participating in the Closed Beta of the new Lithium Case Portal, send a private message to JeffSp. 

API changes  

FreeMarker 

We've made additions to the following context objects: 

  • utils.digest .hmac
  • webuisupport  

New HMAC methods on utils.digest 

We've added four new utils.digest methods to FreeMarker that return a keyed-hash message authentication code (HMAC) in Base64 format. See our FreeMarker documentation in the Developer Documentation portal for details. You can learn more about HMAC in IETF RFC 2104 and RFC 7518 

The new methods are: 

  • utils.digest.hmac("key", "message") 
  • utils.digest.hmac("algorithm", "key", "message") 
  • utils.digest.hmac("algorithm", "key", "message", "charset") 
  • utils.digest.hmac("algorithm", "key", "message", "keycharset", "messagecharset") 

algorithm is the HMAC hash algorithm to use. 

key is the secret, cryptographic key. 

Note: While you can pass the key directly in FreeMarker, we recommend that you create a custom setting (with the help of Lithium Services or Lithium Support) to store the key. Then, you would read the key from that setting.  
For example:  
<#assign key = restadmin("/settings/name/mycustomkeysetting").value /> 

message is the message to be authenticated. 

charset is the character set to use for the key and algorithm if you want to use a set other than UTF-8. 

keycharset is the character set to use for the key if you want to use a set other than UTF-8. 

messagecharset is the character set to use for the message if you want to use a set other than UTF-8. 

 

Find the path to an endpoint using webuisupport 

We've added a method on the websupportui FreeMarker context object that builds a path to an endpoint. It helps you avoid hard-coding the path so that you can reuse code easily in different environments or different communities. This method was added in Community release 15.3, and we have made it publicly available in 17.4 

Here's the new method: 

webuisupport.urls.endpoints.name.get(String endpoint_name).path( String path_element).query(String query_parameter_name, String query_parameter_value).fragment(String fragment_identifier).build()  

It generates the hostname and path using the endpoint name, and optional path elements, query parameters, and fragment identifier passed in.  

Here’s an example.  

webuisupport.urls.endpoints.name.get("myendpoint").path("path1").path("path2").query("foo", "bar").fragment("frag").build()  

would return this URI: 

http://community.mysite.bla/plugins/custom/customer/community/myendpoint/path1/path2?foo=bar#frag 

In a component, the code might look something like this, where we assign the endpoint path to a variable, and then print out the link: 

<#-- Create the variable for the path --> 

<#assign endpointUrl = webuisupport.urls.endpoints.name.get("myendpoint").path("path1").path("path2").query("foo", "bar").query("bar", "baz").fragment("frag").build() /> 

 

<#-- Print the path --> 

${endpointUrl} 

You can find full FreeMarker context object documentation on the Developer Documentation Portal.  

Community API V2 

Updates to User resource 

We added a new email_excluded field  to the users collection which returns whether or not the user has selected the "don't send me any community emails" option.

Note: You have to explicitly add this field to your LiQL (for example, SELECT id, email_excluded FROM users) query to see it in the response. 

You Found It. We Fixed It. 

  • We have fixed the issue where replies in topics nominated to a TKB were not being displayed in the Responsive TKB workflow. Now the root message and all replies appear as expected. 
  • We have improved security around XSS attack vectors in the current version of the message editor to prevent potential cross-site scripting attacks via the community. 
  • As part of our ongoing process of making sure your community members have the best possible experience on your site, we regularly review all user-facing text strings to make sure they are correct and consistent. The 17.4 Release includes several, small UI text tweaks to page titles, action buttons/links, and component names to make the capitalization more consistent.

Check out the previous 17.3 Release Notes.

Updated 10 months ago
Version 10.0
No CommentsBe the first to comment