Bartosz Sekula
Nov 5, 2024
  3502
(2 votes)

CMS + CMP + Graph integration

We have just released a new package https://nuget.optimizely.com/package/?id=EPiServer.Cms.WelcomeIntegration.Graph which changes the way CMS fetches CMP Asset metadata.

If you use the CMP it means that you also have access to Graph and can fetch metadata from it instead of relying on the CMP API.

There are a few steps required in order to start using the new package https://nuget.optimizely.com/package/?id=EPiServer.Cms.WelcomeIntegration.Graph 

  1. Existing EPiServer.Cms.WelcomeIntegration packages need to be updated to version 1.4.0
  2. EPiServer.Cms.WelcomeIntegration.Graph needs to be installed
  3. GraphClient needs to be configured in appsettings.json in the following way:
    "Optimizely": {
      "ContentGraph": {
        "GatewayAddress": "https://cg.optimizely.com",
        "SingleKey": "SINGLE_KEY_FROM_CMP",
        "QueryPath": "content/v2",
        "UseHmacKey": false
      }
    }
  4. Make sure there is services.AddDAMUi(o => o.Enabled = true) call in Startup.cs
  5. Add services.AddDAMGraphIntegration(); call to Startup.cs
  6. If customer already has a CMS to Graph integration then it means he already has this config in appsettings
    "Optimizely": {
      "ContentGraph": {
        "GatewayAddress": "https://cg.optimizely.com",
        "AppKey": "APPKEY",
        "Secret": "SECRET",
        "QueryPath": "content/v2"
      }
    }
  7. Those AppKey&Secret allow to read&write to a CMS schema. But our new CMP+Graph integration uses different schema which is now available with the CMS keys.

  8. The following config needs to be added to appsettings.json
    "EPiServer": {
      "Cms": {
        "CMPGraph": {
           "SingleKey": "SINGLE_KEY_FROM_CMP"
        }
      }
    }
  9. Or to Startup.cs
    services.Configure<CMPGraphOptions>(options =>
    {
        options.SingleKey = "YOUR_KEY_FROM_CMP";
    });

In case the new package is not installed then it would still work as before, meaning all metadata will be fetched from the CMP API.

Nov 05, 2024

Comments

Andrew Markham
Andrew Markham Nov 6, 2024 05:21 PM

Hi Bartosz,

Can you provide any more details about this package?

I would like to know what interfaces it provides and whether we can use it directly to interact with the CMP/DAM.

I  recently developed my own integration https://github.com/andrewmarkham/Opti-Dam/tree/main/src/OptiDAM, and I would be keen to know whether the new package can replace my approach.

Thanks

Andy

Magnus Rahl
Magnus Rahl Nov 8, 2024 02:11 PM

Andrew, the documentation is here: CMP DAM Asset Picker in CMS

It covers both the user interface picker and the API:s for fetching image metadata (which is what this feature improves).

Please login to comment.
Latest blogs
A Synonyms Manager for Optimizely Graph

If you’re using Optimizely Graph for search, synonyms are one of the simplest ways to improve relevance without touching content. But they’re also...

Pär Wissmark | Mar 17, 2026 |

Building a Better Link Validation Report in Optimizely CMS 12

Broken links frustrate visitors and damage SEO. I have made a custom broken links report, that makes it easier to work broken links than the built-...

Henning Sjørbotten | Mar 17, 2026 |

Jhoose Security Module V3.0.0 – Site-Level Security Configuration for Optimizely

Discover what's new in Jhoose Security Module 3.0, including site-level security configuration for multi-site Optimizely solutions with global...

Andrew Markham | Mar 15, 2026 |

Running 64 Sites on Headless Optimizely CMS with GraphQL

64 websites. Live. Running on headless Optimizely with GraphQL. We just wrapped a major rollout for our Rockwool Digital Experience Platform  and t...

Piotr | Mar 14, 2026