Best Practices for Migrating a Legacy-Based CMS to Drupal

Post on 10-May-2015

5.335 views 1 download

Transcript of Best Practices for Migrating a Legacy-Based CMS to Drupal

Best Practices for Migrating a Legacy-Based CMS to Drupal

Paul ChasonManaging Partner

Mediacurrent

Bryan HouseMarketing Director

Acquia

© 2009 Acquia, Inc. All rights reserved.

Agenda

IntroductionPreparing to migrate legacy contentUnderstanding Drupal conceptsImporting content into DrupalCase study – In-Fisherman.comHow Acquia can helpQuestions

Drupal Gaining Market Momentum

Social Publishing Software =>Participation-Driven

Websites

blogs /wikis

forums / comments

ratings

tagging

users

social networks

workflow

taxonomy

search

RSS

content

analytics

ContentMgmtSystems

SocialSoftware

Tools

SocialPublishingSystems

Drupal & ROI

Reduce costs– Zero $$ software

licensing– Reduced maintenance

costs

Deploy websites faster– Modular architecture– Configurable, not custom

Repeatable infrastructure– Multisite support– Turnkey site deployment

© 2009 Acquia, Inc. All rights reserved.

Mediacurrent

Paul Chason– Managing Director, Mediacurrent

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

Acquia is Your Drupal Guide

What modules should we install?

Where do we get professional support?

How do we host our site? Will it scale?

...Where do we start?

Acquia Network Subscriptions

FitnessDiagnosticsResponse

Drupal Support, When You Need It20+ Drupal engineers on staff24x7 emergency availabilityDefined SLAsTicket tracking until satisfied resolution

Recommendations For Drupal Fitness

Advisory supportBest practicesInformation architecturePerformance tuningModule selectionRemote administration

On Demand Visibility and DiagnosticsHealth dashboardHeartbeat monitoringSite statisticsSite profile informationRemote cron

one-stop shopDrupal infrastructure + application support

Bring vertical and technical solution expertise to build websites that meet client

specifications.

Using Drupal to address unique business and technical requirements on the Web.

Acquia Network subscriptions provide enterprise-class support, hosting and network services to ensure websites meet business objectives.

Acquia

Drupal site owners Acquia Gold Partner

Mediacurrent

Customer Success

Helping Organizations Succeed with Drupal

Productive partnerships focused on customer success

Benefits of Using Drupal CMS

Accomplish more with less

Harness community-driven technology innovation

Engage your audience

© 2009 Acquia, Inc. All rights reserved.

Questions

For more information, visit each of us at:– http://acquia.com/community– http://twitter.com/acquia– http://twitter.com/mediacurrent

Contact Acquia:– sales@acquia.com– 888-9-ACQUIA

Contact Mediacurrent:– dave.terry@mediacurrent.com– 866-507-0005

Sign up for a free 30-day Acquia Network trial– http://acquia.com/trial