Wednesday, July 22, 2015

Migrating from Ektron to Sitecore

Introduction

A migration from one CMS to another is no simple task, and if not planned and architected correctly it can lead to a poor implementation of the new CMS and even loss of business critical content, features and security. Ektron as a CMS has a relatively simple development pattern, however implementations can vary which means any migration from Ektron to Sitecore will not be one size fits all. This article will cover the key concepts to consider with your migration to Sitecore and perhaps provide a starting point for the planning process. 

The first step

Before you begin the process of migrating from Ektron to Sitecore, you need to define a high level goal/objective of the migration, as this will greatly affect the process/steps taken. Some examples of high level objectives could be:
  • Like for like migration - in which case, very detailed requirements will need to be created to ensure nothing is missed.
  • New site (reusing majority of old content) - in this case you would create requirements of the new Sitecore site, see which elements (content, code or design) can be migrated from the old Ektron site and to what level these elements can be migrated.
  • Migration of selected content - this may occur when a greenfields site is being created where some selected content (perhaps product information/history or other smart form data) is required but nothing else (page templates, widgets and unwanted content). 

From the top down

Here are a list of common components that will make up an Ektron implementation and an overview of what they might be implemented as in Sitecore.

Pagebuilder template - In Ektron a pagebuilder template allows you to create multiple page layouts (which contain various drop zones for widgets) which then use the same master page. When migrating these to Sitecore, you would consider creating a Layout which is effectively the master page (containing the header/footer for example) as well as a number of placeholders that make up the layout of the content (whether it be columns or grid based). If you have multiple unique Ektron pagebuilder templates (such as 1, 2 and 3 column designs), each of these could be a sublayout which contains placeholders in the desired columns.

Widgets - A widget in Ektron is simply a module which can be added to a page and runs independently from all other elements. These migrate very cleanly over to the Sublayout (web forms) or Rendering (MVC) in Sitecore. The Parameters on Sitecore sublayouts are much more well defined than Ektron, and a DataSource can be set on the sublayout (and locked down to content of a specific type). Sublayouts in Sitecore can also contain placeholders/other sublayouts, which is a nice way of adding commonly grouped sublayouts (page heading & breadcrumbs for example) to a page as a single item. For any widgets on the smart desktop (logged in admin area), you could create a page only accessible to users with specific permissions.

Smart Forms - a Smart Form in Ektron is the method of storing user-defined objects in XML. In Sitecore you would create templates of the same/similar structure and also make use of template inheritance for any fields that are common across the data objects. If you need to keep using XSLT to render the data, you would need to serialize the item to XML in code. For those who want to forget about XML storage and XSLT display - you can access the code as an object in the code and even make use of tools such as Glass Mapper to use custom cleaner object classes. For Smart Forms which allow multiple objects on the same form, I would suggest a parent template in Sitecore which holds many children templates (of the actual object type).

Menus, Taxonomies & Collections - These three types of content in Ektron can all be migrated to templates in Sitecore. For Menus and other types which may be based on existing content, you could either add fields to those existing content templates or even navigate the Sitecore content tree and build up the data programmatically. 

Library - The library in Ektron is what contains all the media items and it mimics the folder structure of the content tree. These items would quite simply be migrated to the Sitecore Media Library, where you would have much more control about how the content is stored and exposed. The migration process is also a great time to clean up the content and give it a good folder based structure + relevant naming/metadata. 

Programmatic migrations

For the migration of content from Ektron to Sitecore, there are methods available to migrate the content using code, rather than data entry people endlessly moving it item by item. The Ektron Framework API can be used to access the Ektron content (smartform data, menus, taxonomies, collections and media library) which can then be massaged into Sitecore templates. This method may require some manual intervention to organize/clean the data as required, but should take care of much of the manual migration process.

You can also user crawlers/scrappers to download Ektron library items (PDFs, images, etc.) which can then be uploaded in bulk to the Sitecore Media Library. 

Conclusion

Sitecore is the market leading CMS with a lot more available out-of-the-box than Ektron. When planning your migration, it's a good idea to consider what the best way to implement the business requirements in Sitecore would be, and perhaps what else Sitecore may bring to the table that could exceed requirements delivering a stronger solution that ultimately leads to more engaged users.

2 comments:

  1. Hi, nice post.
    I was just wondering, why migrate from Ektron to Sitecore, when you can have EPiServer? Its very logical as they have taken over Ektron. BTW: I like and work with both systems, Sitecore and EPiServer. ;)

    ReplyDelete
  2. Hi Ryan,

    Great post, very helpful tips!

    I’m in the Product Marketing group at Sitecore and we have recently started a promotion specifically for migration customers. There is a link below but here are the details:
    • 90% discount for 3 month usage of Siteport’s migration tool
    • Free non-production Sitecore servers, to make the migration easier
    • Discounted services from our Sitecore Business Optimization team to guarantee success
    • As will all Sitecore products, the option to deploy in the Microsoft Azure cloud

    https://www.sitecore.net/landing/usa/2015-switch/sitecore-switch-campaign-fy2015.aspx

    ReplyDelete