Drupal, Expression Engine, Moveable Type, SilverStripe, WordPress

What is the best CMS for my project?

This is part 1 of a 5 part series on choosing the best Content Management System for your project. Over the course of the next few weeks I will explore how you’d create the same site in 4 of the top usable CMS’s.

As a web developer, a task you may have at the beginning of each proposal is discerning the proper way to manage content. With so many options out there, even some of the world’s finest developers find it to be a challenging task.

Some initial things to consider are:

Budget

One major factor when writing a proposal is to consider the company’s budget. I always suggest an open source solution for two reasons. First and foremost is the overwhelming support available from an active community. A zero-dollar entry barrier will insure that the brightest minds are at play (as well as the not so bright :). Secondly, as a businessman, it allows me to maximize my profit margin. We must feed our families so I don’t see the point in throwing money down the drain when it isn’t necessary.

Often you will find that the customer’s needs are outside that of any CMS by default. In this event it is likely that someone has been down this road before and there is a plugin / module to achieve the functionality. If not, you will need to consider the costs of having a plugin or module developed.

Never assume that a function or module is available when writing your proposal, no matter how common the task.

Timeline

Time is an important factor. Deliverables are most likely planned on a calendar and not meeting them in a timely fashion are usually grounds for termination of contract — or worse, a refund in payment. This is where improper planning of features can really do the most damage. Make sure that your timeline includes enough padding for a learning curve (no matter how talented you are as a developer) and for the development of modules for custom functionality.

Content Types

Most of the time you’ll face more content than simply articles and blog posts. As a matter of fact, most commercial projects feature various content like Products, Staff, Initiatives, Jobs, Support Tickets, etc.

Each CMS has a different approach for handling content types. Expression Engine would have you setup template groups and templates, where with Drupal, albeit a bit more challenging, you could tag-team the Content Creation Kit (CCK) with Views to achieve endless possibilities, no matter the content.

Wordpress can be a more simple solution if your clients website is based around single blog blogging, podcasting, re-syndication, or vlogging. With RSS feeds on everything by default, the install can be modified to be a directory, a job board, portal, etc. Movable Type would make more sense if your client needs to manage an entire blog network under one install.

User Types

The way the users interact with the site is another factor to consider when choosing your CMS. In WordPress you’re generally limited to a Author / Comment relationship. You can manipulate comments for things such as ratings, feedback and voting but the options are definitely limited.

In Drupal, for example, every user has a profile to which you can edit to become custom profiles and identities according to the sites needs. Perhaps everyone at the site could have their own portfolio pieces, favorite links, or their last 10 posts. It’s really up to you.

Silverstripe has really stood out as of late because of the way their CMS handles different languages and page translations on the fly.

Support

There will be times when even the best programmers are stumped. This is why having an active, enthusiastic, friendly, support community is a must. There is nothing better than hopping on IRC and getting real-time help from a complete stranger.

If you are still unable to find the answers you need, there are plenty of paid services (like mine, for example) that will leverage their professional resources in order to help you find your solution.

In Conclusion

In reality, every CMS could potentially be the best for your project — they are only limited to your knowledge and creativity. The best advice you could ever get is to learn a little bit of PHP, choose a CMS that you are excited about, and learn absolutely everything you possibly can — If then you find that your needs aren’t met, try again.

In Part 2 we will discuss tackling a business website with products under multiple categories, a blog, an about us page and a contact form with Drupal.

WordPress

WordPress 2.5 Guided Preview

At first glance, WordPress 2.5 admin panel immediately introduces you to it’s new best friend: orange. The famous WP blue has been comforting us for years now and the folks at Happy Cog obviously had their color wheel handy.

Wordpress 2.5 Dashboard
The dashboard may catch you a bit off guard as it now sports a dark gray global sub header that will help you if you get lost. Wordpress now feeds it’s new plugin repository directly to your dashboard, boasting the most popular.

wp-write.gif
The new Write a post page features a stunning new interface. Most notable, the sidebar has been minimized and all options follow the flow of the post in the primary content area.

The TinyMCE editor has been revamped with new icons and an AMAZING new media upload interface. This has major implications for those who are podcasting or video blogging. As a developer, this is probably the most exciting to me.

Wordpress 2.5 Widgets
One last exciting feature is the inclusion of Widgets in the newly named Design view. Here you will find theme information and a management view for multiple widgets.
Wordpress in my opinion has finally evolved to a level that their userbase has demanded and Happy Cog has pulled out all of the stops in the process.

Look for the official release sometime in the coming week.

BONUS!

wp-settings.gif
I’ve setup a demo account for those who want to test out WP 2.5 the Release Candidate without installing it on their servers. Login here using user:tester, password: tester

Drupal

Getting Started with Drupal: Tutorial Roundup

Drupal is earning some major buzz as of late with the announcement of MTV UK, Popular Science, Fast Company and more recently, GigaOm’s Ostatic — all using the Content Management System to handle their brand portals. The beauty of open source software is that we all have ability to play in the same ballpark as the major leaguers, but as with all things there is a slight learning curve that must be overcome. Here are a few tutorials that helped me pave the way to ultimate Drupal zen.

The Beginner’s Cookbook

Although focused on Drupal 5.x, this tutorial is the first place anyone will point you when asked about the possibilities of Drupal. Written by Nancy Wichmann in February 2007, this multi-chapter tutorial will paint “the bigger picture” of whats ahead.

Create a Single User Blog (Video)

This three part series will show you how to modify your default Drupal install into a single user blog. This tutorial will open doors to new concepts that you will be able to apply to other applications with little effort.

Handling Custom Content Types (Video)

One of the most exciting things about Drupal is the ability to have custom forms of content. This tutorial will introduce you to two of the most important modules in Drupal, the Content Creation Kit (CCK) and Contemplate.

Creating Community Websites (Video)

The possibilities are only limited to your imagination.

Drupal 6 Theming Guide

Theming has changed slightly in Drupal 6. This is the definitive (and official) guide on customizing Drupal 6.x.

Create a killer band site with Drupal

My long time friend Jeff Finley has written a 6 part (so far) series on designing and developing a band site from start to finish using Drupal. The tutorial does a phenomenal job of tying it all together using various content types.

Drupal

Drupal: State of the Union Video

If unfortunately you missed DrupalCon Boston, Dries Buytaert, founder and lead developer of Drupal, has posted his State of the Drupal Address. Topics include the Drupal 6 release, upcoming features and development of Drupal 7, results of their usability studies with the University of Minnesota and the future of Drupal and the semantic web.

WordPress

Fluency: Wordpress Admin Theme Alternative

The WordPress admin area has been a concern of mine for quite sometime, mainly due to that a wide array of my clients feel overwhelmed by the complexity of the tab-in-tab layout that often feels foreign when compared to their usual tasks in Gmail, Word, etc.

Even though the release of WordPress 2.5 has been delayed, Dean Robinson has released Fluency Admin for Wordpress 2.5+. Like myself, Dean was a fan of Tiger Admin by Ordered List’s Steve Smith and was encouraged to make his own admin interface since Tiger Admin is no longer compatible.

fluency-031208.jpg

Fluency allows developers to offer a fresh, familiar interface to their clients that can easily be branded to match the rest of their site by simply replacing a image file.