Best Practices and Tips on Migrating a Legacy-Based CMS to Drupal

Post on 14-Jan-2015

2.230 views 2 download

Tags:

description

Learn best practices for migrating content from a legacy content management system to Drupal. The presentation details how to approach the migration process, concepts behind data export and tips on importing data into Drupal.

Transcript of Best Practices and Tips on Migrating a Legacy-Based CMS to Drupal

Mediacurrent Company Overview

Mediacurrent Company Overview

Atlanta, GA based web consultancy exclusively focused in Drupal

Mediacurrent Company Overview

Atlanta, GA based web consultancy exclusively focused in Drupal

Full-service Drupal provider – front and back end development; specialize in enterprise level Drupal implementations

Mediacurrent Company Overview

Atlanta, GA based web consultancy exclusively focused in Drupal

Full-service Drupal provider – front and back end development; specialize in enterprise level Drupal implementations

Acquia Gold Development Partner

Mediacurrent Company Overview

Atlanta, GA based web consultancy exclusively focused in Drupal

Full-service Drupal provider – front and back end development; specialize in enterprise level Drupal implementations

Acquia Gold Development Partner

Define Drupal Site Requirements

Define Drupal Site Requirements

Determine how your users will interact with the legacy data on the new site

Define Drupal Site Requirements

Determine how your users will interact with the legacy data on the new site

Is there any legacy data that can be leveraged to create new content? Example: using an address record to populate a Google Map

Define Drupal Site Requirements

Determine how your users will interact with the legacy data on the new site

Is there any legacy data that can be leveraged to create new content? Example: using an address record to populate a Google Map

Will content need to be re-categorized in the new site?

Sizing Up Legacy Content

Sizing Up Legacy Content

Where does your content “live” and what format is it in?

Sizing Up Legacy Content

Where does your content “live” and what format is it in?

Determine which parts of legacy content will be used on the new site and what new meta data will possibly need to be added during the export

Prepare Content Export

Prepare Content Export

Generate CSV file containing legacy content data (most Drupal contributed modules have CSV support)

Prepare Content Export

Generate CSV file containing legacy content data (most Drupal contributed modules have CSV support)

Make sure steps to generate CSV file are well-documented, especially if making complex data transformations in the export logic

Drupal Content Basics

Drupal Content Basics

A “node” in Drupal is the general term for describing a unit of content. A node can be a story, blog post or page for example.

Drupal Content Basics

A “node” in Drupal is the general term for describing a unit of content. A node can be a story, blog post or page for example.

A “content type” is a collection of fields that make up a node. Nodes can have one or more data fields and the content type serves as a container for those fields.

Drupal Content BasicsContent Type Node

Title field

How is Legacy Content Stored in Drupal?

How is Legacy Content Stored in Drupal?

Imported data is matched to a specific content type by way of a Drupal module or custom PHP / MySQL scripts

How is Legacy Content Stored in Drupal?

Imported data is matched to a specific content type by way of a Drupal module or custom PHP / MySQL scripts

Legacy content fields map to various content types’ fields such as text, numbers, checkboxes / radio button groups, categories, images, etc.

How is Legacy Content Stored in Drupal?

Imported data is matched to a specific content type by way of a Drupal module or custom PHP / MySQL scripts

Legacy content fields map to various content types’ fields such as text, numbers, checkboxes / radio button groups, categories, images, etc.

Each row of the CSV export file becomes a node in Drupal’s database

Methods for Importing Content to Drupal

Methods for Importing Content to Drupal

Drupal contributed modules such as Node Import, Migrate and Transformations. See http://groups.drupal.org/node/21338 for comparison of various Drupal data export/import modules

Methods for Importing Content to Drupal

Drupal contributed modules such as Node Import, Migrate and Transformations. See http://groups.drupal.org/node/21338 for comparison of various Drupal data export/import modules

Custom PHP scripts (it’s possible to bootstrap just the database layer of Drupal to cut down on the code required) or custom Drupal modules

Methods for Importing Content to Drupal

Drupal contributed modules such as Node Import, Migrate and Transformations. See http://groups.drupal.org/node/21338 for comparison of various Drupal data export/import modules

Custom PHP scripts (it’s possible to bootstrap just the database layer of Drupal to cut down on the code required) or custom Drupal modules

Custom MySQL scripts for database to database migration

Advantages of Migrating to Open-Source Drupal at the Enterprise Level

Advantages of Migrating to Open-Source Drupal at the Enterprise Level

Scalable

Advantages of Migrating to Open-Source Drupal at the Enterprise Level

Scalable Social networking feature-rich

Advantages of Migrating to Open-Source Drupal at the Enterprise Level

Scalable Social networking feature-rich

