HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Get started with Optimizely Community API

Explains the philosophy, architecture, and fundamental concepts applicable to all features of the Optimizely Community API.

The Optimizely Community (formerly Social) API is a collection of extensible services for defining and collecting community-generated content.

  • Comments – Manage and deliver hierarchical, user-generated content.
  • Ratings – Lets users quantify the value of your content and products.
  • Groups – Aggregate users and content to build digital communities.
  • Moderation – Review and control user contributions.
  • Activity Streams – Broadcast your audience's engagement with your application.

This section explains the philosophy, architecture, and fundamental concepts applicable to features of the Optimizely Community API. See also: Get started with Optimizely Community API.

Philosophy

Every site has unique needs for the management of user-generated content. Sites differ in how they want to invite feedback, shape that content, and moderate its publication. These needs demand flexibility from a content platform. Unfortunately, implementing such features is often forced to conform to the limitations of a platform that is not suited to accommodate them.

The Optimizely Community API is attuned to these needs:

  • The platform's services are concise and composable. You can define relationships between the platform's lightweight components to assemble unique community features relevant to your site.
  • Each capability within the platform represents a consumable building block. Use only what you need, when you need it, in a manner relevant to your site.
  • You can shape social content by composing platform entities with custom data models. Store, relate, and present social content in a form that is appropriate for your site.
  • The services do not restrict your integration opportunities. Your content and users reside in many places. You shouldn't be restricted about who and what may comprise your digital communities.

Architecture

The Optimizely Community API comprises several micro-services, each supporting a discrete social capability. You may apply services individually to enhance a website with simple community features. You may also apply services in conjunction with one another to create sophisticated, community-generated content tools.

The Community API's services include:

  • Comments
  • Ratings
  • Moderation
  • Groups
  • Activity Streams

With explicit boundaries around the platform's features, you can establish flexible relationships between components without corrupting the individual responsibilities of those use cases.

For example, consider the relationship that comments might share with moderation. Moderating user-generated content is a common use case for a digital community but is not always a requirement. The Optimizely Community API lets you compose capabilities as necessary to achieve your goals yet avoid inheriting nonessential overhead.

This is important for a couple of reasons. For one, the platform remains light and flexible without jeopardizing the breadth of possibility in its application. More importantly, this design lets the platform co-evolve with the needs of implementation partners. In this architecture, the responsibility of each component remains intact; new platform capabilities are additive and incur no alteration of intent.

A product review is a good use case for extending the platform by composing capabilities. Consider the typical components of a review:

  • Simple content, often in threaded format, describing the review's target
  • Ratings quantifying the quality of various facets of the review's target

A comment, with its inherent hierarchical nature, represents a natural root entity in the definition of a review. By leveraging the data extensibility of the Optimizely Community API, a comment may be composed with additional data to complete the use case. For example, it may refer to ratings, purchase dates, and other supporting details.

See also: Build product reviews with Optimizely Community API.

See also Community API class library for the REST API service layer.