Hide menu Last updated: Apr 24 2017
Area: Episerver Social Applies to versions: 1.3 and higher
Other versions:

Installing Episerver Social

This topic introduces the files and actions necessary to install the Episerver Social platform features.

Setup

Prerequisites

  • Microsoft .NET Framework 4.5.2
  • Visual Studio 2015 (with the NuGet Package Manager)

Packages

The Episerver Social platform is comprised of a number of micro-services accessible to an application by installing the packages appropriate to each respective service.

Conventions

The packages of the Episerver Social platform adhere to a number of conventions intended to enhance their discoverability and clarify their purposes. A description of these conventions can be found below.

Package identification

Packages comprising the Episerver Social platform are identified with the prefix EPiServer.Social.

Feature packages

Specific feature packages are identified by a name conforming to the following pattern: EPiServer.Social.[Feature-Name]. The [Feature-Name] identifies the platform feature being installed with the package. Examples:

  • EPiServer.Social.Comments
  • EPiServer.Social.Ratings
Integration packages

Each Episerver Social platform feature package is accompanied by an optional Episerver CMS integration package. These packages conveniently register the services of an Episerver Social platform feature with the service locator supporting an Episerver CMS site. These packages can be identified by a name conforming to the following pattern: EPiServer.Social.[Feature-Name].Site. Examples:

  • EPiServer.Social.Comments.Site
  • EPiServer.Social.Ratings.Site

Package list

Here are the Episerver Social platform packages.

Package list

Package

Description

EPiServer.Social.Framework

Installs all features of the Episerver Social platform to an Episerver CMS site

EPiServer.Social.Comments

Installs the platform's commenting services

EPiServer.Social.Comments.Site

Integrates the platform's commenting services with the Episerver CMS's service locator

EPiServer.Social.Ratings

Installs the platform's rating services

EPiServer.Social.Ratings.Site

Integrates the platform's rating services with the Episerver CMS's service locator

EPiServer.Social.Moderation

Installs the platform's moderation services

EPiServer.Social.Moderation.Site

Integrates the platform's moderation services with the Episerver CMS's service locator

EPiServer.Social.Groups

Installs the platform's group services

EPiServer.Social.Groups.Site

Integrates the platform's group services with the Episerver CMS's service locator

EPiServer.Social.ActivityStreams

Installs the platform's activity stream services

EPiServer.Social.ActivityStreams.Site

Integrates the platform's activity stream services with the Episerver CMS's service locator

The following packages support the platform services and are ancillary to the packages above.

Ancillary package list

Package

Description

EPiServer.Social.Common

Supports core functionality of the platform's services

EPiServer.Social.Common.Rest

Supports integration between the platform's features and associated cloud services

Installation

Follow these steps to install Episerver Social platform packages. These steps may be repeated for each feature.

Installing in an Episerver site

  1. Open the Episerver site with Visual Studio.
  2. From Visual Studio's Solution Explorer window, right click the website's project.
  3. From the menu, choose Manage NuGet Packages.
  4. From the NuGet Package Manager, select the Package Source serving the Episerver Social packages.
  5. From the list of packages, click the EPiServer.Social.[Feature-Name].Site package corresponding to the feature that you wish to install.
  6. Click the Install button. When complete, the package and its dependencies are applied to your site.

Installing in other applications

  1. Open the application with Visual Studio.
  2. From Visual Studio's Solution Explorer window, right click the website's project.
  3. From the menu, choose Manage NuGet Packages.
  4. From the NuGet Package Manager, select the Package Source serving the Episerver Social packages.
  5. From the list of packages, click the EPiServer.Social.[Feature-Name] package corresponding to the feature that you wish to install.
  6. Click the Install button. When complete, the package and its dependencies are applied to your site.

Getting connected

To use the Episerver Social Platform APIs, you must first configure your application to communicate with the cloud services that support these features.

The details of this configuration are provided to you when your Episerver Social Platform account has been provisioned. If you have not received your configuration, please contact your Episerver account manager.

Configuration

To configure the Episerver Social Platform APIs, open your application's web.config or app.config and update it to include the XML configuration that was provided to you. An example configuration is shown below:

<configuration>
  <configSections>
    <section name="episerver.social" type="EPiServer.Social.Common.Rest.Configuration.SocialConfiguration, EPiServer.Social.Common.Rest.Configuration"/>
  </configSections>
  <episerver.social>
    <settings timeout="100000"/>
    <authentication appId="your-application-id" secret="your-application-secret"/>
    <endpoints>
      <add name="Comments" value="https://..." />      
      <add name="Ratings" value="https://..." />      
      <add name="Moderation" value="https://..." />      
      <add name="ActivityStreams" value="https://..." />      
      <add name="Groups" value="https://..." />      
    </endpoints>
  </episerver.social>
</configuration>

This XML represents a sample configuration. The configuration provided to you contains the necessary data to connect to the Episerver Social Platform cloud services.

A missing or malformed configuration will result in a SocialException being thrown when attempting to interact with the Episerver Social APIs.

Settings

This section captures general settings for the Episerver Social Platform APIs.

  • timeout – The length of time (in milliseconds), which the Episerver Social Platform APIs will allow for requests to complete. Requests that exceed the configured timespan are aborted with an exception.

Authentication

This section captures the settings necessary for your application to authenticate with the Episerver Social Platform.

  • appId – The unique identifier representing your Episerver Social Platform account.
  • secret – The cryptographic key used to ensure the authenticity of requests from your application.

Endpoints

This section defines the endpoints for individual Episerver Social Platform services.

Authentication

The Episerver Social Platform uses a multi-layered approach to ensuring the authenticity and integrity of each request issued to it.

Configuration

The Episerver Social configuration for your application captures settings supporting the authentication process. The accuracy of these settings is crucial. Inaccurate authentication settings result in requests being rejected as unauthentic.

Your application’s appId and secret are private to your application. This information should not be committed to a source control repository or otherwise publically exposed. It is recommended that this information be applied as a step in your application deployment process.

Server Time

One aspect of the authentication procedure enforces an expiration time for all requests. A request to the Episerver Social Platform is allowed 5 minutes from the time it is constructed until the time it is received by the platform. Requests falling outside of this grace period are rejected as unauthentic.

It is essential that the server hosting your application maintains accurate time. When the server time is inaccurate, requests are created with inaccurate timestamps. As a result, these requests may be rejected as unauthentic.

Communication

The Episerver Social Platform APIs communicate with cloud services over HTTPS. The endpoints for these services are identified in the configuration for your application. Configure your application hosting environment to permit communication between your application and these endpoints.

Comments