So you wanna migrate content from Ektron to Sitecore?
Ektron has merged with Episerver and clients of Ektron may find themselves at a crossroads when their Ektron contract is up for renewal. Do they stay with Episerver or move on to another CMS?
Sitecore, a leading web content management and experience management platform, is certainly a candidate to consider in this decision, with its smart Experience Platform. However, what is involved in content migration?
There are content migration tools on the market (like GatherContent) but is there an automated way of migrating over content without a tool?
In this series, I’ll describe the process that our team recently went through for migrating Ektron content to Sitecore without a content migration tool, without the Ektron API, but by diving right into the database head first.
Our assignment was to convert two Ektron websites to Sitecore; one ported over with the same look and feel as the existing site (Project A); the other, a complete redesign with the existing content (Project B). Throughout the blog series, I’ll reference the two projects as Project A and Project B.
NOTE: We worked with Ektron Version: 9.10 SP1 (Build 184.108.40.206).
We were given access to the following (all necessary):
- Ektron administration interface
- Ektron code (webforms)
- Ektron SQL database.
Because we were switching from Ektron web forms to Sitecore MVC, the code was valuable only to obtain the HTML and existing business logic for Project A. The code would be even more useful if we were required to convert to webforms but, as a dying technology, we opted to not go with webforms.
Let’s start with getting to know Ektron.
Ryan Bailey has written an overview of Ektron’s structure and key concepts to consider when migrating from Ektron to Sitecore. I recommend that you read it before continuing.
To elaborate a bit on what Bailey has written in his “From the top down” section of Ektron components, I’ve broken down how we used each section. NOTE: Because the site was being overhauled in Project B, most of the sublayouts and templates from Ektron were not useful for Project B.
For Project A, we used the pagebuilder templates HTML markup in the code to build renderings that supported placeholders (i.e. One column rendering, two column rendering).
Widgets and Smart Forms
For Project A, as Bailey mentions, these were handy to port over the HTML, replacing the ASP.NET controls with MVC razor, utilizing Glass Mapper. The templates themselves were not useful.
Menus, Taxonomies & Collections
For the simple menu for Project A, we simply observed the menu directly on the website and replicated it within Sitecore.
The taxonomy structure in Ektron was replicated (via content migration) as it is where values for dropdowns and content relationships in Ektron. For instance, this is where the list of US States would be stored if needed by the website.
Collections are curated lists of existing content. This functionality was used only for Project B (the complete overhaul) so it wasn’t a candidate for automated content migration. If this is used extensively, the content id could be mapped to the Sitecore guid and the lists be recreated in Sitecore.
The library is similar to Sitecore’s media library but also stores Hyperlinks (internal links between two pieces of Ektron content). The media for Ektron is physically stored in the website root within two folders: /uploadedFiles and /uploadedImages. The downfall of Ektron is that references to the library items is path-based, not Id-based so re-organizing media content in Ektron is not friendly.
Check out all posts for this series: