Deane Barker
Nov 13, 2014
  3789
(0 votes)

The EPiServer Channel Wrapper

We’re releasing a very early version of a wrapper we’ve written around EPiServer’s content channels. It reduces the amount of code necessary to connect to a content channel and send data to it.

Additionally, it provides a framework for the persistent mapping of external content IDs (from whatever datasource) against EPiServer PageGUIDs. This makes it possible to know when you need to create new content, and when you need to update existing content (and then have the correct GUID to do that).

The use case here is when you have content outside your EPiServer install that you need to sync against pages inside EPiServer. We see this so often in content integration scenarios that we finally built this wrapper to make it easier.

(And yes, we know the Service API for CMS will be coming at some point. But that’s just the transmission mechanism. If even we swap the services out, there’s still a bunch of surrounding logic to our library that’s still necessary.)

I wrote a blog post about the pattern here, which is worth reading as it discusses the reasoning and some of the architectural concepts behind the pattern (which, for the record, is not unique to EPiServer).

The “Import and Update” Pattern

And the code is on GitHub here:

EPiServer Channel Wrapper

There are example projects showing imports from code, XML, a SQL database, and another EPiServer installation (which makes it effectively a low-level form of content mirroring that you can modify, which is handy).  The README in the root has code samples and some architectural notes.

There’s quite a bit left to do on it yet:

  • Improve the deletion detection code
  • Implement content hashing to determine if content has changed since the last run and pre-empt the web service call entirely
  • Allow for parent page GUIDs, so as to allow nesting of content


Future improvements will come.  Pull requests are welcome.

Nov 13, 2014

Comments

Please login to comment.
Latest blogs
Lessons from Building Production-Ready Opal Tools

AI tools are becoming a normal part of modern digital platforms. With  Optimizely Opal , teams can build tools that automate real tasks across the...

Praful Jangid | Mar 7, 2026

My Takeaway from Optimizely Opal Agents in Action 2026 - What Agentic AI Means for the Future of Digital Marketing

I would like to share with you what stayed in my head after this amazing virtual event organized by Optimizely. Agents in Action 2026 , a live...

Augusto Davalos | Mar 6, 2026

From Vision to Velocity: Introducing the Optimizely MVP Technical Roundtable

Digital transformation is a two-sided coin. On one side, you have the high-level strategy, the business cases, the customer journeys, and the...

Patrick Lam | Mar 6, 2026

Commerce 14.45.0 is incompatible with CMS 12.34.2 (but that's an easy fix!)

Incompatible is a strong word, but that is to get your attention. This is one of the small thing that can be overlooked, but if you run into it, it...

Quan Mai | Mar 5, 2026