Blog Post

Release Notes
11 MIN READ

16.8 Release Notes

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

With the 16.8 release, we’re excited to announce Toolbox, a performance-monitoring tool built into your Community app which enables you to view all FreeMarker exceptions on your community and identify areas for performance optimization.

We’ve also released an updated version of our robots.txt in Studio, along with improved editing capability. This version displays the default rules and enables you to add additional rules to allow or disallow a particular URL or directory from a particular user agent.

New Features

Toolbox

Toolbox is a performance monitoring tool for your FreeMarker customizations. The tool is enabled for all customers as of Community version 16.8. Use Toolbox to test customizations pre-launch in a stage environment and to identify areas for REST call optimization in production while viewing customizations against real-time community traffic.

With Toolbox:

  • View exceptions from FreeMarker in custom components and identify the pages where the exceptions occur
  • View component load time by page
  • View the number of REST calls per page load and component load, as well as the REST calls made

Toolbox is intended for use by developers. Any developer who regularly uses Community API v1, v2, and FreeMarker in customizations, and any community that enhances the Community application on a monthly or quarterly basis will see benefits using Toolbox. Community Managers, marketers, and other Studio users should consult with their development team to understand the performance metrics displayed with this tool within the context of a Community stage or production environment.  Access Toolbox from your Community Admin application or in the Community Dashboard component in your community.

Find more information about Toolbox under the Dev Tools section of the Developer Documentation portal.

A real-world example

Let’s look at a real-world example from one of our customers. As they approached launch, they used Toolbox during their code-review cycle, searching for areas where the community could perform better. Before Toolbox, this task relied only on a visual code inspection to spot bottlenecks and other inefficiencies. Toolbox immediately highlighted some potential problems with customizations on the Forum Page.

They drilled down into one particular component that was making a large number of REST calls.

For every message, the component was making multiple LiQL queries to determine whether a thread was floated. A review revealed that these REST calls were unnecessary. The calls were pulling the floated status for styling purposes, but the front-end developers could simply use Lithium’s standard LIA classes to achieve the same outcome. After the back-end developer eliminated the redundant code, they saved two REST calls for each message on the Forum Page, resulting in significantly reduced load time.

Learn more about what you can do with Toolbox.

Simplified Profile Plus Connection Flow

We’ve taken a step out of the Profile Plus connection flow to simplify the process. Now when a user clicks Connect in a call-to-action component, the user is automatically connected with the email associated with the user’s Community account.

After the user successfully connects, they will see prompts in the Personalized Content Feed and My Interests components to select topics of interest to populate their feed and share with other Community users.

See About Profile Plus for the new connection flow.

Improved Profile Plus Header and Hovercard

We’ve added a hover card and message header to Profile Plus. They can be used to highlight topics of interest, social scores, social network affiliations, as well as more traditional community attributes like rank and user statistics such as number of posts, solutions, and kudos earned. The hover card and message header are both quilts with sub-components, enabling you to rearrange and customize these features easily.

Note: At this time, we have tested the header and hovercard with Forum posts where the quilts are included in specific places. We are still testing the feature with other conversation styles. You are welcome to try these two quilts on other locations, but you will likely have to do some custom Sass/CSS styling.

When you looked at a message in the community, the default page used to look like this:

If the user is connected with Profile Plus and chooses to add signature topics to his or her profile, the message header looks like this:

In the image above, we show the sub-components that make up the pieces of the header.

The default Forum Message quilt defines the controls and content for the message display, including the header that included details about the message author. (See the header-left section in the image below.)

The header-left section now looks like the image below, with all of the header information contained in a new, nestable Profile Plus Header quilt.

Note: The Profile Plus Header quilt has only been tested on the Forum Message quilt at this time. Including this quilt on other Message quilts (Blog Message, Idea Message, Contest Message, Group Message, and TKB Message) might require additional Sass/CSS styling.

When we open the Profile Plus Header quilt, we see all of the user details sub-components, as well as the new, nestable quilt that creates a hovercard. The hovercard displays on desktop and tablet breakpoints. The hovercard does not appear on mobile devices.

Note: The Profile Plus Hovercard quilt can only be used within the Profile Plus Header component.

The hovercard includes these details:

Back in Studio > Page, you can see the components that make up the hover card.

