This site presented us with many challenges from the very beginning. For starters, we were faced with the task of securing a failing Drupal site that was getting maliciously hacked on a regular basis due to being severely out of date, and ill-maintained. After we got past that we were presented with the daunting challege of a large scale Drupal to Joomla! migration, the first of it’s kind. With combined content of 200,000+ articles alone, each with 15-20 unique fields in Drupal, and tens of thousands of users, this was definitely a unique challenge. Once the migration process itself was nailed down, we were presented with the requirement to clone the site’s previous template from Drupal into a Joomla! template. Finally, due to the high-profile nature of this site, we had to secure the new site as well.
With the live Drupal site getting hacked on a regular basis we had to act quickly to secure the existing site, and hold it together while we worked on a new site. Fortunately, we were able to turn to the folks at Securelive to help us. I’ve always been impressed with how well Securelive protected our sites, and they didn’t fail us this time either. Since we implemented Securelive on this site, we have not had a single successful hack on the site.
With a move from a Drupal environment, a lot of work had to be done to map out content in a manner that could be imported and presented in Joomla!. We chose the K2 CCK to help answer many of the challenges this posed. While several others were considered, and definitely had benefits to using them, K2 had the easiest architecture to import content from the format that Drupal stores data in. With that decision out of the way, we focused on building an automated importer to bring over the large amount of content from the Drupal sites. Our work didn’t end with import though. In order to meet specific requirements for the client, we built many custom K2 features to assist in both content editing, and presentation.
One of the biggest hurdles in importing content was the association between users and content. In Joomla! (and K2) a single user can be assigned to a single article. With a news agency like this where multiple authors and jouranlists may collaborate on an article or series, it became important to be able to assign multiple users to a single article. Luckily, we’ve tackled this same problem before for an online encyclopedia we built for the United Nations International Labor Organization, and were able to implement a similar solution here to facilitate the assignment, and presentation of multiple authors for each K2 article.
The last phase in this build was the site design itself. The primary requirement here was to exactly clone the original Drupal site template. To facilitate the requirements of the site layout, and the unique positioning of different modules and new module positions, we started with the T3 framework from Joomlart to build a flexible template that can easily be expanded as needed. Another unique requirement in the content presentation was the separation of article fields. With each view requiring specific fields in a specific order, most K2 templates had to be largely rewritten to accomodate the specific ordering of fields, or inclusion/esclusion of specific fields for a view.
This was definitely an interesting, and exciting process. With a site of this magnitude, simply building it from scratch is interesting, but the added aspects of immediate security threats when the project started, and a Drupal migration thrown into the mix, it was definitely an adventure. With a stable Joomla! platform as it’s base, and the flexibility afforded to us in expanding the site while still maintaining a high level of usability for non-technical jouranlists, we’re already looking forward to expansions, new ideas, and new sections for the site to better server Truthouts readers!
Jon Neubuer - Project Lead/Developer
Rob Joyce - Joomla! Developer