drupaldrupal-6drupal-commons

How do I migrate an existing Drupal site to Drupal Commons?


I have a Drupal site in production. The site's large enough that I don't think it's feasible to manually recreate the content types, users, etc. However, the client has decided that they want the site to be based on Drupal Commons rather than vanilla Drupal. How do I go about migrating my entire existing site to Drupal Commons?

My first thought was to install a Drupal Commons instance and use the Backup and Migrate module to move everything over, but wouldn't that remove all of the nifty preconfigured pages, views, and stuff from the Commons instance?


Solution

  • To summarize the relevant portions of the approach we took, the first thing done was to install the Node Export, CCK Content Copy, and Backup & Migrate module on the legacy site. Next, lists were compiled both for modules that needed to be downloaded and modules that needed to be enabled on top of the default Commons configuration, including the modules just mentioned. This needed to be a comprehensive list of the modules used on the legacy site; otherwise node export doesn't work correctly.

    On the legacy site, each individual content type was then exported using the CCK Content Copy module. Nodes were exported for each content type using the Node Export module; everything wasn't exported at once so that problematic content types could be dealt with individually during the import process.

    On the fresh Commons site, the appropriate modules were downloaded and enabled. Content types were imported, which was quite a lengthy process. Next the nodes were all imported. Note that file uploads weren't correctly migrated despite the configuration I tried.

    After this, it was decided to convert the legacy content types to the content types that came with Drupal Commons. On the Commons site, the Node Convert module was installed, and the appropriate Node Convert templates were created. The content was all converted (minus their file attachments).

    To move users, an SQL dump of the users table was made from the legacy site and imported onto the Commons site. The profile for each user had to be manually updated since the fields, roles, etc. were different.

    After that, it was mostly custom configuration---groups were decided upon and created. The theme was customized. All of the imported content needed to be manually associated with appropriate groups, tagged, and the appropriate files needed to be re-uploaded to their corresponding nodes.