Take the community feedback survey now.

eGandalf
Nov 18, 2015
  3812
(4 votes)

An Ektron-to-Episerver Starter Kit

Over the last several months, I’ve been working with Allan Thraen and others to find and research ways to make the transition from Ektron CMS to Episerver Digital Experience Cloud as smooth as possible.

As was discussed last week at Ascend in Las Vegas, there is no push-button solution. Too much between the systems lacks a one-to-one mapping and Ektron’s platform allowed too much leeway in avoiding best practices for any fully-automated utility to be practical to develop and maintain.

Instead, I focused my energies on a handful of helpful paths.

For this post, I’d like to introduce you to a bit of code worked up between Allan and myself. If you want to skip the explanation, links to both sets of code are at the bottom of the article.

The first bit of code is Allan’s addition of a REST API to Episerver. This code extends the ServiceAPI, which is used to provide authentication and authorization protection, to add some content endpoints to your Digital Experience Cloud instance. For complete details, I suggest you follow through to his Github repo and readme.

In the second repository, I’ve coded up a few class libraries and console applications. Full details, including limitations, are in the ReadMe, but the general idea is to first move an Ektron Menu structure into Epi to be used as the basis for the content tree. Then, selectively move Ektron content from a Folder in the source CMS into a selected location within the newly generated content tree in the CMS.

Note that these are not officially supported projects, though Allan and I want to provide as much community support as we can. Feel free to file issues through Github and reach out to us if you would like to help contribute or create your own forks of either project (though we may want to incorporate anything cool you build :).

Github Repos:

  1. Allan Thraen’s Service API Extensions 
  2. James Stout’s Ektron Integration & Console Apps
Nov 18, 2015

Comments

Please login to comment.
Latest blogs
OptiId: What is it and why now is a good time to use it

If you’ve been hearing the term  OptiID floating around and wondering what the fuss is about, let’s break it down in plain English. What is OptiID ...

Jon Williams | Nov 12, 2025

Using Serilog in DXP

TL;DR  Use Serilog.Sinks.Console for DXP apps — or skip Serilog entirely and rely on default logging. It’s common during investigations that all th...

Karl Stålenheim | Nov 12, 2025

Handling Multiple OpenID Connect Providers in Optimizely CMS with .NET 8

When you need to authenticate against more than one OpenID Connect provider in the same ASP.NET Core app – say IdentityServer  for the public site...

Eric Herlitz | Nov 12, 2025 |

New Certification Alert: Become a Certified Optimizely CMS PaaS Administrator

If you’ve ever managed an Optimizely CMS environment, you already know it’s not just about deployments and settings. It’s about keeping everything...

Satata Satez | Nov 10, 2025