Migrating From Ektron To Episerver – The Process

Migrating From Ektron To Episerver – The Process

A- Introduction

Many of you must be wondering about the process of Ektron to Episerver migration. Although this process may seem quite troublesome but, with the right partners and proper planning, the transition can help enormously in meeting timeline and budget. Also, your internal IT department, hosting partner and implementation partner can help you in gathering all the desired information to understand all aspects and entire scope of the project.

Whenever any platform change occurs for any website, the biggest concern is what will happen to the content? The developers are worried about moving the content models, where to start with content and other migration processes.

B- The Migration Process

Step 1- Template Design Creation

Of course revamping the website is a tiresome task but it is unavoidable since migration to the new CMS is also inevitable. To keep the migration process in-line it always makes sense to review the online strategy and check what is available in the new CMS. Also, review the different components in the existing websites like blogs, message boards, wikis, infographics and decide whether to retain, discard or add any element.

There would be many such changes which will be required to be done in website depending on the business strategy. Of course, as far as implementation is concerned much of the work associated with the rebuilding of the website will be done by your developers still it always makes sense to opt for professional help.

Step 2- Auditing of Content

Well, at a certain point of time all the website content gets stale and needs updating. While undertaking website redesigning for migrating the CMS, there could be a chance that much of the content goes obsolete and new sections require fresh content. Always perform an exhaustive content audit based on the architecture of the new website and then deploy a team of content writing for curating the right content. Cleaning up data and converting too much data are serious tasks which if not undertaken aptly, can lead to a cumbersome migration process.

The process also involves performing an inventory analysis for identifying specific parts of a current database, application data, message board forum posts and similar kind of data which needs to be retained in the new website. Also, it is a very much wise step to shed the unwanted data without wasting time and effort of migrating the same. At this level, it is also important to consider the personalized content. It is also the right time to review whether the existing personalization is actually effective or not and if not, then what could be desired changes which can be done for better results. Although Episerver works a bit differently from similar customization, it offers a strong system for creating a more personalized content.

Step 3- Auditing System

Well, depending on various business requirements websites are always attached to many external systems which include external databases and CRM suites. The present web admins may not be very much clear on integration. Many times the latent links disturb the migration process which causes websites to go down post-migration. It is very much important to undertake the auditing process, check the workflow and review the regular necessity of such integration.

The clarity in workflows simplifies replication process in Episerver and post-migration process it is very much essential to revisit such integrations, just to make sure it works. This makes more sense especially to the workflows which are related to e-commerce which comprises of important functions like taxing, warehousing, order processing or shipping which may fail.

Step 4- Workforce Training

There is some different interface of EpiServer as compared to Ektron and users such as content editors may find learning new interface a bit difficult. Training helps in reducing the time and effort which is required to become familiar with the new ways of life thereby regaining the popularity. Some unplanned changes, demands, and irregularities are part of migration process.

A well-defined and clear migration plan with professional expertise eases the unavoidable challenges which come in the way, therefore, minimizing disruptions which may drain out the liveliness of your business.

Step 5- Content Migration

The Smart Forms by Ektron makes it easy for website editors to create streamlined and uniform content. It also allows updating existing content and giving the same a fresh look. The websites planning on migration must have this feature enabled which smoothens the migration process and similar kind of capability Episerver offers. Smart Forms features offers creation of new content and updating the existing content in order to give the website a brand-new look.

Smart Forms works great only for a basic and simple website and it may not be an effective solution for complex websites which require a lot of integration and linkages. There are various options available when data migration from one CMS to another come into the picture. These can be developing API, opting for a web services-based method, deploying any third connectors which may suit accordingly or be getting direct access to the database and creating an export format. These methods, of course, require technical expertise and services from experienced professional.

Finally Post data migration, it is imperative to restore the workflows, visitor groups and system integration in the new CMS.

Let us understand the migration process with an example.

C- Ektron To EpiServer Content Transfer

Let us start with a process of knowledge transfer of content. With this sample, we aim at assisting the development team with functional sample code. It also covers some of the basic challenges involved in content migration from Ektron to EpiServer and transforming from Ektron models to EpiServer models.

C1- Restoration of The Solution

The restoration process is simple. To restore the EktronAPI project, you need to install Ektron CMS version 8.5 or higher. Well, this code is meant for Ektron 9.1SP1 and if you are using an older version of Ektron, you may consider it upgrading it to 8.5 or later before content migration to EpiServer in order to make use of APIs.
Restoration Process:

  • Download the project ZIP file and then in Visual Studio open the solution (.sln).
  • Restore nuget packages
  • Now add references to the EktronAPI project

Note: While adding such references you may get a warning that one of the references already exist, but this won’t be bothering you while adding other references.

C2- Configuration

Within this solution there are three console application projects. Each of them is prefixed with “App” word in order to differentiate them from other projects.

  • AppCopyFolderContent – Which transfers selected folders of Ektron content to a designated location
  • AppTransferAssetTree – It transfers image assets from Ektron along with copying the folder structure in which they are stored.
  • AppTransferContentTree – Using the Ektron Menu as source it transfers the Site IA .

Each of these contains an App.config file that has to be modified in order to connect both with Ektron and EpiServer successfully. Below mentioned two sections control the connectivity between Ektron and EpiServer DXC:

<EktronCredentials Username="RemoteUser" Password="RemotePass" />
<EPiServerCredentials ServiceUrl= Username="RemoteUser" Password="RemotePass" ImportRoot="3742" />

