Managing WordPress via git

I reorganized my self-hosted WordPress system to use git to manage the WordPress code and to move the content outside of the WordPress directory. That way I should be able to do a simple git pull and git checkout $newversion to update my WordPress. I’m also keeping my content directory under change management (separately) so that I can update plugins through the web and be able to roll back.

  • $HOME/blog/wordpress is a git clone of git@github.com:WordPress/WordPress.git. I make no local changes in this. In particular, all of wp-content is unchanged (I make it unwriteable by Apache to be sure).
  • $HOME/blog/content is a copy of the wp-content of my site (prior to moving it outside the wordpress code). It contains the usual: plugins, themes, uploads. It’s all writeable by Apache so that I can update plugins and themes through the web.
  • $HOME/blog/wp-config.php is the usual config file (WordPress looks in the parent directory for it). It’s standard except for two settings:

    define('WP_CONTENT_DIR', '/home/fred/blog/content');  
    define('WP_CONTENT_URL', 'http://fred.yankowski.com/content');
    
  • /etc/apache2/conf.d/wordpress.conf defines the VirtualHost for the wordpress site. It has an alias to support special location of the content. (It also has the mod_rewrite rules for permalinks so that I don’t need an .htaccess file in the wordpress code).

    DocumentRoot /home/fred/blog/wordpress
    Alias /content /home/fred/blog/content
    

Google Reader, RIP

Google just announced that Reader will be unavailable as of July 1. Damn!

This makes me think that I should never rely on Google products for anything important. Docs, calendar, etc. Time to start looking for alternatives to each.

Calendar as information central

I think Scott Adams is right, “the biggest software revolution of the future is that the calendar will be the organizing filter for most of the information flowing into your life”. Sharing calendars is still too hard, and when we solve that problem I expect it to be hugely useful. I expected shared calendar technology to become mainstream years ago and it still hasn’t happened. Just what is the roadblock?

upgrading WordPress, or how to turn 30 minutes into several hours

It took maybe 30 minutes to upgrade from WordPress 2.2 to 2.6, including time to revisit my notes on how I’ve done it before and to scan the official install/upgrade notes. But then it took a couple of hours to figure out why categories were gone and how to fix it. Long story short, I had to manually build the wp_terms table rows based on the old wp_categories rows. The SQL given in a forum note, lost categories after 2.6 upgrade, did the trick. But what a waste of time.

Selenium

The Selenium software for testing web apps looks promising. We’ve got a boatload of pages to get going in our PowerSchool deployment project and I’m hoping to use something like Selenium to automate some of the testing.

I experimented creating a test using the Selenium IDE plug-in with Firefox and ran into a glitch right away. The page I’m testing does a redirect to force the connection into SSL/https. The IDE tool captures the session OK but when I try to run the test from Selenium on the host it hangs at the point where the conversation switches to the SSL port. I tried starting out in SSL but then it hangs when the ultimate page redirects back to a port 80 connection. Rats.