Drupal

Some interesting content publishing systems

I test out a lot of content management/publishing systems. A lot.

As someone who runs a couple of websites, I make it my business to check out different publishing systems and see how they're cobbled together. Some systems are pretty straightforward to set up and conducive to publishing straight out of the box.

WordPress

WordPress, for example, is a wonderful publishing tool and more flexible than you might give it credit for: photoblogs, text blogs, magazine style sites are all possible. Bolt on BuddyPress and you've got a basic social network with some of the best elements of Twitter and Facebook. Themeing is a snap, and it's notoriously good for SEO benefits. What it lacks out of the box can be filled in by some extremely well-written plugins.

We run Unreality TV and a sister site off WordPress, and have done since 2005. The improvements to the platform since then have been breathtaking, especially the one-click upgrades and the very slick administration pages.

The bleeding edge of Drupal 7

Drupal logo

I'm a very renegade web developer. I like to exist on the bleeding edge, and I'm waiting with baited breath for the next version of Drupal to be released.

My memory of the last big Drupal release - migrating from version 5 to 6 - was a frustrating affair. Though the new core code was available, very few of the contributed modules were available at the time Drupal 6 came out.

The reason for writing this is because I came across this blog post on Mikkel Høgh's blog, where he talks about supporting Drupal by adopting the latest version as soon as possible. Now, even though that's quite an old post, I admire the principle - upgrade as quickly as possible and help move the Drupal project along.

I'm keen to jump on board with the latest version. There are sites in production that I can afford to experiment with and one's where I'll adopt a "wait and see" attitude, or perform some more in-depth testing first.

Inspiration: Drupal Showcases and Galleries

Drupal logo

I've got a couple of Drupal sites I'm planning to tidy up and work on over the coming months. Ideas for these sites are currently in flux, so I'm looking around to see other sites running on Drupal, what their features are and how they've been structured and designed.

As part of my research, I've dug out some galleries that showcase live Drupal websites. Some of these contain excellent screenshots, others merely link to the sites in question. However, if you want to see the breadth of what Drupal can do, and you want to look at real-world solutions, these are great places to start.

I have listed these posts/sites in order of preference, so hopefully you'll hit the most useful resources first. And if you know of any other Drupal showcases that deserve a mention here, leave me a comment and I'll update this post.

Displaying a previous - next post link in your Drupal theme

If you're a convert to Drupal from a blogging platform like WordPress, you might miss the Previous/Next post links that allow visitors to read through the posts on your site in a chronological manner.

I've been searching for a solution to this for a while, but nothing I've found on Drupal.org has offered an acceptable solution for me. What I'm going to show you here is some code I've put together that retrieves the next and previous posts from the database and displays them for the user. If you are a Drupal guru and have suggestions for how to refine this, please share your knowledge in the comments.

GerryBot: A free minimalist theme for Drupal

GerryBot - A theme for Drupal

I promised a while back that I would make the theme I use on this site available for free download.

Well, here it is. Called GerryBot, it's  a very minimalist one-column Drupal 6 theme. The original concept behind this theme was to have as little as possible on the page to distract from the content. Some of the features are:

Give your Drupal site an SEO makeover

Drupal's currently my content management system of choice. But like virtually any CMS, Drupal needs some SEO tuning to make it more attractive to search engines.

I've set up a number of websites using Drupal, and this post will gather together some of my standard actions for optimizing. I'll try to be as exhaustive as possible on this post, starting with the basics and moving toward more complex optimization techniques.

This post, for the most part, looks at Drupal modules that can automate the SEO process for you. None of this negates the need to have an accessible theme design and to do the usual SEO activities such as building backlinks to your site. Let's get started...

Drupal: Placement of the search box makes a huge difference

I am continually making striving to improve the design of our community site, Unreality Shout. I'm quite fond of the grid-based design, but there's usually something that needs refined or improved.

A couple of days ago, I decided to move the search box to a more prominent place on the page. When I designed the site, I hastily threw in a search form as a sidebar block...right down around the bottom. I was never 100% happy about this arrangement, but my Drupal skills were weaker then.

However, I've been using Shout a lot more recently. And it started to bug me that I had to scroll to the bottom of the page to search for content. So I decided to bite the bullet and hard-code a search box into the top right-hand side of the header.

Tip for newbies: I thought I had all the code in place. But the search box failed to appear. Turns out that although I'd enabled the Search Box option in the global settings, it was switched off in my theme-specific settings. Whoops! Hopefully that's a time-saver for somebody else!

Nofollow List - An alternative to Drupal's spam link deterrent

Something I've hated about running community sites on Drupal is the cursed Spam Link Deterrent filter.

The idea behind this filter is that it applies rel="nofollow" to any links in user-generated content. And the reason this is necessary is that when you have a membership site and you allow users to create content on it, you inadvertently attract spammers who want to drop links back to their own site.

By applying the nofollow attribute, you are telling search engines not to count that link as 'editorially approved' - therefore, the spammer doesn't derive any value from the link. The problem with the Spam Link Deterrent is that it's an all or nothing solution - even internal links to other content on the site get this added to them. This means that your site loses a lot of value from natural internal links.

Comments closed (due to spam)

This is just a short note to say that I'm closing comments on this site for a little while. Over the last week or so, I've been deluged with spam, despite having Drupal's highly regarded Mollom module installed.

I'm not going to bother fighting spammers by moderating comments constantly. Even when reporting spam comments to Mollom, the same stuff just keeps coming back: mostly Tiffany jewellry and Ugg boots spam. If I can't see the benefit of reporting spam to Mollom, then why bother?

What to do instead?

If you've found one of the tutorials or photos on this site useful and you have a website of your own, please drop me a link back. If you're commenting on something I've written, I'll pick up the response via Technorati, and it'll help other people to find my blog.

I am available in other places on the web, like Unreality TV, Unreality Shout and Twitter. And of course, if you need to speak to me, use the "Get In Touch" link at the top of the page.

Drupal: Get a comma-separated list of categories (taxonomy)

Drupal's default way of displaying categories really bugs me. They compile all the categories into an unordered list, which adds a lot of pointless complexity to the theme.

Coming from the WordPress school, I'd much prefer to have a comma-separated list of categories. Well, after an epic battle with my node.tpl.php file and much searching on the Interwebs, I've come up with a solution. It's based heavily on a code snippet used in this Lullabot article.

Essentially, what we need to do is parse through all the terms, build a link for each taxonomy term and then use the implode function to build the comma separated list. Here's a sample of the code I'm using:

Syndicate content