Migrate to Drupal




               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.
What all platforms you said you migrate?
                           Migration from

                             Drupal 5 to Drupal 7

                           Client
                           • University of new Mexico

                             https://healthpolicy.unm.edu




                                                        Srijan Technologies Pvt. Ltd.
What all platforms you said you migrate?
                           Migration from

                             TYPO3 to Drupal 6

                           Client
                           • East West Center

                             http://www.eastwestcenter.org




                                                      Srijan Technologies Pvt. Ltd.
What all platforms you said you migrate?
                           Migration from

                             TYPO3 to OpenPublish

                           Client
                           • Kalallit Nunaata Radioa

                             http://knr.gl/




                                                       Srijan Technologies Pvt. Ltd.
What all platforms you said you migrate?
                           Migration from

                             ASP/MS-SQL to Drupal

                           Client
                           • India Environment Portal

                             http://indiaenvironmentportal.org.in




                                                        Srijan Technologies Pvt. Ltd.
What all platforms you said you migrate?
                           Migration from

                            CakePHP to Drupal

                           Client
                           • Humanity United

                             http://www.humanityunited.org




                                                      Srijan Technologies Pvt. Ltd.
Why is Drupal a good choice?
 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




                                                                           Srijan Technologies Pvt. Ltd.
Ok. But how would you help me migrate?
 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




                                                                       Srijan Technologies Pvt. Ltd.
Migrate Module – Our Approach
 Supports core Drupal objects such as nodes, users, taxonomy terms and comments.




                    Articles
                                                                                  Nodes
                    Tags
                                                   Migrate
  Database                                                                     Taxonomy
                                                   Module
                    Profiles
                                                                                   Users




                                                                       Srijan Technologies Pvt. Ltd.
Migrate Module – Our Approach
 Supports migration from XML, JSON, CSV, Databases.




                                                                      Nodes

                                                 Migrate
                                                                   Taxonomy
                                                 Module

                                                                       Users




                                                           Srijan Technologies Pvt. Ltd.
Migrate Module – Our Approach
 Supports core Drupal objects such as nodes, users, taxonomy terms and comments.




  Database               Initial Migration


                                                                                MySQL/
 Database                                                                       PostGRE
                         Migration 1
15 days later

  Database               Migration 2
   today




                                                                       Srijan Technologies Pvt. Ltd.
Migrate Module – Our Approach
 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




                                                                             Srijan Technologies Pvt. Ltd.
I am a technical guy. Could you explain further?
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




                                                                              Srijan Technologies Pvt. Ltd.
I am a technical guy. Could you explain further?
                            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.




                                                        Srijan Technologies Pvt. Ltd.
I am a technical guy. Could you explain further?
                            Mapping current database to Drupal Schema.




                                                     Srijan Technologies Pvt. Ltd.
I am a technical guy. Could you explain further?
 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.




                                                                             Srijan Technologies Pvt. Ltd.
But I still have some concerns…
 $fileInsert = "insert into files                        Q. Can all digital assets be migrated?
(uid,filemime,filename,filepath,status,timesta
                                                         • Digital media in older CMSes and frameworks
mp)
                                                           are usually stored under separate folders with
