The 14.12 Release provides several fixes and enhancements to existing community features. We are also happy to announce the open beta availability of three search-related metrics (Searches, Searches with Results, and Searches without Results) in Lithium Social Intelligence. In Studio, you can now add terms to your global and language-specific custom dictionaries. The 14.12 Release also includes two, new FreeMarker objects (restd and apiv2) and API support for combinatorial search.
New features and enhancements
- LSI Search metrics (Open Beta)
- Add terms to your custom dictionary from Studio
- New “Replies” threshold implemented when moving messages
- New FreeMarker context objects
- API changes
LSI Search Metrics (Open Beta)
With the 14.12 Release, search-related metrics in Lithium Social Intelligence have now entered Open Beta.
With LSI, you can view these search metrics:
- Searches: The total number of search terms or phrases entered by users during a time period, regardless of whether search results were returned. This number includes all types of searches (community, category, board, TKB, and user). This metric approximates user behavior and therefore excludes almost all nonhuman requests (Web crawlers, robots, RSS feeds, REST API calls). This metric also excludes related search behavior like filtering results, paging through search results, “instant” search, and autocomplete.
- Searches with Results: The total number of search terms or phrases entered by users that returned search results, sorted by the number of times all users have entered those terms. This number includes all types of searches (community, category, board, TKB, and user). This metric approximates user behavior and therefore excludes almost all nonhuman requests (Web crawlers, robots, RSS feeds, REST API calls). This metric also excludes related search behavior like filtering results, paging through search results, “instant” search, and autocomplete.
- Searches without Results: The total number of search terms or phrases entered by users that did not return search results, sorted by the number of times all users have entered those terms. This number includes all types of searches (community, category, board, TKB, and user). This metric approximates user behavior and therefore excludes almost all nonhuman requests (Web crawlers, robots, RSS feeds, REST API calls). This metric also excludes related search behavior like filtering results, paging through search results, “instant” search, and autocomplete.
Note: If you perform a node-level search and get zero results, that does not necessarily mean that the content does not exist. The content might exist elsewhere in the community.
To view search metrics for your community:
- Sign in to the community.
- Click Lithium Social Intelligence in the Community Dashboard.
- Click the SEARCH tab.
Searches, Searches with Results, and Searches without Results metrics display: - (Optional) Click a time period in the metric header.
- Hover over or click any metric bar to view more details.
Add terms to your custom dictionary from Studio
Most companies have product- or brand-specific terms (for example, their company name) that get flagged by the spellchecker as being misspelled. Lithium enables you to create a custom dictionary to include these terms, so that they are no longer get flagged by the spellchecker.
Previously, you had to create a Support ticket to add these terms to your custom dictionary. With the 14.12 release, you can now add global and language-specific terms to your dictionary right in Studio.
Note: At this time, you must file a ticket with Support to restart your community after you add terms to your custom dictionary for the changes to take effect.
To add terms to your custom dictionary:
- Sign in to your community.
- Go to Studio > Text Editor > Spellchecker.
- To add terms for specific language, click Language Specific, select a language from the Language drop-down menu, and click View.
- In the Custom Dictionary text field, enter each term you want the spellchecker to ignore (separated by commas) and then click Save.
Note: Click Reset to revert the text in the Custom Dictionary field to its state before you last clicked Save. - To add terms that apply to all languages, click Global.
- In the Custom Dictionary text field, enter each term you want the spellchecker to ignore (separated by commas) and then click Save.
Note: Click Reset to revert the text in the Custom Dictionary field to its state before you last clicked Save. - Push your changes from stage to production. (Go to the Versions tab and queue the change. Then, sign in to production, accept the version, and push the version to your live, production environment.
- Open a Support ticket to have your community restarted.
New “Replies” threshold implemented when moving messages
To improve site performance and prevent admins or moderators from putting too much load on the site during peak times, we have set a threshold on the number of replies that messages can have when you try to move them.
Specifically, when attempting to move a message that has more than 5000 replies, you will receive a message indicating that the message cannot be moved.
In a bulk move scenario, where one or more of the messages might exceed the reply threshold, you will be prompted and presented with a page that highlights all the messages with a reply count that exceeds the 5000-reply threshold, so you can uncheck those messages and try to move the other messages again.
Note: This new threshold doesn’t prevent you from doing large message moves. You can still move thousands of messages at the same time, so long as none of those messages has more than 5000 replies.
To move messages that have more than 5000 replies, you must open a Support ticket, and the support team will move these large messages when it will have the least impact on your community’s overall performance.
New FreeMarker context objects
In 14.12, Lithium is releasing two FreeMarker context objects: restd and apiv2.
These objects enable developers to print out the response object from a Community API v1 or v2 call as an XML or JSON string. The context objects enable you to insert the string as a data attribute on an HTML node of a custom component in order to run JavaScript with the string-form data on the client side. They also enable developers to mix the response from different REST API calls into one endpoint response.
restd and apiv2 provide similar functionality – printing out the response as a JSON or XML file. These objects provide support similar to FreeMarker's .@@markup node built-in for returning a W3C DOM object in XML format. The built-in does not work with JSON, however, and the Community API v2 FreeMarker objects are not XML nodes (and therefore cannot use FreeMarker’s node built-ins). These context objects fill in the missing functionality.
The main difference between apiv2 and restd is that apiv2 can return sub-objects of a response, if needed, rather than the entire response. restd returns the entire response in string format.
Note: You still need to use the .@@markup built-in to return partial responses as XML strings for API v1 calls. Returning a partial response of an API v1 as a JSON string is not supported.
This table describes which features are supported with each context object.
|
apiv2 |
restd |
Supports API v1 calls |
No |
Yes |
Supports API v2 calls |
Yes |
Yes |
Return sub-objects |
Yes |
No |
Returns XML |
Yes |
Yes |
Returns JSON |
Yes |
Yes |
Supported releases |
14.12+ |
|
API changes
Combinatorial searches in the WHERE clause
Lithium Communities implemented combinatorial search in the 14.6 Release. Now, LiQL and the Community API v2 support combinatorial search as well. Combinatorial search is enabled by default for all communities. When a LiQL query includes a multi-term search string, various combinations of the individual terms are used to conduct the search to generate the search results. Prior to 14.12, all terms in the string needed to be matched before a result was shown.
You can perform a combinatorial search against any property that supports MATCHES in the WHERE clause. Currently, this includes the subject and body fields on the Message collection. You can search for up to ten keywords in a LiQL query. You can ask Lithium Support change this limit.
You can perform combinatorial searches to return several types of results:
- A combination of terms
- A combination of terms that includes one or more of the terms
- A combination of terms that includes phrases
Check out About spellchecked and combinatorial search and Using LiQL for more information about this feature.
Changes to the response object
When your community is upgraded to version 14.11 or later, the “response” object which wraps all HTTP-based API v2 responses will no longer be returned.
Note: This change does not apply to API v2 calls made via FreeMarker.
While easy to fix, this change might break your existing customizations and integrations. Here’s what the API responses look like before and after the change:
Before version 14.11:
After version 14.11:
To fix your code, simply remove any reference to the top-level “response” object.
You Found It. We Fixed It.
- General improvements and updates related to accessibility compliance. We will be rolling out several accessibility compliance updates over the next few releases; this release includes these enhancements:
- You can now click the tab key to open the menu options in tables and group messages.
- You can now click the Tab key to access the “turn off suggestions” option in the search input field, shown here:
- Canceling a reply to a Private Message when the “Use Token Input Private Messages” option is enabled no longer produces an error. Now, when you cancel your reply to a private message, you are gracefully returned to the previous page you were viewing.
- Previously, the Labels tab appeared under Group Admin > Features, even though labels are not supported on Group nodes. This display issue has been fixed, and the Labels tab no longer appears on this page.
- Previously, there was a display issue with videos not resizing properly for anonymous users on pages using the customized layout two-column.main-side.layout on the ForumTopicPage. In this scenario, the video playback window extended beyond the right edge of the page. This display issue has been fixed, and the video now resizes properly to the page.
- Previously, the widget.messages-leaderboard component was displaying the wrong kudos count for the posts listed in the component. Although the posts were listed in the correct order, the numbers being displayed were the “all-time kudos count” value, even when a custom date range was configured. We have fixed this issue, and the component now displays the correct kudos count for each listed post.
- Previously, if you had a content filter set to “take no action” on a specific word (under Community Admin > Mod Tools > Settings for the desired filter) and a post with invalid HTML is submitted that includes that word, the post was rejected due to the invalid HTML, not the word. However, the returned message didn’t indicate the rejection reason, making it appear that the content filter was not working. We have improved the messaging to indicate that the post was rejected for the invalid HTML, not the word.
- On pages where the Escalate button (action.escalate-message-button) has been added to the ForumMessage quilt, the user sees an error when trying to view the rich text preview. This issue has been fixed, and you can now preview the post without receiving an error.
- Mobile-friendly dates now display properly in Chinese, using the proper Chinese characters instead of English numerals.
- @Mentions in an article’s teaser section are now properly converted to an href, instead of being left in the original HTML.
- Previously, if you bookmarked a URL for a group message and that message was moved to a board, you would receive an error. This issue has been fixed, and you are now redirected to the new message location.
- Previously, if you issued the ratings leaderboard API call (/restapi/vc/ratings/key/tkb_ratings/ratings/leaderboard), you would receive IDs for messages that had been previously deleted. This issue has been fixed, and now only valid message IDs are returned.
- Filter report notifications no longer display random characters.
- When clicking through search results using the Internet Explorer 11 browser, you used to be taken to the community Home page when you clicked the browser’s Back Now, you are taken back to the search results page.
- Previously, when the User Profiles tagging feature was enabled, but disabled in the Community Admin, the Total Tags metric was being displayed in the user’s profile. This issue has been fixed, and now the Total Tags metric does not display in the User Profile page when the tagging feature is disabled.
- When CAPTCHA is enabled under Admin > Posts & Topics, users are now prompted with the CAPTCHA challenge phrase before they can make board-level posts. Previously, there were situations when the CAPTCHA verification did not initiate.
- You no longer receive an error when uploading an image that has a parenthesis in the file name. For example, uploading an image file with the name “myimage (2).png” no longer throws an error.
- Previously, if you viewed a user's profile or post when the user was about to earn a new rank, the audit log showed the user viewing that profile as having been the user who changed the role for the user who achieved the new rank. We have fixed this issue, and now all role changes not explicitly made by a user are shown as having been changed by "SYSTEM".
- With the 14.12 release, we have removed the Community Admin > Discussion Styles > Blog > Display Technorati (Blog Reactions) With the removal of this admin setting, the “View Article Reactions” link will no longer appear on blog article pages.