Walkthrough: Enabling the DAM connector in a local development environment
To use Sitecore Digital Asset Management (DAM) in a local SitecoreAI development environment running in a Docker container, you must configure and enable the DAM connector.
This walkthrough describes how to:
-
Configure a DAM connection
-
Configure and enable the DAM connector
-
Configure CORS for DAM
Prerequisites
Before you enable the DAM connector, you must have:
-
A user in Sitecore Content Hub that has the relevant user rights
-
An OAuth client for the connector.
Configure a DAM connection
If you don't have a content security policy (CSP), we strongly recommend you create one to guard against cross-site scripting (XSS) and data injection attacks. If you already have a CSP, you need to add the relevant Content Hub instance URLs.
To configure a DAM connection and add your CSP:
-
Clone the source control repository linked to your SitecoreAI environment.
-
In the SitecoreAI repository folder, create the following subfolder:
RequestResponse{Project Repo Name}/src/platform/App_Data/Xdts -
Open the
Xdtssubfolder, create a file namedWeb.config.xdt, and open it for editing. Add the following code, then add your CSP in thevalueattribute value:RequestResponse<?xml version="1.0" encoding="utf-8"?> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <location path="sitecore"> <system.webServer> <httpProtocol> <customHeaders> <add xdt:Transform="SetAttributes" xdt:Locator="Match(name)" name="Content-Security-Policy" value="{Add your content security policy here}"/> </customHeaders> </httpProtocol> </system.webServer> </location> </configuration>Ensure that the
Content-Security-Policytag contains the URL of the Content Hub instance (for example,content-hub-url.stylelabs.com), other delivery hostnames (for example,content-hub-url-delivery.stylelabs.cloud), and generated public links (for example,content-hub-url.stylelabs.com:8686).NoteIn Content Hub, you can configure different delivery hostnames for public links by using the
AssetExtensionDataConfigurationSettingsetting.If you have configured different hostnames, you must add all the hostnames as sources to the
Content-Security-Policyparameter, in theimg-src,child-src, andconnect-srcproperties. -
Save the file.
-
Apply the XDT transforms to your base image. For more information, see applying configuration transforms.
Configure and enable the DAM connector
The DAM connector adds the Insert from Sitecore DAM item to the Rich Text Default profile for the Rich Text Editor. To enable the insert function, you must configure a connection to Sitecore DAM.
To configure and enable the DAM connector:
-
In Github, clone the project repository you created in Sitecore Cloud Portal,
-
In your SitecoreAI repository folder, open the
.envfile and add the following variables:Variable
Value
Description
Sitecore_DAM_ContentHubClientId={client_id};ClientSecret={client_secret};UserName={username};Password={password};URI={uri};Example:
Sitecore_DAM_ContentHub=ClientId=App;ClientSecret=a51a8fb6-4f57-1234;UserName=john;Password=hunter2;URI=https://example.com/;The Client ID and Client Secret of the connector's OAuth client.
The
usernameandpasswordof the user you created in Content Hub.uriof your Content Hub instance.Sitecore_DAM_SearchPageSitecore Content Hub search page URI
Example:
Sitecore_DAM_SearchPage=https://sitecore-contenthub-dam-uri/en-us/sitecore-dam-connect/approved-assetsThe URI for the page that opens the DAM in an IFrame.
Sitecore_DAM_ExternalRedirectKeySitecoreSITECORE_DAM_ENABLEDyesBy default, the DAM connector is disabled. To enable the connector, set this value to
yes. -
Open the
docker-compose.override.ymlfile, and add the following key-value pairs to theservices>cm>environmentattribute:RequestResponseSitecore_ConnectionStrings_DAM_dot_ContentHub: ${Sitecore_DAM_ContentHub} Sitecore_ConnectionStrings_DAM_dot_SearchPage: ${Sitecore_DAM_SearchPage} Sitecore_ConnectionStrings_DAM_dot_ExternalRedirectKey: ${Sitecore_DAM_ExternalRedirectKey} SITECORE_AppSettings_damEnabled__define: ${SITECORE_DAM_ENABLED} -
In the repository folder, open a Windows console and run the following command:
RequestResponsedocker compose up -dNoteFor information on setting up your local environment see Set up your full-stack SitecoreAI local development environment
Configure CORS for DAM
To enable the Content Hub DAM iframe to successfully display in the Content Editor and the Page builder media item picker, you need to add the Pages and environment host name URLs to Content Hub CORS configuration.
To configure CORS for DAM:
-
On the Sitecore DAM main menu, click Manage, then Settings.
-
On the Settings page, click PortalConfiguration, then click CORSConfiguration.
-
In URL field, enter the URL of the Page builder:
https://pages.sitecorecloud.io/, then click Add. -
In URL field, enter
https://, then the environment host name of your local environment, for example:https://xmcloudcm.localhost/, then click Add.XM Cloud is now SitecoreAISome code examples, images, and UI labels may still use XM Cloud while engineering assets are being updated.
You can now display DAM assets in the Content Editor.