Website Content Migration: Migrating to Drupal Content Management System


Jim Thaxton, Senior Developer

The construction of a new website or accommodating new features and functionality of an existing website often requires replacing the existing content management system (CMS). For the Illinois Humanities Council, integrating with Raiser's Edge client relationship management and expanding their social networking with public forums brought us to Drupal, an open source CMS. One major challenge, which all new sites must confront, is migrating from the existing CMS to the new one. This whitepaper explores the steps taken to migrate to Drupal.


 

Problem: New Features Overload Website

The Illinois Humanities Council (IHC) [www.prairie.org] website has been operating for a number of years on DuoCMS, a customized web content management system (CMS) built on a ColdFusion and SQL Server platform. DuoCMS has many strengths and features, yet the IHC website’s current and anticipated needs could no longer be met using the existing platform.

IHC came to us with an extensive wish list of features they wanted to add to their website.We realized that building these features into the DuoCMS site might not be the best idea to “future-proof” the site. For example, they needed to regularly import content from Raisers Edge, a third party client relationship management system.They also wanted to expand their social networking by creating public forums for featured programs on an as-needed basis.

Open Source CMS Fits the Requirements

We knew we had to find a solution that addressed their needs in a cost-effective manner.This ruled out custom coded solutions that would be expensive to build and maintain.We also wanted to avoid CMS solutions with high licensing fees. While this closed one door, it opened the project to the world of user contributed open-source CMS options. We have been working with Drupal, recognized as an efficient and cost-effective community oriented content management systems.

IHC already had a number of smaller blogs hosted separately from their main site.We knew they could maintain their current functionality through a Drupal installation.This functionality included an extensive list of events year-round, relationships between programs, events and people involved. Drupal would also provide a future proof solution and a means to integrate their external blogs. In addition to all this, they would be able to configure this themselves without the need for a developer.This solution not only met their budget for the initial project, but for future growth as well.

Discovery and Planning for Converting to the Drupal CMS

The IHC site had been running on DuoCMS for several years. During that time, they used it to store tens of thousands of events and large amounts of content. As a community organization, their program and event history is an important part of their operation since past events can serve as a catalyst for grant funding.The biggest challenge was migrating content from the DuoCMS site to the new Drupal site. As with any new Drupal project, the first step was a discovery process to determine what modules or discrete pieces of functionality we might need to add to the core Drupal installation.

Several modules have made it into the core Duo Drupal installation, including the Content Construction Kit (CCK) and Views modules. A number of Drupal modules allow us to easily replicate functionality from the previous DuoCMS site. In addition to this, a Node Import module helped us migrate content from the DuoCMS site to the new Drupal implementation. A large part of the discovery process involved mapping the current CMS to new content types in Drupal using the CCK.

In addition to the CCK and Views, IHC needed custom maps (enter the Location & GMap modules) to pinpoint their events and grants throughout the state. Having an interactive map will be a great asset for them when applying for future grants because it will permit them to easily and graphically demonstrate to elected officials exactly what they have been doing for their local district at any time! The core of IHC lies in their event offerings, which are almost always free to the public. IHC hosts thousands of these a year. We researched the Event, Event Repeat, Date and Calendar modules as ways to not only duplicate, but improve their existing event functionality.

As with any project, investing time in research at the earliest stages pays off with hefty dividends later. By analyzing the current site and setting up content types that matched the current DuoCMS site, we had paved the way for a smooth migration process. Instead of piece-meal adding modules as we needed them, we had our playing field set for the import process.

The Challenge - Importing 15,000 Pieces of Content

With our base modules in place we were ready for the task of moving all content, including all content relationships between programs, events, grants, people involved and news releases, into the new Drupal site. We readied our Excel files, exported from DuoCMS, and we were set to import. At this point, as in other Drupal projects, we started to look for a module to help out. After all, why re-invent the wheel? Perhaps the biggest time-saving on this project came from the Node import module.

The order in which we imported items into the new Drupal project was important. Items that had nothing relating back to them, and thus provided a base for interrelated pages and content, were imported first while nodes with multiple relationships, like news items, were imported last. By doing this, we could use the Excel lookup tools to translate content titles into their respective Drupal node IDs to make sure not only that our content was imported, but that all relationships remained intact.

One area where we had to make a tough choice was the IHC programs content. Based on the earlier observation that items that are included in the greatest number of relationships should be imported last, the programs should have been the final import. However, a project has to start somewhere and on the flip-side, every piece of content in the IHC site has a relationship back to the programs content. IHC has 18 active programs and several archived programs, and they are related to everything else in the site. We did make the decision to import the programs first without any relationships in the program nodes. This would leave us with 20 or so nodes that are easy to track later to re-establish these relationships and would really help when importing events and news items, of which there were thousands.

We were able to save our Excel files as CSV, and ensure they were correctly UTF encoded and updated with relationship information resolved to corresponding node id. In addition, we uploaded all related images and files to the stage site to not only import content, but related images as well.

Of course, this task execution sounds quite linear and obvious now. But there were a few misfires and we prototyped several tactics on a local computer before doing this on the staging server, but overall, the migration went very smoothly.

Additional Benefits of Using Drupal

Beyond migrating content from the DuoCMS project, the Drupal Import module is also crucial for IHC moving forward; it allows the staff at IHC to import new events from Raisers Edge into Drupal to minimize double entry of content, thereby saving staff time.

We were able to make use of not only the Drupal modules, but the Drupal site user forums when we ran into bugs or feature requests in current modules.We could easily update the module code to suit our needs and contribute our findings and fixes back to the Drupal community. In this way, we not only benefited from the experiences of other Drupal developers, but we were able to contribute to the greater knowledge.This is truly one of the great virtues of open source software.

New Requirements Prove Drupal’s Flexibility

The IHC site launched in August 2008. Before the official launch, they received a request from another humanities organization in Illinois to create a search and set of events for the Arts and Humanities Month.

We knew they could obtain their current functionality, including an extensive list of events year-round as well as relationships between programs, events and people involved, a future proof solution and a means to integrate their external blogs from a Drupal installation. Better yet, as administrators of the system, they were able to configure these themselves without the need for a developer or coding experience.

The staff at IHC was able to create the additional fields to flag events as part of the Arts and Humanities month, as well as make new Views to highlight these events. You can see the results on their site: http:// www.prairie.org/ah.They also created their first set of forums for their feature program,“All-Consuming: Conversations on Oil and Water.” Using the tools available in Drupal, they were able to create a moderated set of forums and be prepared for the discussions to begin: http://www.prairie.org/category/ forums/illinois-humanities-council-forums.

Drupal’s modules further extended their control, allowing them to create new content based off of RSS feeds from other organizations, such as Chicago Public Radio. Using the Feed API module, they were able to supplement their forums with this new information and provoke further discussion.Their use of the Gmaps module, developed
by non-profit Chi Tech Loop benefited not only site visitors, but the organization: the ability to show real-time activity in a state, county or zip code gives IHC a current, concrete example of the organization’s progress, useful when giving a public presentation or making a case for further funding.

These examples illustrate the heart of Duo’s solution: by moving IHC’s content to a new platform, the idea was to build not just a better website with greater flexibility, but give the organization an independence they had not previously experienced.This in turn removed Duo as the middleman, for the most part, minimizing the cost to IHC and allowing them and subsequently, their visitors, the most current information and an intuitive way to access it.The increased functionality and greater organization Drupal provided remained cost-efficient, while furthering IHC’s mission: an online hub for critical thought and the exchange of ideas.