You’re probably familiar with some of these components, but we’ve added some new ones. These new components are only supported on the Profile Plus Hovercard quilt.

  • Social Score: The user’s Community and Klout scores.
  • Social Network Icons: Social networks the user has connected to his or her Klout account.
  • User Metrics:Metrics about the user. Use the li-metric-name XML parameter to define which metric to use in the component. Possible values: completed_registrations, net_kudos_weight_received, net_accepted_solutions. Add a single metric for the li-metric-name value. If you want to include more than one metric, use a separate instance of this component in the quilt.
  • Profile Plus Topics: Topics that the user has allowed to be shared publicly. These topics are selected in the Profile Plus Settings page.

Profile Plus Admin settings

As with all Profile Plus components, these new Profile Plus quilts and sub-components are displayed to users as defined in Community Admin > Features > Profile Plus using the Show Profile Plus components to setting. You can display the quilts and components to all users, specific users, or to users with specific roles.
Anonymous users do not see any Profile Plus data in the hovercard, although they do see signature topics in the Profile Plus Header if the message author has chosen signature topics to share.

Robots Exclusion Protocol Editor

We’ve released an updated version of our robots.txt in Studio. This version displays the default rules and enables you to add additional rules to allow or disallow a particular URL or directory from a particular user agent.

Studio users must have the Manage robots exclusion protocol permission set to Allow in order to use the editor.

Access the editor in Studio > Advanced > Robots Editor

SVG Upload Support in Studio

We now support uploading SVG files in Studio for:

  • Rank icons
  • Badge icons
  • Avatar icons
  • Value Analytics Survey images
  • Skin images
  • Assets in the Asset Library

Sass 3.3 Support in Studio

The Skin Properties editor in Studio now supports Sass 3.3+.

API Changes

Community API v1 Updates

Updates to user ban APIs

/moderation/banned/details - Returns all bans applied to the user.

Use this call before /moderation/unban to see all the bans applied to a user. It’s important to understand ban details because /moderation/unban removes all bans applied to the specified user from the Community and finds all bans applied to the specified user and removes those bans from the system. This means that those bans no longer exist. All other users in the community banned using the same ban rule will also be unbanned.

Add a group member to a public or private group

We have added POST endpoints to add a member to a public group or private group by user ID or login.

/groups/id/<group ID>/add?groups.invitee=login/login

/groups/id/<group ID>/add?groups.invitee=id/user ID

This call does not subscribe the user to the group. The user must subscribe him or herself. The user adding the member must have the Manage group membership permission granted.

Remove a group member from a public or private group

We have added POST endpoints to remove a member from a public group or private group by user ID or login.

/groups/id/group ID/remove?groups.invitee=login/login

/groups/id/group ID/remove?groups.invitee=id/user ID

This call also removes the user’s subscription to the group, if a subscription exists. The user removing the member must have the Manage group membership permission granted.

Community API v2 Updates

Solution accepter information now available from the messages resource

The accepter field on the solutions_data resource no longer returns an empty response.

Here’s an example LiQL query to get solution data for solutions authored by a specific user:

SELECT solution_data FROM messages WHERE author.id = '32' AND is_solution = true

Here is an example response:

{

 "status" : "success",

 "message" : "",

 "http_code" : 200,

 "data" : {

   "type" : "messages",

   "list_item_type" : "message",

   "size" : 2,

   "items" : [ {

     "type" : "message",

     "solution_data" : {

       "type" : "solution_data",

       "message_id" : "439",

       "accepter" : {

         "type" : "user",

         "id" : "31",

         "href" : "/users/31",

         "view_href" : "/t5/user/viewprofilepage/user-id/31",

         "login" : "admin"

       },

       "time" : "2016-06-23T14:32:26.000-07:00"

     }

   }, {

     "type" : "message",

     "solution_data" : {

       "type" : "solution_data",

       "message_id" : "222",

       "accepter" : {

         "type" : "user",

         "id" : "31",

         "href" : "/users/31",

         "view_href" : "/t5/user/viewprofilepage/user-id/31",

         "login" : "admin"

       },

       "time" : "2015-08-06T15:32:09.000-07:00"

     }

   } ]

 },

 "metadata" : { }

}

Set SEO fields on messages

You can now set and edit SEO title, description, and canonical URL on blog, TKB, idea, and forum messages in PUT and POST HTTP actions. See example PUT and POST examples for messages here. See Set and edit SEO fields with the Community API for details.

Create albums using the API

You can now create albums using a POST action. See the albums resource documentation for examples.

Create, update, and delete images using the API

The images resource now supports POST, PUT, and DELETE actions. See the images resource documentation for examples.

Filter queries on messages by custom_tags.text