Flexible,easy to

customize

Advantages of Migrating to Open-Source Drupal at the Enterprise Level

Scalable Social networking feature-rich

Flexible,easy to

customize

$Lower total

cost of ownership

Case Study: In-Fisherman.com

Case Study: In-Fisherman.com

Complements the print magazine In-fisherman

Case Study: In-Fisherman.com

Complements the print magazine In-fisherman

Initially built with proprietary CMS

Case Study: In-Fisherman.com

Complements the print magazine In-fisherman

Initially built with proprietary CMS

Averages 67,789 user visits, 266,379 page visits, and an average of 4:1 page visits/user visits per month

Why Did In-Fisherman.com Choose Drupal?

Why Did In-Fisherman.com Choose Drupal?

Multi-site / multi-database capability

Why Did In-Fisherman.com Choose Drupal?

Multi-site / multi-database capability

Ability to run forums (forum module) and website on same platform with single sign-on capability

Why Did In-Fisherman.com Choose Drupal?

Multi-site / multi-database capability

Ability to run forums (forum module) and website on same platform with single sign-on capability

Built-in social networking features offering commenting, tagging and user generated content

Why Did In-Fisherman.com Choose Drupal?

Multi-site / multi-database capability

Ability to run forums (forum module) and website on same platform with single sign-on capability

Built-in social networking features offering commenting, tagging and user generated content

Active development community

Lessons Learned from In-Fisherman.com

Lessons Learned from In-Fisherman.com

Challenge

Migrate 1500+ articles from Filemaker Pro database to

Drupal 6 for In-Fisherman.com redesign

Obstacles

Obstacles

Filemaker Pro only exported XML data, needed to transform data to CSV format

Obstacles

Filemaker Pro only exported XML data, needed to transform data to CSV format

Image files stored in disparate file system with no URL pointer stored in Filemaker Pro

Obstacles

Filemaker Pro only exported XML data, needed to transform data to CSV format

Image files stored in disparate file system with no URL pointer stored in Filemaker Pro

Compromised data integrity

Obstacles

Filemaker Pro only exported XML data, needed to transform data to CSV format

Image files stored in disparate file system with no URL pointer stored in Filemaker Pro

Compromised data integrity

Solution

Solution

Transform XML content to CSV format with custom PHP script

Solution

Transform XML content to CSV format with custom PHP script

Insert Drupal image filepath during transformation and transfer image files via FTP to application server

Solution

Customize Node Import module to handle importing CSV records into Drupal

Drupal’s Impact on In-Fisherman.com

Drupal’s Impact on In-Fisherman.com

Flexible web platform offering ability to easily add new features without compromising core business logic

Drupal’s Impact on In-Fisherman.com

Flexible web platform offering ability to easily add new features without compromising core business logic

Faster page loads

Drupal’s Impact on In-Fisherman.com

Flexible web platform offering ability to easily add new features without compromising core business logic

Faster page loads

Better SEO strategy: SEO-friendly URL’s via the Pathauto module, HTML title and meta-tag control at the article level

Drupal’s Impact on In-Fisherman.com

Flexible web platform offering ability to easily add new features without compromising core business logic

Faster page loads

Better SEO strategy: SEO-friendly URL’s via the Pathauto module, HTML title and meta-tag control at the article level

Biggest ROI: no enterprise-level licensing fees

Keys to a Successful Import

Keys to a Successful Import

Ensure all project stakeholders are familiar with the structure of the legacy content and its intended use on the new site

Keys to a Successful Import

Ensure all project stakeholders are familiar with the structure of the legacy content and its intended use on the new site

Run several “test” imports

Keys to a Successful Import

Ensure all project stakeholders are familiar with the structure of the legacy content and its intended use on the new site

Run several “test” imports

Make sure a Drupal consultant is available during the final import

Keys to a Successful Import

Ensure all project stakeholders are familiar with the structure of the legacy content and its intended use on the new site

Run several “test” imports

Make sure a Drupal consultant is available during the final import

Break down content migration tasks into small manageable steps

Keys to a Successful Import

Ensure all project stakeholders are familiar with the structure of the legacy content and its intended use on the new site

Run several “test” imports

Make sure a Drupal consultant is available during the final import

Break down content migration tasks into small manageable steps

Document what works along the way

Interested in Migrating Your Current CMS to Drupal?

Interested in Migrating Your Current CMS to Drupal?

Contact Mediacurrent at www.mediacurrent.com/contact to schedule a discovery call!

Interested in Migrating Your Current CMS to Drupal?

Contact Mediacurrent at www.mediacurrent.com/contact to schedule a discovery call!

For help on how to build an enterprise-level website with Drupal, go to

www.mediacurrent.com/download-white-paper