values ('" . $uid ."', '" . $fileMime ."', '" .
                                                           no correlations.
$data['caption'] . "', '" . $filePath . $sourcePath
. $data['name’]
 ."', '" . $status . "', " . $data['crdate'] .")”;       • For migrating the gallery images, small PHP
                                                           snippets can be written to migrate digital assets.
db_query($fileInsert);


$fid = mysql_insert_id ();                                 Check for some sample code here


$galleryInsert = "insert into node_galleries
(gid , nid, fid) values (" . $gid .", " . $nid . "," .
$fid . ")";

db_query($galleryInsert);

                                                                                       Srijan Technologies Pvt. Ltd.
But I still have some concerns…
                           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




                                                        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.
But I still have some concerns…
                           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
    Conversion chart
                           • Here is a more detailed account of the case

                             http://www.srijan.in/blog/converting-latin1-
                             charset-tables-utf8-data-set




                                                         Srijan Technologies Pvt. Ltd.
But I still have some concerns…
                           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.




                                                        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.




                                                                            Srijan Technologies Pvt. Ltd.
Migrate to Drupal
Thank you!

Get in touch
Drupal/CMS enquiries: business@srijan.in




                                           Srijan Technologies Pvt. Ltd.

Migrate to drupal

  • 1.
    Migrate to Drupal Srijan Technologies Pvt. Ltd.
  • 2.
    What is migrationand 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.
  • 3.
    What role doesSrijan 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.
  • 4.
    What all platformsyou said you migrate? Migration from Drupal 5 to Drupal 7 Client • University of new Mexico https://healthpolicy.unm.edu Srijan Technologies Pvt. Ltd.
  • 5.
    What all platformsyou said you migrate? Migration from TYPO3 to Drupal 6 Client • East West Center http://www.eastwestcenter.org Srijan Technologies Pvt. Ltd.
  • 6.
    What all platformsyou said you migrate? Migration from TYPO3 to OpenPublish Client • Kalallit Nunaata Radioa http://knr.gl/ Srijan Technologies Pvt. Ltd.
  • 7.
    What all platformsyou said you migrate? Migration from ASP/MS-SQL to Drupal Client • India Environment Portal http://indiaenvironmentportal.org.in Srijan Technologies Pvt. Ltd.
  • 8.
    What all platformsyou said you migrate? Migration from CakePHP to Drupal Client • Humanity United http://www.humanityunited.org Srijan Technologies Pvt. Ltd.
  • 9.
    Why is Drupala good choice?  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 Srijan Technologies Pvt. Ltd.
  • 10.
    Ok. But howwould you help me migrate?  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 Srijan Technologies Pvt. Ltd.
  • 11.
    Migrate Module –Our Approach  Supports core Drupal objects such as nodes, users, taxonomy terms and comments. Articles Nodes Tags Migrate Database Taxonomy Module Profiles Users Srijan Technologies Pvt. Ltd.
  • 12.
    Migrate Module –Our Approach  Supports migration from XML, JSON, CSV, Databases. Nodes Migrate Taxonomy Module Users Srijan Technologies Pvt. Ltd.
  • 13.
    Migrate Module –Our Approach  Supports core Drupal objects such as nodes, users, taxonomy terms and comments. Database Initial Migration MySQL/ Database PostGRE Migration 1 15 days later Database Migration 2 today Srijan Technologies Pvt. Ltd.
  • 14.
    Migrate Module –Our Approach  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 Srijan Technologies Pvt. Ltd.
  • 15.
    I am atechnical guy. Could you explain further? 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 Srijan Technologies Pvt. Ltd.
  • 16.
    I am atechnical guy. Could you explain further? 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. Srijan Technologies Pvt. Ltd.
  • 17.
    I am atechnical guy. Could you explain further? Mapping current database to Drupal Schema. Srijan Technologies Pvt. Ltd.
  • 18.
    I am atechnical guy. Could you explain further?  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. Srijan Technologies Pvt. Ltd.
  • 19.
    But I stillhave some concerns… $fileInsert = "insert into files Q. Can all digital assets be migrated? (uid,filemime,filename,filepath,status,timesta • Digital media in older CMSes and frameworks mp) are usually stored under separate folders with values ('" . $uid ."', '" . $fileMime ."', '" . no correlations. $data['caption'] . "', '" . $filePath . $sourcePath . $data['name’] ."', '" . $status . "', " . $data['crdate'] .")”; • For migrating the gallery images, small PHP snippets can be written to migrate digital assets. db_query($fileInsert); $fid = mysql_insert_id (); Check for some sample code here $galleryInsert = "insert into node_galleries (gid , nid, fid) values (" . $gid .", " . $nid . "," . $fid . ")"; db_query($galleryInsert); Srijan Technologies Pvt. Ltd.
  • 20.
    But I stillhave some concerns… 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 Srijan Technologies Pvt. Ltd.
  • 21.
    But I stillhave 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.
  • 22.
    But I stillhave some concerns… 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 Conversion chart • Here is a more detailed account of the case http://www.srijan.in/blog/converting-latin1- charset-tables-utf8-data-set Srijan Technologies Pvt. Ltd.
  • 23.
    But I stillhave some concerns… 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. Srijan Technologies Pvt. Ltd.
  • 24.
    Are there moreresources 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.
  • 25.
    What are yourplans 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. Srijan Technologies Pvt. Ltd.
  • 26.
    Migrate to Drupal Thankyou! Get in touch Drupal/CMS enquiries: business@srijan.in Srijan Technologies Pvt. Ltd.