Digizuite DAM integration service provides an API where integration endpoints can register for notifications regarding asset and metadata changes. We have made it easy to setup the connection between Episerver Optimizely and Digizuite. All you have to do is to add some configuration in the web.config - and your Episerver Optimizely instance will receive notifications from Digizuite whenever an asset changes.
In Episerver Optimizely we have created a new ApiController, which is located at the following route [siteUrl]/digizuite/integration. This is the endpoint that receives notifications from Digizuite. An important thing to note here is, that the endpoint should be reachable by the Digizuite server. Otherwise, the notifications won't be able to sent. This is usually the case for developers on local environments.
...
As a developer, you can also build your own logic around notifications from Digizuite. You can listen for the event by subscribing to the event, just like we do above.
1. Setup the endpoint
Open the Episerver’s Optimizely’s web.config and locate the Digizuite node. Beneath this node, there’s a node called “digizuiteIntegration”. This is the one we need to update. Here you see an example where it has been configured:
...
In guid, you input the same GUID which is found in the customHeaders field inside Media Manager → General settings → Integrations → Your Episerver Optimizely integration → Custom headers. In here - the header should be formatting something like this “Authorization:e01553bd-f66a-4fba-8b6b-884133d8ae80“, where the GUID is just a random one you generate. The GUID is used to validate that the notifications come from the correct sender.
The parameter subscriptions indicates which “change type” you want to listen for. The possible values can be found here DFE 2DFO 3.10.0 - 3 Setting up EpiserverOptimizely. The default value is 1 - that being the ID of the “AssetChanged” event.
...
Code Block |
---|
2020-05-14 08:22:33,529 [1] INFO DigizuiteProviderInit::Initialize: DigizuiteIntegration has been setup and configured |
2. Verify the connection
Once you have access to the Digizuite server. Open a browser from that server and access your Episerver Optimizely site. If you cannot access the site, Digizuite won't be able to send notifications to it.
If the server can access your site, the next test is to change an asset in the Digizuite DAM Center and verify that the notification has been sent to EpiserverOptimizely.
Change the log level for the logger “Digizuite.Episerver.Helpers.Internal.Logger” to Debug or All.
Reload the site.
Go to the DAM Center and find an asset that is published to the Episerver Optimizely channel.
Change some of the metadata, e.g. the title. The Digizuite DAM will notify all registered integration endpoints with the update.
You should see the following log statement in the log file Digizuite.log. This indicates that Digizuite DAM has delivered the notification to the api controller inside EpiserverOptimizely.
Code Block 2020-05-15 11:20:45,828 [20] DEBUG DigizuiteIntegrationController::Update: DigizuiteIntegration Event, Type:1 ItemId:395810 AssetId:3247
Lastly, verify that the changed metadata is the same as in EpiserverOptimizely.