The rating service offers developers the ability to allow members of the site to rate user-generated content.
Ratings can be created and displayed on-site using the Rating/RatedItem widget extensions and the Ratings/RatedItems in-process APIs. Developers can also use the Rating/RatedItem REST endpoints along with the Zimbra Social OAuth Service to offer rating functionality in external applications. The widget extensions and in-process API support rating and displaying ratings for content types implementing the IRateableContentType interface. The REST endpoints also support rating and displaying ratings for for defined content types, but additionally support rating custom content in the form of a URL when used in conjunction with an OAuth client.
To add support for rating a supporting content item, use the following syntax in a Widget Studio widget:
where $contentId is the GUID identifying the individual content item and $contentTypeId is the GUID identifying the type of the content. The content ID is exposed on all core entities - for example, a blog post returned from $core_v2_blogPost.Get(). The content type is exposed on the primary extension from which the content item is retrieved; for example the blog post content type ID is exposed as $core_v2_blogPost.ContentTypeId.
This call will render the standard rating UI inline. To adjust the rating UI, additional options are exposed on the $core_v2_ui.Rate() method, or the Ratings API can be used directly be interacting with the $core_v2_rating widget extension and the Rating REST endpoints.
While it is perfectly acceptable to use url-based content with ratings, if a developer finds they are doing so quite a bit they should consider creating a custom application type and content type for deeper integration that can support other core services like comments, ratings, search, etc.