My position with Acquia will find me helping out with a lot of migrations and upgrades. I'm going to embark on a multiple-part blog to discuss some of the common techniques that I use when moving clients to Drupal.
Migrating to Drupal can seem intimidating if you already maintain a database-driven website. However, populating a Drupal site with your current content might be easier than you think. Whether you are migrating from a popular CMS or a fully custom application, you can easily use Drupal modules to mimic your current data structures and migrate your data using a simple custom PHP script. I should note that while there are several different methods to accomplish this task, this happens to be my favorite.
Packt Publishing announced on Wednesday that they had awarded Drupal as the best Open Source Content Management System written on a PHP/MySQL platform. Moving ahead of last year's winner, Joomla, Drupal was credited with winning not only for the great feature set, but also for having such a great community.
It's a great time to be a drupalist. Click the digg link below to help spread the word!
I've been playing around with an awesome Drupal module recently called Drush, which is a CLI interface for common Drupal functions. It's just a PHP script that bootstraps Drupal and calls modules within the Drush module. You can do cool stuff like from managing contributed modules and executing SQL queries, right from the terminal. I've got my head buried in the terminal for ten hours a day anyway, might as well be able to do some Drupal stuff there!
Install is fairly easy:
from your Drupal site's root directory, or add the "-r /path/to/drupal" flag. You might also have to include the "-l http://siteurl.com" flag if you have a multi-site installation
And, voila! You can now check the watchdog, run cron, run simpletests and a lot more without leaving the comfort of your favorite shell. I'm kind of stoked to write some custom modules to do some other common stuff.
So, I've been playing around Drupal 7 and wanted to put together a local server for testing. The only crux is that the only "server" I had to work with was a cruddy old eMachines desktop with 640MB of ram running Fedora Core 5. Well, long story short, I had neither the time, patience nor the bandwidth to download Fedora 9. Unfortunately the Fedora 5 distro only comes with php 5.1 yet Drupal 7 requires PHP 5.2. Yum showed no available updates, so I had to scour pbone.net for a bunch of FC5 RPMs to get it up and running. Here's a quick Breakdown:
First, locate and remove the old PHP installation and extras:
the -qa option shows which RPMs have been installed and | grep php filters out anything not containing "php"
the above, run as root, will remove any of the listed RPM packages installed
Second, download the new RPM files from a repository like pbone.net - I grabbed the following RPMs for Fedora 5:
Third, install the above RPM files
and repeat for the additional packages. Note, use the -Uvh to upgrade packages that are installed, and -ivh to install the ones you do not currently have installed.
Fourth, set up CVS on the server and check out the latest from HEAD:
Fifth, and final step, was to tune apache a bit, set up the database and install Drupal 7! Now I've got a server that I can quickly keep up to date with Drupal HEAD and compare patches against the CVS.
Now that the Tour is over, I've got some bandwidth for development. So, I've been doing some experimenting with Drupal. In response to a Drupal.org post, I tested a method to create an auto-fill search form that was fun to play with. I also wrote a pretty interesting slideshow module for VeloNews that we're testing out this week. The module uses CCK to associate a bunch of images, then constructs a slideshow and corresponding thumbnail gallery that scrolls using Javascript. I don't get to do much Javascript coding, but it's a lot of fun. I might play around with jquery and try to do some more complex animation, but it'll have to wait. I'm headed home this week to see the Folks. Cherokee should be lovely right now... nothing like August heat in Iowa!
I was bored, so I decided to install the latest version of Drupal and play around with it a bit. The default template is lacking a certain pizazz [spicy now?], but I'll see if I can spice things up a bit :)
I'm currently hanging out watching the live coverage of the Tour, waiting for the results to come in. Things are pretty chill for me during the stage, then it's about an hour's worth of scrambling to get the site up to date before things calm down. Tomorrow is the big day up L'Alpe d'Huez, which should be our biggest day on record for traffic. Then it's a slow taper to the finish in Paris and a much needed break for myself.