With the aim of helping new Drupal developers get setup on Windows, I've created the following guides.
I've finally made it into the Drupal gliterati! Robert interviewed me earlier this week for the Lullabot podcast. It's all part of my plan to become a Lullabot when I'm done and graduated. Topics included: Phlickr/Flickr, my Summer of Code project, brewing beer and my stumbling speech.
I put in two applications for this year's Google Summer of Code. The first was working on programming tools for Squeak and the second was creating a project_metrics module for Drupal. The Squeak proposal was definitely the weaker of the two, there were too many questions I wasn't able to answer to write a good proposal. In contrast, the Drupal proposal practically wrote itself. I've done enough work with Drupal that I already know how 90% of it will work out and I'll have enough time to figure out the other 10%.
I've got it on good authority—lets just say several little birds told me—that my Drupal proposal will be accepted when they announce the results tomorrow. I'm very excited to be in the Summer of Code and very excited to be able to give something back to Drupal.org
Update: it's official, my Drupal proposal has been accepted. I'll be having a Summer of Code.
Etta reluctantly dropped me off at the airport this morning, it was really hard to say goodbye, it's the first time in months that we'll be apart for more than a day or two. After this I don't think I'll be taking any more than day trips without her. It's not nearly as much fun.
Back in Drupal 4.7 if you were using CCK for nodes the node body was left empty. In Drupal 5 CCK nodes now can have a body. I wanted to move data from a field named
description into the node body so I came up with the following snippet fit for running in the devel module's execute PHP block.
Today I finally broke down and upgraded the KPSU site to Drupal 5.0. I wasn't too worried about core, I've been running 5.0 on this site since the feature freeze and I'd setup DeFordBailey.info and spannerbicycles.com a couple months back. My big concern was with the contrib modules. I'd done a couple of test upgrades over the last month and found plenty of bugs but today was the first one where most things seemed to work. So I made a back-up and said what the fuck. After the upgrade I only found one critical bug. There's plenty of tweaking to be done in the next few weeks but now I can start hacking away at access modules.
The station's website will be build using Drupal an extremely powerful, open source content managment system written in PHP.
Drupal uses some PHP functions that require the installation of additional ports. You'll need:
- textproc/php5-xml - XML parsing.
- databases/php5-mysqli - MySQL support for PHP.
- www/php5-session - Session support.
- graphics/php5-gd - Image handing. Optional, some modules need it.
- converters/php5-mbstring - Unicode support. Optional, but Drupal prefers that it be installed.
- www/drush - Drupal command line tool that helps automate many common tasks.
This HOWTO walks you through the process of building a FreeBSD server to put a radio station on the internet. When you're finished you'll have a:
- Apache2 web server
- MySQL 5 database server
- Icecast2 MP3 webstream
- Drupal based website with:
- Program schedule
- MP3 Archive of broadcasts
This is the setup pioneered for use by KPSU, a college radio station in Portland Oregon, to stream and archive our broadcasts on the internet. I've released the code as the Drupal Audio and Station modules. You can find a list of some of the websites using the Station module.
All the software is free and open source. The only thing you've got to pay for is your time and hosting. While the details are FreeBSD specific, the general setup can be used for any UNIX like OS.
First, setup FreeBSD, use the handbook for that. Sorry to be so vague on details but that part of the setup is going to vary greatly depending on your hardware. The handbook will do a better job of explaining it than I could hope to do.
Once you've got a running server, start making your way through the following pages: