website
`
When I was rebuilding www.lifeisaprayer.com in Drupal, I decided to use the testing domain new.lifeisaprayer.com. This presented me with a challenge, once I started working a bit more on the site, as I set up imagecache, the file system, the favicon, the logo, internal images in posts, images inserted into blocks, etc., into my /sites/new.lifeisaprayer.com/files directory.
If I simply renamed the directory to 'lifeisaprayer.com' and went live, I'd end up with tons of 404 errors. Currently, there's no easy way to switch the location of your files directory in Drupal. Lacking an easy method, it's time to get your hands dirty with a little SQL (I entered the following commands via phpMyAdmin, since my host doesn't yet allow SSH access):
-
Update the files table (which is used by the system as well as imagecache):
-
UPDATE `files` SET `filepath` = REPLACE(`filepath`, `sites/OLDDOMAIN/files/`, `sites/NEWDOMAIN/files/`);
-
-
Update the boxes table (which is used for all the block content):
-
UPDATE `boxes` SET `body` = REPLACE(`body`, `sites/OLDDOMAIN/files/`, `sites/NEWDOMAIN/files/`);
-
-
Update the node_revisions table (all the node content is in here... you'll need to update both the body and the teaser fields):
-
UPDATE `node_revisions` SET `body` = REPLACE(`body`, `sites/OLDDOMAIN/files/`, `sites/NEWDOMAIN/files/`); -
UPDATE `node_revisions` SET `teaser` = REPLACE(`teaser`, `sites/OLDDOMAIN/files/`, `sites/NEWDOMAIN/files/`);
-
-
Update the users table 'picture' value (if you're using user pictures):
-
UPDATE `users` SET `picture` = REPLACE(`picture`, `sites/OLDDOMAIN/files/pictures/`, `sites/NEWDOMAIN/files/pictures/`);
-
Now make sure you clear your cache tables (I just used 'Clear caches' in my Admin menu), then empty your watchdog table (TRUNCATE `watchdog`;) and look for any 404 errors. If you find a bunch, there might be another field you need to update with your new filepath.
Hopefully Drupal core will be better able to handle file moving in version 7—I haven't studied that too much yet, but I've heard files will be treated more as 'first class citizens.' Until then, you can either have fun with the above MySQL queries, or you could use private file handling (which uses a path such as /system/files, and allows your file path to be whatever you'd like).
(One other solution is to set up a folder like /sites/sitename instead of /sites/sitename.com, and set up a symlink to the /sites/sitename folder... that's okay, I guess... but not ideal. It would be best if Drupal could handle this stuff (path aliasing, etc.) out of the box.).
This weekend I am going to attend the Catholic New Media Celebration. I'll be on two plane flights, I'll be sitting at an airport for a few hours before each flight, and I'll be at a convention all day Saturday. I'm hoping to build out a new site idea I've had lurking in the back of my head for some time: Open Source Catholic.

In the past 45 minutes, I've been jumping around Drupal.org downloading all the different modules and tutorials I think I'll need. I've also saved some of my previous work on other Drupal sites in case I need to refer to a code snippet along the way while I don't have Internet access. I'm going to call it a night for now (I need to pack!), but tomorrow, beginning at the airport, I'm going to start working on the site.
Right now, there's a splash page. No theme, no Drupal installation—nothing more than a simple welcome message. By Monday, I'm hoping to have a Drupal site with a new theme (which I hope to contribute back to d.o as a zen subtheme) and all the community features I can possibly cram into it. One man, three days; almost no free time to work with. Think it can be done? I think so! Follow me as I begin this fun and crazy journey!
[UPDATES:]
- Part 1: Putting the Puzzle Together
- Part 2: Theme Development
- Part 3: Going Live...
- Part 4: [Final] Releasing a Theme on d.o!
In what will be the first of, I hope, many case studies, I review the process of redesigning the Saint Louis Review website, from the ground up.
The Saint Louis Review is a local Catholic diocesan newspaper serving the nearly 500,000 member Archdiocese of Saint Louis. The newspaper has had a website since the late 90s, which was ported to a custom-designed CMS in 2001. The PHP/MySQL-based site ran quite well throughout the first decade of this millennium, but was in need of either a serious overhaul or a redesign, to go along with the paper's new tabloid layout in April 2009.

The decision was made in 2007 to port the website to Joomla, but after a few months, a new editor, and more work, it was determined that, due to its extensibility, flexible out-of-the-box permissions, and standards/SEO-compliant codebase, Drupal would be a better fit for the site. Work was begun in January of 2009 to transfer the custom CMS' articles database (over 17,000 articles) to a Drupal site, create a new template based off the colors and design of the new tabloid-format paper, and integrate an easier-to-manage ad system and back-end.
I follow a lot of Twitter users among my accounts; probably somewhere around 400-500 different twitter-ers. Because of this, I often get some awesome links to tutorials, guides, how-tos, and general information; many links which I would miss otherwise, because they won't show up on reddit, digg, or other social link sites.
When Twitter users give high-quality, low-visibility links, users read their tweets and blogs more often than the users who spam their Twitter streams with tons of links to their own content. In my opinion, very few people can often and consistently write top-notch content on their own blogs. There are exceptions, but most bloggers are not professional writers, and therefore need to focus not solely on their own writings, but on others' as well.
For both my geerlingguy and MidwesternMac Twitter accounts, I usually just give one link to a new posting from my sites that I think might be interesting, whereas I might re-tweet or aggregate links to many other people's sites throughout the course of the week. Why? Because I think that will be more helpful to the people following my Twitter stream. And that, along with my ability to communicate with them via Twitter, is what will keep them following me.