custom_tags.text is now supported in the WHERE clause in LiQL queries on the messages collection. The tags must be attribute tags, not list tags.

Here’s an example query:

SELECT * FROM messages WHERE custom_tags.text = 'customTagKey'

The value of custom_tags.text will be the metadata key associated with the tag. For instructions to identify that key, see Using the Community API with custom tags.

FreeMarker Updates

The http.request FreeMarker context object now provides the ability to handle multipart requests. We provide information about uploaded objects with a new Upload context object.

The Upload object is returned by two new methods on http.request:

  • http.request.uploads.name.upload parameter name
  • http.request.uploads.name.get("upload parameter name")

A single Upload object contains the following calls:

  • upload.name - get the name of the file being uploaded
  • upload.size -  get the file size of the uploaded file
  • upload.mimeType - get the mime type of the uploaded file

Migrating to Lithium Responsive GA

In Lithium Responsive and feature version compatibility, we discussed broader feature versioning and feature version dependencies introduced with Lithium Responsive. We also discussed that feature versioning would occur with rapid iteration during the Beta period, and that customers participating in the Beta would be expected to upgrade to the latest feature versions when Responsive for Developers was released in GA. Here is a refresher from that article:

We will give Responsive for Developers Beta participants notice and a generous window of time in which to upgrade to the final versions of the features and skins powering your community. But we want to be clear that we are asking you to develop your Responsive community twice: once during the Beta period, and again when the Beta program ends so that you are current with our final release. Upgrading feature versions monthly might prove less work than waiting for one big upgrade, but we give you the flexibility to decide what’s best for your team.

We delivered the final set of Lithium Responsive features (Groups) in 16.7. Starting with 16.8, we’re requesting that our pre-GA customers begin the migration to the latest major feature versions.

Note: If Lithium Services performed your Lithium Responsive customizations, discuss the migration with Lithium Services first.

Our migration documentation does not delineate the entire list of incremental feature changes across every minor feature and skin version during the Beta period. You can review the following release notes and TKB articles describing the major changes to conversation styles and other features updated with Lithium Responsive.

Note: You will need to use the Lithium SDK to migrate external Sass files referenced in your custom Responsive skin to your stage environment. You will also need to use the SDK in order to view and resolve Sass compilations errors. All other migration tasks can be completed using either Studio or the SDK.

You Found It. We Fixed It.

  • Previously, when you uploaded an image to a blog post, the page would jump to the bottom of the post after placing the image, instead of positioning the page at the location of the image in the post. This issue has been fixed.
  • Previously, when you used the Create TOC feature for a TKB article, the auto-generated TOC was always placed at the top of the article, regardless of whether there was text above it in the article. Now, you can add text (like an introductory paragraph) before the TOC, and the TOC will be placed appropriately. Additionally, the TKB TOC feature is now supported on Responsive.
  • We have fixed the issue where attachment previews were not being displayed properly on Responsive sites that had the Preview attached documents in online viewer setting enabled under Community Admin > System > File attachments.
  • Previously, when you attempted to download a PBIX file from an Internet Explorer/Edge browser, the file was downloaded as a .zip file. This file is now downloaded and named properly.
  • We have fixed the issue where attempting to upload .rmp files as an attachment resulted in a MIME type error.
  • Previously, the image upload preview on the iPhone didn’t preview the image in the correct orientation. This issue has been fixed.
  • We have fixed the issue where custom tags could not be added to the original idea on a Responsive site. Now, you can add custom tags to the original idea as well as to comments on the idea.
  • We have fixed the issue where the Facebook App default skin was not loading properly when using App Creator.
  • Previously, on Responsive, the rank icon associated with a community member’s current rank was not being displayed on the member’s profile page. This display issue has been fixed.
  • We have fixed the issue where private messages that should trigger more than one content filter ended up triggering only one content filter. Now, any matching content filters are triggered, as expected, for private messages.
  • We have fixed the display issue where the Accepted Solution text was being duplicated on the Forum Topic Page on Responsive.
  • Previously, when you printed any page with links from a Responsive community, the printout included the actual URL text for the links, not the user-facing text of the link. This printing issue has been fixed.
  • Custom user avatars now display properly next to usernames when using the "Send this user a private message" link.
  • You no longer receive an error when attempting to create a new Facebook App within the Community Admin.
  • We have fixed the issue where not all of the batch processing options were being displayed in the Message Options drop-down menu for Private Messages.
Updated 7 months ago
Version 15.0

4 Comments