Import content from different CMS into episerver database

Vote:
 

I am working on migrating a legacy CMS onto EPiServer CMS. I want to move the content from legacy CMS into EPiServer's database. Anyone ran into a scenario like this? I followed their document on world.episerver.com, but it is not very clear. It says to configure EPiServer site under config tab in Admin section to define Content Channel. But they do not talk about exactly what APIs to use and how different fields map in their database to EpiServer's database. Any help would be much appreciated.

#200022
Dec 22, 2018 12:09
Vote:
 

Yes I've done many of these for clients.

It really depends on a number of factors

  • Platform - There are many CMS platforms and sometimes there have been custom tools already created for migration.
  • Site Complexity - As Episerver is a component based system it's really down to the mapping of the templates and block structure.
  • Data - Are you just migrating site content, commerce or user migration. For example on the DXC user migration has complications.

I've done many of these and 90% of the time it require custom code for the migrataion. What we usually do is map out all the pages and blocks and write a mapping document in Excel to what old content goes to what areas. This would show for example that on an old event page with properies per page template (Such as say Umbraco) would migration to a common content template with x number of blocks created on page.

It's very difficult to use a generic tool when having a complex component structure. There is the option of using Episerver who can write stuff for you as well.

#200026
Dec 24, 2018 9:33
Vote:
 

Agree with Scott above.

No two migrations are the same. It all depends on how the data is strucutred in the source system and how it should be architected in the new database.

In terms of general steps for migrations, here's some questions/suggestions to help you in the right direction.

  1. Mapping document - This is probably the most important step to make sure you don't miss any properties. I would urge you to have the client signoff on this document to align in terms of expectations.
  2. Architecture for the Episerver website: You will have to define an architecture for the new website based on the mapping above.  
  3. Manual migration plan: Are there certain areas that are easier to migrate manually instead of spending hours writing a script? You will need to account for updated content in the source database.
  4. Strategy to export source data. Are you using HTML scrapper or getting data directly from the database? Do you plan to export all or one content item at a time and then writing each content to the destination? If you plan to export it all, you will need to think about data storage such as JSON or SQL format so your Episerver application can read it.
  5. Strategy to import to the target database: You will need to create the page and block models (from step 1). You can then use Epi APIs to import the conten from step 2. Use IContentRepository for creating/updating content as shown here: https://world.episerver.com/documentation/developer-guides/CMS/Content/Creating-a-page-programmatically/
  6. Content Freeze plan: Is the client actively updating content? How often? This means you will have to run the script multiple times. This also means you will need to account for "updates" not just new content. 
  7. No script is perfect in the real world: Always account for a few final manual touches and/or post launch updates towards the end. This is always underestimated.

Hope this helps and good luck.

#200041
Dec 26, 2018 22:02