Jump to ratings and reviews
Rate this book

Migrating to Drupal 7

Rate this book
Migrating to Drupal 7

158 pages, Paperback

First published December 25, 2012

1 person is currently reading
6 people want to read

About the author

Trevor James

42 books1 follower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
2 (50%)
4 stars
1 (25%)
3 stars
1 (25%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 2 of 2 reviews
Profile Image for Surendra Mohan.
7 reviews
April 3, 2013

Migrating to Drupal 7 written by Trevor James ,a drupal developer and a resident of Middletown, MD, USA; has been extensively working in Drupal since 2007 and has designed websites using HTML, CSS, ColdFusion, PHP, jQuery, JavaScript, etc. over 15 years of his dedication to web design and development.


Along with his vast experience in developing Drupal based portals associated to education, non-profit, medical systems, etc sectors, he has been authored a few books like Drupal 7 business solutions, Drupal webservices, and Drupal 6 performance tips. He loves training newbies and Drupalers and has infact created a 14-hours video tutorial series.


'Migrating to Drupal 7' has been especially written to provide the readers / developers all the necessary information and guidelines essential to speedup with Google Drive, a web based application that allows us to store, edit and share files online possibly on ‘Cloud’ using the internet. The book consists of a number of essential and good-to-know topics book, organized in a ladder format, ie. Starts with the easy and necessary concepts and then heading ahead with much more complexity for the ease of the readers / developers to understand the basis concept first and then proceed ahead with the complex ones.


The author has explained each and every point in such a way that it can grab interest of the readers to major extent, irrespective of whether he/she is a newbie to development or an experienced professional. The best part of this book is that post each chapter, a quiz with a few questions relevant to the chapter has been introduced so that readers can summarize whatever they have learn till then.


To justify my statements, I would like to pen-down my views topic wise.


Preparing Drupal for Content Migration:

This chapter details on how to prepare your Drupal website to import content and data from a legacy Content Management System (aka, CMS) or other site. In addition to this, performance aspects, core Drupal and necessary contributed modules, and setup of Feeds and Feeds Tamper modules along with the other modules including Migrate module have been covered in details.


Author has highlighted a couple of assumptions ie. Drupal has been setup using standard method and Drupal 7.15 has been considered in the book as it was the latest version when the book was written. Following are the main points, author has focused on so as to achieve migration of content successfully.


Check Drupal site’s status reports and PHP configuration – Author insists the developers to check whether your Drupal site is properly functional by looking into its status reports and then check for the PHP configuration to ensure they are appropriate. The detailed guidelines on how to validate and correct the status report and PHP configuration for the migration activity.


Drupal core modules – Author has insisted the readers to verify and ensure, drupal core modules like Field, Field SQL Storage, Field UI, Node, Taxonomy etc are enabled.


Required contributed modules – Ensure that Feeds module and its dependencies are installed correctly along with the proper installation of other contributed modules.


The administration Menu module – Author recommends the readers to install Administration menu module, using which it is easy and convenient for the developers to navigate. This topic covers the detailed and stepwise explanation along with the relevant screenshots on how to uninstall drupal core’s toolbar module and to proceed ahead installing the contributed module, ie. Administration menu module.


Chaos Tool Suite (CTools) – It’s necessary to install CTool module due to its dependency with required modules like Feeds, Feeds Tamper and Views. Author describes the way to install CTools module efficiently in this topic.


Views – Author explains, though views module has not been extensively used in the book, it is good to know how to install it as it is required by Feeds news module. Alike the previous topic, author has explained the way to install correctly in this topic.


Job Scheduler – It is one of the required modules used by Feeds and Feeds Tamper modules and is extensively used during the migration process. Author has covered how to install the job scheduler module along with sharing a couple of tips-and-tricks.


Features – It is a drupal module which enables you package and save your drupal configurations including content types and feeds importers into your code. Author explains, features is one of the necessary modules required by feeds news hooks and plays a vital role during migration.


Installing Feeds Modules – As discussed earlier, Feeds module plays a vital role during migration. So, it is important to install and configure appropriately. In this topic, author describes how to install feeds module correctly, demonstrating with the relevant screengrabs and explaining each and every component involved during its installation.


Installing Feeds Tamper module – Author describes stepwise so as how to install feeds tamper module, demonstrating with appropriate screenshots for concrete and better understanding to the readers.


By the end of this chapter, author has stated few important points that needs to be kept in mind to ensure successful migration of content.


Starting a Migration Path:

This chapter focuses on how to create your content type and fields in Drupal for the contents which need to be imported.


By now, the all the contents from the source website have been exported into CSV file wherein columns and rows are well organized and ready to get imported into Drupal website. However, before the CSV can be imported to Drupal website, a container needs to be setup so that the imported and migrated contents can be held. To achieve so, author has discussed the following actions in the form of topics that needs to be carried out before actual import takes place.


Creating a content type – Author explains that a content type needs to be created. This complete process have been presented clearly with an example CSV containing 24 columns and 1000 rows have been considered to import in Drupal website, demonstrating with their relevant screenshots. Moreover, a couple of tips-and-tricks have been shared with the reader to have better understanding of the process along with some instructions relevant to the format of column header title.


Planning a map of the fields in your content type to the data in your CSV – Once the content type has been created, it needs to be populated with custom fields which need to be equivalent to the columns in CSV in terms of the field types. Author has explained the process in a crystal clear manner, explaining each and every term, it’s usage, and reasons for doing so, making the concept more interactive and reader friendly. In addition to the above, author has also detailed about the additional contributed modules like Node Reference, Location and Link along with their individual components which needs to be used to create the associated fields in the demonstrated example, and the process to install these modules.


Adding fields to your content-type based on the mapping – Upon analyzing the CSV, now it’s time to create the custom fields with the relevant field types like Location and text fields; location field along with it’s associated components (eg. Location name, street location, city, state/province, postal code, country, phone, fax, etc.); integer fields; term references (which needs a vocabulary to be created); and Node references (which requires references module to be installed).


Even the minute level information have been shared by the readers, demonstrating each and every step of the process using the screenshots, making the topic more appealing and reader friendly.


Configuring field settings and validation – Author has explained how to configure and validate the field settings. For instance; changing the display formatter on the node reference field.


Migrating images and files – Author has shared the easy-to-implement and convenient guidelines so as how to migrate the images and/or files successfully, using filtered text in the body field of the content type, and the path to the directory where the images and files are being stored in the current website. Moreover, author also warns the readers that this method of migrating images and files is not fool proof. Thus, it is optional to use this method, instead manual migration can be tried and used.


Creating a Feeds Importer:

This chapter explains how to create and configure your feeds importer using Feeds module. Chapter consists of topics like how to create a feeds importer; exporting, cloning and deleting feeds importers; importers basic settings; importer fetcher; Parsers; Processors; how to map your importers; how to add source and target and use GUID for mapping; and running the import process and testing it.


How to create a feeds importer – The topic deals with how to create a feeds importer. Author has discussed the concepts of node import, user import, feed, and OPML import and the process using straight forward instructions and guidelines.


Exporting, cloning and deleting importers – This topic focuses on how to export, clone and delete your importers using simple ways, especially using Feeds module instead of editing or modifying node importers. Author has explained the concept and the process stepwise, using relevant screencasts, making the topic more understandable to the readers.


Importers basic settings – This topic covers the concepts of how to have your importers basic settings so that you can achieve the import tasks in various ways like background process; scheduling the import process on periodic basis, using drupal cron.


Author has explained each and every component associated to importer settings like basic settings, fetcher, parser, and processor in a clear crystal manner and descriptive way using relevant screengrabs for better and firm understanding to the readers.


Mapping your importers – This topic deals with how to map the associated CSV file’s columns of content and data with the custom fields we have added to our content type using Feeds module. Author has shared the detailed guidelines of the process along with explaining each and every component like Source, Target, Unique Target, etc in details.


Adding a source and target – This topic explains how to add a source and target to your importer. Alike previous topics, author has shared the guidelines in a descriptive manner using relevant screenshots.


Running an Import process – This topic focuses on how to run an import process. Author has described the process demonstrating it with an example in a neat and tidy manner using screencasts along with covering the concept and process of how to delete the imports, with the output similar to the following.


In addition to the above, author has also provided a couple of tips-and-tricks, especially for the developers working on Mac.


Feeds Tampers:

The feeds importer created and configured in the previous chapter is being extended by adding tampers to the mapping and is achieved using Feeds Tampers module, has been detailed in this chapter.


In this chapter, author has explained how to tweak your importer to allow for special handling during the import process by using a module called Feeds Tamper; and covered important topics like how to use Feeds Tamper module, how to add a tamper plugin to imported content, Running a feed import update, and testing the import to confirm successful working of tamper. Alike other topics, author has demonstrated and explained the concept and process in a simple way using screengrabs for better understanding and visibility to the readers.


Maintaining a Migration Path:

This chapter details on how to manage and maintain the migration path, using feeds, every now and then. Author explains; the website needs additional content migration in the future time-to-time, which is very important to handle, maintaining the workflow and migration process in place.


Author has covered topics like Updating Imports, Cloning importers, Running an import update, and confirming whether the update worked or not.


Author has explained each and every topic and processes stepwise using associated screenshots and corresponding tips-and-tricks, sharing additional information on the concepts for ease and better understanding to the readers.


Packaging Content Types and Feeds Importers:


 This chapter details on how to use the powerful Features module to save your feeds configurations as a code and store them in a module(s) format, which enables it’s re-usability on other versions of the site or other Drupal sites as well.


It covers topics like installing features module, how to create a feature for your content type and for your feeds importer, overriding features, reviewing feature overrides and reverting the feature code, and sharing a features module and implementing it on a different Drupal site.


Features module – This topic deals in how to install and configure features module. Author has also shared additional valuable information, eg Features keep track on the tweaks you make to your content type and feeds importer.


Building a content type feature – This topic deals in how to set one of the content types as a feature so that the features module can start keeping track on its configuration and the changes/modifications. How to create your custom feature module, has also been discussed and elaborated. Author has explained the concept and the process stepwise using screenshots and related code snippets for better understanding to the readers.


Overriding your feature – This topic covers how features module detects the modification and tweaking made in the content type (for instance, a field is added or existing field is tweaked) with the help of Diff module (which author suggests to install prior to the actual step), and override the older feature with the update one. Alike previous topics, author has explained the concept and detailed process stepwise using associated screenshots and additional helpful information.


Reviewing the override – This topic deals in how to review the overrides using Diff module, how to recreate the feature, and finally reverting features. Author has explained the process demonstrating with an example using screenshots and a few tips-and-tricks in a tidy manner to provide firm understanding to the readers.


The feeds importer feature – This topic deals in how to create a feature to package up your feed importer configuration for your content type (where you have added feature in the previous topics). Alike other topics, author has explained the concept and demonstrated the process stepwise, using associated screenshots and necessary instructions.


Migrating your feature to another Drupal site – This topic deals in how to reuse your feature (created earlier) in some other Drupal based site which uses Features module.


Migration Using the Migrate Module:


This chapter demonstrates the use of Migrate module to migrate content from other sources into our site. Author explains, migrate module is a large scale API that provides a framework for you to build your own migration process using its functionality.


Author has covered topics like how to install Migrate module; Configure the Migrate Example module; Running a migration process using Migrate to create nodes; and how to create terms and users using Migrate.


Migrating Content from Earlier Drupal Versions:


This chapter mainly focuses on how to export content from a Drupal 6 site  and import into your Drupal 7 site in order to migrate and upgrade your existing system. Along with migration of contents, author has also covered how to upgrade your Drupal 6 system to Drupal 7.


Chapter covers vital and important topics like Upgrading Drupal 6 to 7; Usage of Update Status and Upgrade Status helper modules; Migrating Drupal 6 fields to Drupal 7; Running the upgrade; and Migrating specific modules including FileField and ImageField.


Author has explained the process of installing, configuring and administer these two helper modules nicely, using steps and related screengrabs. In addition to this, author has also recommended upgrade your Drupal 6 site to it’s latest version prior to step forward upgrading into Drupal 7 for smooth upgrade process. Moreover, the other topics have also been covered in simple and concrete manner.


Migrating from WordPress:


This chapter covers the process of extracting data and content from your WordPress blogging application and migrate them into your Drupal site, using WordPress Migrate module. Chapter covers topics like Migrating content from WordPress to Drupal; Installing and configuring the WordPress Migrate module; and finally how to play with WordPress Migrate module.


The complete concept and process have been explained in simplified manner along with the visual demonstration for crystal clear understanding to the readers.


Reading the book, I interpret that it is Easy to read, valuable tips-and-tricks have been shared, impressive Layout has been included and the best part is that the topics have been demonstrated by appropriate examples, demonstrating them with relevant screenshots, dos-and-donts, making the book more readable and understandable to the readers. Moreover, a list of related book references have been provided for the readers to explore further on Drupal 7, how to use Drush with Drupal, and Drupal 7 Module development .


Conclusion:

'Migrating to Drupal 7' is a must for developers who wish to play around in upgrading their Drupal (any version) to Drupal 7 and also migrating their Drupal and Non-Drupal sites to Drupal 7 setup in easy, convenient, and risk free manner.


Disclaimer:

I volunteered to review this book and received a free copy from Packt Publishing.


This review has been cross-posted at Surendra Mohan

1 review
February 8, 2013
For all Drupal's features, power, and flexibility, there is one area it has issues with - Content Migration. Getting content into Drupal in mass or from an older Drupal version can be brutal. This book tackles the often challenging task of getting content into Drupal from an outside source, and avoiding countless node/add forms.

It is written for those that are already fairly comfortable working with Drupal, but not necessarily a programmer. If you can install Drupal and build enough of a site to have to worry about importing content, you will be fine.

While the book mentions the Migrate module, it is really mostly about the Feeds module. Feeds is a great tool for importing content from RSS feeds, CSV & OPML files. The book also explores altering or tampering with the content while it is imported. While the Migrate module is touched on, it is mostly for the purpose of using with the Wordpress Migrate module, covered in the last chapter. The book does a good job of dealing with the Wordpress Migrate module, but the Migrate module on its own needs its own book, and programming knowledge.

There is also a chapter on upgrading a Drupal 6 site to a Drupal 7 site. While this information is all available on Drupal.org, the book does an excellent job of bringing all the information to together and presenting it in a very easy to follow manner.

The book is easy to follow and understand. It does drag on in a few places on tedious tasks, while similar tasks in other places are handled more efficiently. There are also some screen shots that have continuity issues, showing items that aren't installed and covered until later in the book. So it does suffer from some minor editing issues, and probably could be easily edited down by 25%-30% and not hurt anything.

Disclaimer
The copy of Migrating to Drupal 7 that was used for this review was provided at no charge to me by Packt Publishing. However, no other compensation was received for this review and this review was published without prior review or any influence from Packt Publishing.
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.