hi there 👋🏽

I write tech things. Mostly stuff involving CMS, dotnet, API’s, containers and IOT

Authentication Modes in Optimizely Graph

Fetching Content with Optimizely Graph There’s two common modes of authentication when trying to fetch data with Optimizely Graph: Single Key - This mode of authentication is used to fetch latest Published version of the content Authorization with AppKey/AppSecret - This mode of authentication is used to fetch data you get from Single Key plus Previous Versions and Draft Versions of the content Content Type Single Key Authorization with AppKey/AppSecret Latest Published Content ✅ ✅ Previous Versions ❌ ✅ Draft Content ❌ ✅ What mode does the embedded GraphiQL use?...

Friday, October 20, 2023 13:59 +0200 · 3 min

Content Sources in Optimizely Graph

Content Sources in Optimizely Graph? Optimizely Graph offers endpoints that enable customers to seamlessly integrate custom content types from external sources such as CMS and Product Catalogs into the Optimizely Graph. Once this data is defined and indexed, it gains access to the full suite of Optimizely Graph capabilities, including Full Text Search, Faceted Search, and Semantic Search. How do I define a content type? This is done by creating a schema definition as shown in the example below and leveraging the Sync API for Content Types endpoint...

Monday, October 16, 2023 15:25 +0200 · 2 min

Content Graph - Letting GraphQL do all the hard work for you

Background As we have seen before, setting up Content Graph on the CMS side is pretty easy. However, when it comes to the “head” part of the setup, things can get a bit tricky at times. There’s a lot of ways to achieve the same results on the frontend side of things. Note: I’m using next.js and yarn for my frontend setup. Also I’m assuming that you have a content-graph endpoint that you can query without which none of the following would be possible...

Friday, May 26, 2023 12:18 +0200 · 4 min

DXP and Github Workflows

Prerequisistes Access to a DXP Environment Access to Github Basic Understanding of CI/CD pipelines and YAML An existing CMS12 website connected to DXP Generate API Keys I’ve generated a seperate API Key for usage from Github which only has access to my integration environment because I want to deploy to production by hand and avoid “accidental” releases to production. You could however choose to let github deloy the site to the production environment if you like....

Wednesday, June 22, 2022 15:47 +0200 · 3 min

Adding A/B Testing to CMS12

I recently saw that Optimizely released A/B Testing Package (EPiServer.Marketing.Testing) for dotnet core, meaning you can now install the A/B Testing Addon on CMS12 Install For .NET 5 use dotnet add package EPiServer.Marketing.Testing -v 3.0.0 For .NET 6 use dotnet add package EPiServer.Marketing.Testing -v 3.1.0 Configure But if you try running the site after the install, you might notice an error similar to this: info: EPiServer.Framework.Initialization.InitializationEngine[0] Initialization started fail: EPiServer.Framework.Initialization.InitializationEngine[0] Initialize action failed for 'Initialize on class EPiServer....

Friday, May 20, 2022 14:50 +0200 · 2 min

Customizing VisitorGroup Behavior in Optimizely CMS

VisitorGroups One way you can personalize a digital experience in Optimizely is to create a visitor group with criteria for that group. For example, you can design a product banner specifically for first-time visitors, or for visitors from a geographic region or market. If you have multiple visitor groups, a visitor may match more than one visitor group. You then can use personalization groups to group content to avoid displaying the same content twice, and display fallback content to visitors who match no visitor groups....

Thursday, May 12, 2022 18:11 +0200 · 2 min