DFO 3.0.0 - 3 Setting up Optimizely
After installation of the NuGet package, it's time to setup the connection to you Digizuite DAM instance. Add the DAMIntegrationConfiguration to your startup class. The configuration should be added after the AddCms due to TinyMCE initialization. Here is an example. The paramaters in the connection, will be delivered by Digizuite.
services.AddDigizuiteDAM( new Digizuite.Optimizely.Configuration.DAMIntegrationConfiguration() { DatabaseName = "[ConnectionString]", Connection = new Digizuite.Models.DigizuiteConfiguration() { BaseUrl = new Uri("https://[DAM url]"), SystemUsername = "Episerver", SystemPassword = "55f2f63f09ff4f73f75fbb7d7e6e69b0", ConfigVersionId = "/5/" } });
Demo environment
For testing the connector, you can use the demo environment. Be aware that this environment is controlled by Digizuite and willl be reset occasionally. Meaning content you upload will be delete.
Connection = new Digizuite.Models.DigizuiteConfiguration() {
BaseUrl = new Uri("https://dam-dfo.digizuite.com"),
SystemUsername = "Episerver",
SystemPassword = "55f2f63f09ff4f73f75fbb7d7e6e69b0",
ConfigVersionId = "/1/"
}
DAMIntegrationConfiguration parameters
Name | Type | Required | Default | Description |
---|---|---|---|---|
DatabaseName | string | Yes | The databaseName is the name of the database that you are running your Optimizely application in. We have experienced in some applications that it is not enougt to only add the name of the database, but it should have the hole connection string. You can get the connection string like this: _configuration.GetConnectionString("EPiServerDB") | |
Connection | DigizuiteConfiguration | Yes | This object contains the connection parameters to the Digizuite DAM instance. | |
RoleMappings | List<RoleMappingElement> | No | ||
FallbackIconMappings | List<IconMappingElement> | No | ||
VideoPlaybackType | VideoPlaybackType | No | VideoPlaybackType.Streaming | The connector comes with 3 different option for video playback. You can read about the it at DFO 3.0.0 - 16 Video playback |
DigizuiteWebhookElement | DigizuiteWebhookElement | No | Listening for Digizuite asset update events. When someone make a change to an asset in Digizuite DAM and event is raised which your Optimizely instanc gets and all cached data about the asset will be cleared. |
Child element: DigizuiteConfiguration
The connection is the most important child element. This is where the main connection setting pointing to the DAM is specified. Typically you will replace this with connections settings you have gotten from your own DAM Center.
Name | Type | Required | Default | Description |
---|---|---|---|---|
BaseUrl | Uri | Yes | Base url to the DAM Center | |
SystemUsername | string | Yes | Sync user that the integration can use in the DAM Center | |
SystemPassword | string | Yes | The hashed secret that the integrations sync user should use. | |
ConfigVersionId | string | Yes | A DAM Center can have many different products: Media Manager, DAM for Sitecore, Adobe Connector, Office Connector, etc. Each of these can have many versions. These versions facilitate having different configuration, searches, and other things, which can change the experience for the end user. These various versions are defined by their versionId. If the original version has versionId "/1/", then its first child will have "/1/0/". The versionId is an SQL data type called hierarchy ID. It is a tree structure. A use case may be that you want to experiment with some configuration, so you create a new version of DFE in the DAM Center. Then you can alter the versionId attribute on your EPi Server site to "/1/0/", and do your tests, while your public DFE integration still use the "/1/" versionId. |
Child element: RoleMappings
Since access rights can be set on individual assets in the DAM Center, you can use the list of roleMappings to map DAM Center roles to Episerver roles in order to ensure proper permissions for various editor groups. The default configuration of these elements should be sufficient in most cases.
Name | Type | Required | Default | Description |
---|---|---|---|---|
DigizuiteRole | string | Yes | The name of the role in Digizuite to map. | |
EpiserverRoles | List<string> | Yes | A list of Episerver roles that be given similar permissions to the Digizuite Role. |
Child element: FallbackIconMappings
The FallbackIconMappings list is in order to ensure that for assets where a proper thumbnail cannot be shown, we can map the various file extensions to a fitting icon. Typically the default should be sufficient.
Each element in this list has the settings below:
Name | Type | Required | Default | Description |
---|---|---|---|---|
DocumentType | string | Yes | The icon for the document type - for instance "video" for a video icon. | |
Extensions | List<string> | Yes | A list of file extensions to map for the above document type. |
Child element: DigizuiteWebhookElement
The DigizuiteWebhookElement for seting up the connection between Digizuite DAM and your Optimizely instance. So you will recive update notification when assets change.
Name | Type | Required | Default | Description |
---|---|---|---|---|
SiteUrl | string | Yes | This is the url that Digizuite use to send the notification to. We will append the routing to the controller to the url. [siteUrl]/episerver/digizuite/DigizuiteWebhook/Update | |
Guid | string | Yes | This is the unique identifier for the endpoint in Digizuite DAM. Just generate a new guid. | |
Subscriptions | List<int> | No | new List<int> { 1 } | A list of changeTypes. Possible values are: AssetChanged = 1, MetafieldChanged = 2, TreeValueChanged = 4, ComboValueChanged = 8 |
DeleteBlob | bool | No | False | By default this is false. Enable this if each instance of a loadbalanced enviroment has its own local blob storage. |