Drupal
Setting svn:ignore for Drupal's settings.php

The Problem
It's important to keep track of changes to your software. I use Subversion for version control. One issue that's always been quirky for me is ignoring files. The authority on Subversion, the red-bean book, doesn't give a lot of depth on svn:ignore. It describes how to do what you may have done before in CVS and how to match groups of files. That's useful but I work on Drupal and I have the same set of files on multiple servers for development. These servers have the same files but different quirks with .htaccess and settings.php. So when I check in changes I don't want my settings.php from a development server overwriting the changes.

CSS Without Headings?

I've looking at Drupal theming for a while now. I just had an idea yesterday though. The theme I was analyzing uses an H1 tag for the site title and H2 tags for the headings over navigation. I tried to decide if this made sense for me or not. On many sites this may be appropriate. It's possible that the name of the site is the most important thing and the navigation includes a heirarchy of decreasing semantic importance. It's also possible that the site is like many sites. The site title is a random five letter word and the navigation has a title like "Navigation".

Drupal Theme Hooks: a Simple Example

By default, Drupal adds the text "Not Verified" to comments from unregistered users. It also adds the rel="nofollow" attribute to the links they provide. I didn't like either one of those things so I set out looking where to fix it. It turns out that both these bits happen inside the function theme_username(). This function is hookable. That is to say, this function can be replaced by a custom function in a theme.

Gallery 2.3 goes gold

I should be happier about this. Gallery 2.3 was released on Saturday. I would be happier except that last week I finally decided to upgrade and went with 2.3RC2. My timing is amazing. I'll be upgrading shortly but this also gives me a chance to show off the much cleaner look of my photo albums now that I've set up the Drupal module that integrates Gallery2 with Drupal. It took a lot of work but I feel like it was worth it.

Drupal SVG Display Module Ideas

I've been working on rewriting my Wordpress SVG inlay plugin as a Drupal module. So far it works pretty well but I'm not ready to say it's secure or functional for most sites. The basic concept of the SVG inlay is that sometimes you just want to display an SVG image in a post or page. Not as a style element but as something that visitors want to look at which is relevant to the content. Like a chart, a graph, a network diagram, maybe even a little game.

Drupal in Waterloo

Waterloo has a Drupal developer group and they're getting together tomorrow night. James Walker (of Bryght/Rain City Studios/Lullabot fame) is going to be there talking about module development. It'd be a 3 hour drive for me to get to a 2 hour meet up but I seriously considered it. I've been learning module development off and on for a couple years now. I've actually done a couple for personal use. Sharing experience in a group like this is a lot of fun and you get a lot more insight in person than you can by just reading. I'd encourage anyone nearby to head on over and check it out.

Does Windsor have enough Drupal developers for a Drupal group? Do we have enough LAMP developers to support a group? I like the Windsor Blogger meetup we've been doing (more bloggers welcome, btw). The blogger meetup seems to have been going long enough now that it's a regular thing. I'm a little jealous of Waterloo, they have about the same population as Windsor. I think we should have enough developers to get together and share some ideas once in a while.

Replacing the Wordpress Blog Archives with Views in Drupal 6

The Views module in Drupal is both useful and confusing. The basic idea is that Views will allow you to provide a styled list of some content. This content can be pages, stories, blog posts, comments, users, RSS feeds items, nodes and even some other kinds of data. You can think of it kind of like those generic examples of PHP and MySQL that pull out a bunch of records from a table and just give you a list. Except that it doesn't rely on just MySQL. And it doesn't just give you a list. And it does validation. And you don't really have to write any code.

The Views interface in Drupal 6 (under Administer >> Site Building >> Views) is pretty complicated. I don't understand all of it yet, so I decided to work through an example of something that I needed here on Late Night PC. There's a view included called "archive" which shows up at example.com/archive/yyyymm. This is pretty close to the way I was doing my archives under Wordpress. My archives page URLs had the form latenightpc.com/blog/archives/yyyy/mm. So I basically wanted the archive view with these changes:

  1. Move the URL from archive to blog/archives
  2. Change the parameter from yyyymm to yyyy/mm
  3. Filter the view to show only blog posts instead of all content
Syndicate content