Update URL, username, password values as suits for your environment, in the respective sections. Ektron user must have minimum read access to all the content in order to be retrieved. For retrieving the archived or expired content user have to improve the permissions, for example, need to have administrator’s access in order to get any confidential information.

Also EpiServer user should have access to create content in all the desired site sections. Furthermore they should be able to create folders and upload images to those folders.

For managing connectivity to Ektron there is a need of other configuration information within App.config. Also, update the ServicePath value to point at workarea/services/directory of your Ektron installation. Since this directory is restricted to IP ‘127.0.0.1’ by default therefore to have access permissions to be granted for your IP address by setting the same in IIS.

<add key="ek_ServicesPath" />

<h3>C3- Content Transfer Process</h3>
<strong>EpiServer DXC</strong> relies on Content Hierarchy while Ektron uses a Folder structure to store content. Look for an architecture within Ektron which matches the type of structure found in EpiServer.<br/> 

For setting the stage with solid Content Hierarchy the first app for running the sample is AppTransferContentTree.<br/>
 
<strong><em>Note: Unrecognized content types are added to EPiServer DXC as 'Container' types.</em></strong><br/>
 
Set the values for your source and destination by modifying Program.cs within the application project.<br/>

static void Main(string[] args)
{
    var ekapi = new Business.Ektron.EkContentAPI();
    var ekmenuapi = new Business.Ektron.EkMenuAPI();
    var epapi = new Business.EPiServer.EPiContentAPI();
    Console.WriteLine("Start!");
    // Menu ID to be transferred
    var menu = ekmenuapi.GetMenuTree((long)6); // <---!!!
    // Second parameter is the EPiServer destination reference.
    ProcessMenuItems(menu, "3460"); // <---!!!
    Console.WriteLine("Done!");
    Console.ReadLine();
}
&#91;/php&#93;
For moving in bulk the items in folders at suitable locations in content tree use AppCopyFolderContent. This can be explained that the source Menu in <strong>Ektron</strong> may contain a link for Press Releases but may not be containing each and every Press Release. Access the same by logging into <strong>EpiServer CMS</strong> and find ID/Reference for the Press Releases node in the Content Hierarchy. Use this as your destination. Now use the ID of the <strong>Ektron</strong> Folder which comprises of Press Release content and copy the entire content over the new environment.<br/>

Now, set the values within Program.cs:<br/>

static void Main(string[] args)
{
    Console.WriteLine("Loading Ektron content... ");
    Console.WriteLine("(This may take a few minutes, depending on amount of data to return.)");
    // The first parameter is the Ektron folder ID.
    var blogs = ekAPI.GetContentList<GenericContent>(125, Common.Enumeration.ContentSourceType.Folder, LanguageId); // <---!!!
    Console.WriteLine(blogs.Count() + " content items found.");
    Console.WriteLine("Loading content into EPiServer DXC.");
    string cref;
    foreach (var blog in blogs)
    {
        // Sets a parent reference to each blog post being added.
        blog.ParentContentReference = "5915"; // <---!!!
        cref = epAPI.CreateContent<GenericContent>(blog);
        Console.WriteLine("Content Transferred.");
        Console.WriteLine("Ektron ID: " + blog.SourceId + "\tEPiServer ID: " + cref);
    }
    Console.WriteLine("Done!");
    Console.ReadLine();
}

AppTransferAssetTree, the last console application will not have dependency on content hierarchy. This will create a new folder structure under media section of EpiServer DXC and will add image assets from Ektron to the CMS.

It should be noted that it is always ideal to transfer images which are used by the content as content is added to EpiServer DXC.

Similar to the above snippets the source and destination values are configured within Program.cs.

Some External Dependencies

This code above right now relies on a REST API solution which is developed by Allan Thraen. For downloading source and nuget package click https://github.com/AThraen/ServiceAPIExtensions

Room of Improvements

  • The code above does not allow to update or correct anything within the content. This includes cross-links and images.
  • 404 error pages and redirection 301 and 302 are not handled.
  • For deserialization only List<> types are supported, not Arrays or other collections
  • Currently does not support multiple passes, it will just duplicate.
  • Classification and classification is not at all addressed by this code.

D- Goodbye Goodies

Some findings on transition process of Ektron to Episerver:

1. CMS Partnerships Retention

Clients using Ektron can easily easily retain the same partners and contacts which whom they are already working even if they move from Ektron to Episerver.

2. CMS License Conversion

Well, while if you are license holder of Ektron and currently using the Ektron maintenance support agreement, Episerver too will work quiet closely with you in order to give you best license options.

3. Qualitatively Well-off

Episerver platform offers high quality, custom website with leading tools for editors in order to manage website content. With these high quality offerings user get powerful content personalization.It gives you multi channel interaction which helps in social communication engagement and extending mobility.

E- Parting Words

Well, with so much humdrum about content migration from Ektron to Episerver it is very much clear that Episerver has no plans to discontinue Ektron CMS. There are now many Ektron clients who are esteemed part of EpiServer family and Episerver CMS platform.

Hope you love working in the new advanced content architecture.

References: episerver, suyati, world.episerver, blog.brightfind, oshyn, documentation.ektron

The following two tabs change content below.
Rachit Agarwal

Rachit Agarwal

Director and Co-Founder at Algoworks Technologies
Rachit is leading the mobility business development function, mobility strategy and consulting practice at Algoworks. He is an expert of all mobile technologies and has experience in managing teams involved in the development of custom iPhone/iPad/Android apps.
Rachit Agarwal

Latest posts by Rachit Agarwal (see all)

Rachit AgarwalMigrating From Ektron To Episerver – The Process