migrate to drupal
DESCRIPTION
A lot of portals are now migrating to Drupal. This presentation talks about the process involved in migrating your website from any other CMS to Drupal.TRANSCRIPT
Migrate to Drupal
Srijan Technologies Pvt. Ltd.
Srijan Technologies Pvt. Ltd.
What is migration and why do we need it?
mi·grate [verb] : to shift, as from one system, mode of operation, or enterprise
to another.
In our case, from one CMS or framework to another.
We usually need migration when the existing CMS/framework is getting older or
difficult to maintain.
Srijan Technologies Pvt. Ltd.
What role does Srijan play in Migrations?
● Srijan does migration from other platforms and from
older versions of Drupal to Drupal 6 and 7
● We have expertise in migrations of large websites like
KNR, IEP, EWC to Drupal.
Srijan Technologies Pvt. Ltd.
Migration from
Drupal 5 to Drupal 7
Client
• University of new Mexico
https://healthpolicy.unm.edu
What all platforms you said you migrate?
Srijan Technologies Pvt. Ltd.
Migration from
TYPO3 to Drupal 6
Client
• East West Center
http://www.eastwestcenter.org
What all platforms you said you migrate?
Srijan Technologies Pvt. Ltd.
Migration from
TYPO3 to OpenPublish
Client
• Kalallit Nunaata Radioa
http://knr.gl/
What all platforms you said you migrate?
Srijan Technologies Pvt. Ltd.
Migration from
ASP/MS-SQL to Drupal
Client
• India Environment Portal
http://indiaenvironmentportal.org.in
What all platforms you said you migrate?
Srijan Technologies Pvt. Ltd.
Migration from
CakePHP to Drupal
Client
• Humanity United
http://www.humanityunited.org
What all platforms you said you migrate?
Srijan Technologies Pvt. Ltd.
Drupal has excellent vocabulary and tag management core modules
Drupal has a better caching mechanism. Critical requirement in case of high volume
traffic
A powerful and fast search engine
Article/News creation by way of simple forms
Easy bulk publish/unpublish of news
Why is Drupal a good choice?
Srijan Technologies Pvt. Ltd.
We use Migrate Module.
http://www.drupal.org/project/migrate
In case the platform is TYPO3, we use typo3_migrate module.
http://www.drupal.org/project/typo3_migrate
It provides a flexible framework for migrating content into Drupal
Ok. But how would you help me migrate?
Srijan Technologies Pvt. Ltd.
Supports core Drupal objects such as nodes, users, taxonomy terms and comments.
Migrate Module – Our Approach
Database
Articles
Tags
Profiles
Migrate
Module
Nodes
Taxonomy
Users
Srijan Technologies Pvt. Ltd.
Supports migration from XML, JSON, CSV, Databases.
Migrate Module – Our Approach
Migrate
Module
Nodes
Taxonomy
Users
Srijan Technologies Pvt. Ltd.
Supports core Drupal objects such as nodes, users, taxonomy terms and comments.
Migrate Module – Our Approach
Database Initial Migration
Migration 1
Migration 2
MySQL/
PostGREDatabase
15 days later
Database
today
Srijan Technologies Pvt. Ltd.
Supports Drush commands for import, listing, rollback
So your developers love it [After all they love command line!!]
Some Drush commands
drush migrate-status provides an overview of all your migrations
drush migrate-import responsible for fetching source records and saving them into
Drupal
drush migrate-rollback rollback a given migration or all migrations at any time
drush help --filter=migrate complete list of relevant commands
Migrate Module – Our Approach
Srijan Technologies Pvt. Ltd.
Analysis of data to be migrated.
We study the data that needs to be migrated. Understanding and documentation of
the current Database Schema is a necessary.
Identifying “complex architectural” components/ decision points.
Necessary to ensure that the mapping later on is correct. Galleries/ digital assets
mostly require specific treatment
I am a technical guy. Could you explain further?
Srijan Technologies Pvt. Ltd.
Intermediate Database Design
• Poor implementation of old CMSs is a major
challenge.
• To handle the above situations an intermediate
database schema has to be prepared.
• Helps in a clean migration between existing
CMS and Drupal, according to their own
structures.
I am a technical guy. Could you explain further?
Srijan Technologies Pvt. Ltd.
I am a technical guy. Could you explain further?
Mapping current database to Drupal Schema.
Srijan Technologies Pvt. Ltd.
Defining a strategy for incremental migration.
An “incremental migration” imports only the items which have been added or edited
since the last time this migration ran.
These items are identified by maintaining a "high-water mark" for each migration that
comes from a primary key or date-time column on the source data.
Migrate module automatically moves this high-water mark as content gets imported.
I am a technical guy. Could you explain further?
Srijan Technologies Pvt. Ltd.
Q. Can all digital assets be migrated?
• Digital media in older CMSes and frameworks
are usually stored under separate folders with
no correlations.
• For migrating the gallery images, small PHP
snippets can be written to migrate digital assets.
Check for some sample code here
But I still have some concerns…
$fileInsert = "insert into files
(uid,filemime,filename,filepath,status,timesta
mp)
values ('" . $uid ."', '" . $fileMime ."', '" .
$data['caption'] . "', '" . $filePath . $sourcePath
. $data['name’]
."', '" . $status . "', " . $data['crdate'] .")”;
db_query($fileInsert);
$fid = mysql_insert_id ();
$galleryInsert = "insert into node_galleries
(gid , nid, fid) values (" . $gid .", " . $nid . "," .
$fid . ")";
db_query($galleryInsert);
Srijan Technologies Pvt. Ltd.
Q. Can user information and the user
relationships with pages, articles, blogs,
galleries, be maintained?
• Absolutely. Everything is covered under when
the content is migrated.
• All Articles/Pages/Blogs/Galleries are converted
to nodes with different Content Types
But I still have some concerns…
Srijan Technologies Pvt. Ltd.
But I still have some concerns…
Q. Will there be downtime while switching over the website?
Downtime cannot be avoided, but can certainly be minimized.
“Incremental Migration” is used here to ensure that the site under development is
kept up-to-date with the latest content.
Especially useful when you are publishing articles daily!
Srijan Technologies Pvt. Ltd.
Q. I have a multi-lingual site. Can this be taken
into account?
• In most Multilingual sites, the DB has Latin1
charset tables.
With UTF8 data stored. Such cases are
handled by way of first converting the fields to
BLOB, and then the BLOB field to UTF8.
• Similar work done for http://knr.gl
• Here is a more detailed account of the case
http://www.srijan.in/blog/converting-latin1-
charset-tables-utf8-data-set
But I still have some concerns…
Conversion chart
Srijan Technologies Pvt. Ltd.
Q. I have a site with lots of data to be
migrated.
• Our work on IEP
http://www.indiaenvironmentportal.org
involved records exceeding 250,000.
• The migration also involved cleanup of
architecture to remove data redundancies,
DataBase normalization, special characters
cleanup and management of an extensive tag
vocabulary.
But I still have some concerns…
Srijan Technologies Pvt. Ltd.
Are there more resources available?
Checkout Srijan’s webinar delivered for Acquia on ‘Making the move from TYPO3 to
Drupal migration’ by Ishan Mahajan
http://www.srijan.in/resources/tech-case-studies/acquia-webinar-making-move-typo3-drupal
The IndiaEnvironmentPortal case study:
http://www.srijan.in/case-study/india-environment-portal-case-study
Download the KNR business study at
http://www.srijan.in/resources/white-paper/typo3-drupal-migration
More whitepapers available at http://ww.srijan.in/resources
Srijan Technologies Pvt. Ltd.
What are your plans for the future??
SiteCore to Drupal migration already in discussion with a major client.
BigMedium to Drupal migration planned as BigMedium maintainers have withdrawn
support from this CMS.
A blogpost about BigMedium and its possibilities of migration exists at
http://www.srijan.in/blog/big-medium-cms-drupal-migrations
We've written the TYPO3 Migrate Module in the past.
http://drupal.org/project/typo3_migrate
Modules similar to this, for other CMSes, planned in future.
Migrate to Drupal
Srijan Technologies Pvt. Ltd.
Thank you!
Drupal/CMS enquiries: [email protected]
Get in touch