HomeDev guideRecipesAPI Reference
Dev guideUser GuidesLegal TermsNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

CMS + CMP + Graph

How to integrate Optimizely Content Management System with Optimizely Content Marketing Platform and Optimizely Graph.

Optimizely Content Management System (CMS) can fetch data from Optimizely Content Marketing Platform (CMP) asset metadata when integrated with Optimizely Graph. If you use CMP, you also have access to Optimizely Graph and can fetch metadata from it instead of relying on the CMP API.

📘

Note

Starting in November 2024, you should use the Optimizely Graph-supported version of this integration for optimal performance.

Click the integration NuGet package to download and install the package and use the following steps:

  1. Update the existing EPiServer.Cms.WelcomeIntegration packages to version 1.4.0.
  2. Install EPiServer.Cms.WelcomeIntegration.Graph.
  3. Configure GraphClient in appsettings.json.
    "Optimizely": {  
      "ContentGraph": {  
        "GatewayAddress": "<https://cg.optimizely.com">,  
        "SingleKey": "SINGLE_KEY_FROM_CMP",  
        "QueryPath": "content/v2",  
        "UseHmacKey": false  
      }  
    }
    
  4. Ensure there is services.AddDAMUi(o => o.Enabled = true) call in Startup.cs.
  5. Add services.AddDAMGraphIntegration(); call to Startup.cs.
  6. If you do not already have a CMS-to-Graph integration, then add this configuration in appsettings.json. (If you do, you already have it.)
    "Optimizely": {  
      "ContentGraph": {  
        "GatewayAddress": "<https://cg.optimizely.com">,  
        "AppKey": "APPKEY",  
        "Secret": "SECRET",  
        "QueryPath": "content/v2"  
      }  
    }
    
    The AppKey and Secret let you read and write to a CMS schema. However, the CMP+Graph integration uses different schema which is now available with the CMS keys.
  7. Configure the following code in appsettings.json.
    "EPiServer": {  
      "Cms": {  
        "CMPGraph": {  
           "SingleKey": "SINGLE_KEY_FROM_CMP"  
        }  
      }  
    }
    
    Or in Startup.cs.
    services.Configure<CMPGraphOptions>(options => {  
      options.SingleKey = "YOUR_KEY_FROM_CMP";  
    });