Walkthrough: Enabling the DAM connector in an environment deployed to XM Cloud
To use Sitecore DAM in an environment deployed to XM Cloud, you must configure and enable the DAM connector.
This walkthrough describes how to:
-
Configure and enable the DAM connector
-
Configure a DAM connection
-
Configure CORS for DAM
Prerequisites
Before you enable the DAM connector in an environment deployed to XM Cloud, you must have:
-
Access to the XM Cloud Deploy app.
-
A user in Sitecore Content Hub that has the relevant user rights.
-
An OAuth client for the connector.
Configure and enable the DAM connector in the XM Cloud Deploy app
To configure and enable the DAM connector:
-
Log in to the XM Cloud Deploy app.
-
On the navigation pane of the XM Cloud Deploy app, click Projects.
-
On the Projects page, click the project that contains the environment where you want to enable the DAM connector.
-
On the project page, click the environment where you want to enable the DAM connector.
-
On the environment page, click Variables, then click Create variable.
-
Create the following variables. For each variable, set the Target to CM.
Variable
Value
Description
Sitecore_ConnectionStrings_DAM_dot_ContentHub
ClientId={client_id};ClientSecret={client_secret};UserName={username};Password={password};URI={uri};
Example:
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
username
andpassword
of the user you created in Content Hub.uri
of your Content Hub instance.Sitecore_ConnectionStrings_DAM_dot_SearchPage
Sitecore Content Hub search page URI
Example:
https://sitecore-contenthub-dam-uri/en-us/sitecore-dam-connect/approved-assets
The URI for the page that opens the DAM in an IFrame.
Sitecore_ConnectionStrings_DAM_dot_ExternalRedirectKey
Sitecore
SITECORE_AppSettings_damEnabled__define
yes
By default, when you deploy an environment to XM Cloud, the DAM connector is disabled. To enable the connector, set this value to
yes
.
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 XM Cloud environment.
-
In the XM Cloud repository folder, create the following subfolder:
RequestResponse{Project Repo Name}/src/platform/App_Data/Xdts
-
Open the
Xdts
subfolder, create a file namedWeb.config.xdt
, and open it for editing. Add the following code, then add your CSP in thevalue
attribute 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-Policy
tag 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
AssetExtensionDataConfigurationSetting
setting.If you have configured different hostnames, you must add all the hostnames as sources to the
Content-Security-Policy
parameter, in theimg-src
,child-src
, andconnect-src
properties. -
Save the file.
-
To include the
web.config
file transformation in the XM Cloud build configuration, navigate to the root folder, and open thexmcloud.build.json
file for editing. Add the following properties:RequestResponse"transforms": [ { "xdtPath": "/app_data/xdts/web.config.xdt", "targetPath": "/web.config" } ]
-
In the src/platform folder, open the
Platform.csproj
file and add the following:RequestResponse<ItemGroup> <Content Include="App_Data\**" /> </ItemGroup>
-
Commit your changes and push them to the remote repository.
-
In the XM Cloud Deploy app, create a build and deploy it to your environment.
Configure CORS for DAM
To enable the Content Hub DAM iframe to successfully display in the Content Editor and XM Cloud Pages 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 XM Cloud Pages:
https://pages.sitecorecloud.io/
, then click Add. -
In URL field, enter
https://
, then the environment host name of your XM Cloud environment, for example:https://my-xmc-environment-host-name.cloud/
, then click Add. You can find your environment host name in your environment details.You can now display DAM assets in the Content Editor.