Content migration


Content Migration is the process of moving information stored on a Web content management system , Digital asset management, Document management system, or flat HTML based system to a new system. Flat HTML content can entail HTML files, Active Server Pages, JavaServer Pages, PHP, or content stored in some type of HTML/JavaScript based system and can be either static or dynamic content.

Business drivers

Reasons to consider migrating content

Content Migrations can solve a number of issues ranging from:
Content migrations entail risks. Even though some of the reasons like cost might be obvious, there are some less obvious reasons to avoid a migration exercise. These include corruption in transit and loss of context, particularly the unstructured content, which is typically one of the larger artefacts of business. There is also the risk of external references not being considered. The size of the data to be migrated makes the very resource intensive, which means that auditing the migration process could also be complex and require consistency and traceability.
Another common issue in content migration is the loss of SEO and page rank in search engines. Migrating to another location and adopting a new software means that all website URLs are going to be changed as well, hence, search engines would have to make some adjustments even if it is informed about the process. In a white paper, Oracle also outlined several issues involving the so-called people perspective. It cited the probability that people involved in the content migration might not have a thorough grasp of the history, structure, and meaning of the source data as well as the new system, which could lead not only in the loss of information but also incur additional resources.
One of the methods that address the risks is the use of metadata. It is employed to describe, access, and manage records, serving as the ultimate means by which the integrity, trustworthiness, and authenticity of a record can be proven. The process, for instance, could adopt a two-track framework where one track deals with the overall content, structure, layout, and vision, while the other is focused on metadata.

Approaches

There are many ways to access the content stored in a CMS. Depending on the CMS vendor they offer either an Application programming interface, Web services, rebuilding a record by writing SQL queries, XML exports, or through the web interface.
  1. The API requires a developer to read and understand how to interact with the source CMS’s API layer then develop an application that extracts the content and stores it in a database, XML file, or Excel. Once the content is extracted the developer must read and understand the target CMS API and develop code to push the content into the new System. The same can be said for Web Services.
  2. Most CMSs use a database to store and associate content so if no API exists the programmer must reverse engineer the table structure. Once the structure is reverse engineered, very complex SQL queries are written to pull all the content from multiple tables into an intermediate table or into some type of Comma-separated values or XML file. Once the developer has the files or database the developer must read and understand the target CMS API and develop code to push the content into the new System. The same can be said for Web Services.
  3. XML export creates XML files of the content stored in a CMS but after the files are exported they need to be altered to fit the new scheme of the target CMS system. This is typically done by a developer by writing some code to do the transformation.
  4. HTML files, JSP, ASP, PHP, or other application server file formats are the most difficult. The structure for Flat HTML files are based on a culmination of folder structure, HTML file structure, and image locations. In the early days of content migration, the developer had to use programming languages to parse the HTML files and save it as structured database, XML or CSV. Typically PERL, JAVA, C++, or C# were used because of the regular expression handling capability. JSP, ASP, PHP, ColdFusion, and other Application Server technologies usually rely on server side includes to help simplify development but makes it very difficult to migrate content because the content is not assembled until the user looks at it in their web browser. This makes is very difficult to look at the files and extract the content from the file structure.
  5. Web Scraping allows users to access most of the content directly from the Web User Interface. Since a web interface is visual some Web Scrapers leverage the UI to extract content and place it into a structure like a Database, XML, or CSV formats. All CMSs, DAMs, and DMSs use web interfaces so extracting the content for one or many source sites is basically the same process. In some cases it is possible to push the content into the new CMS using the web interface but some CMSs use JAVA applets, or Active X Control which are not supported by most web scrapers. In that case the developer must read and understand the target CMS API and develop code to push the content into the new System. The same can be said for Web Services.

    The basic content migration flow

  6. Obtain an inventory of the content.
  7. Obtain an inventory of Binary content like Images, PDFs, CSS files, Office Docs, Flash, and any binary objects.
  8. Find any broken links in the content or content resources.
  9. Determine the Menu Structure of the Content.
  10. Find the parent/sibling connection to the content so the links to other content and resources are not broken when moving them.
  11. Extract the Resources from the pages and store them into a Database or File structure. Store the reference in a database or a File.
  12. Extract the HTML content from the site and store locally.
  13. Upload the resources to the new CMS either by using the API or the web interface and store the new location in a Database or XML.
  14. Transform the HTML to meet the new CMSs standards and reconnect any resources.
  15. Upload the transformed content into the new system.