Drupal is a content management system developed as a bare-bones framework allowing individual developers to add in modules that would fit their specific needs. Rather than bog down the system by including everything but the kitchen sink, Drupal admins can pick and chose only the features that they need for their project. Social networking integration, forums, image editors, form creation -- and anything else you can think of -- are all available for use. While all these modules serve their purpose (hopefully), here are the ones that we install on nearly every website development project that we handle.
One of the first questions we get when dealing with a new client is "how hard is it to update our site?" Well, BBCode makes things a lot easier. Rather than dealing with HTML code that's hard to learn or WYSIWYG editors that add in garbage code, BBCode simplifies the input process using tags that are common across the internet. Let's say you wanted to link an image to an external graphic. With HTML your code would be:
<a href="http://www.somesite.com" target="_blank"><img src="/files/your_image.jpg" alt="Image alt text"></a>
With BBCode that becomes:
Views gives you the power to create flexible queries and display the results in your pages. It amounts to an easy to use front-end for the database that powers your website. You can use it to display content, run reports, show off user-specified events, create a photo gallery -- as you can see, it's an extremely powerful module. To see an example of Views in action, have a look at our Portfolio page.
3. Content Creation Kit (CCK)
The Content Creation Kit expands on the default content types (page, story, blog post) to allow you to create your own content types complete with a huge library of field types. For example, you can create a calendar type that has a date field, location, photo of the venue, etc. Like Views, CCK immediately expands the capabilities of your Drupal website but the real power is in what you do with it.
4. Path and Pathauto
These are two different modules but Pathauto (add-on) is dependent on Path (core) so it makes sense to cover them together. The Path module allows you to optimize your page names so that they will be both more memorable to visitors and more friendly to search engines. For example, http://www.yoursite.com/?q=node/114 becomes http://www.yoursite.com/news. Much better! Pathauto takes the capability one step further and auto-names your pages in a friendly way based on the title of the page.
5. Google Analytics
If you've ever used Google Analytics before you most likely already know why this is a must-have. Google's site statistics are the best around and they're free, so this is really a no-brainer. The Drupal module makes adding GA code simple -- just enter your GA unique ID and the module inserts the necessary code into all of your pages.
If there's one knock on Drupal it's in the administrative console. It's challenging enough trying to theme your website without having to worry about theming the back-end as well. And that's where RootCandy comes in. RootCandy is a fantastic administrative theme with great design that makes managing your sites much easier. Installing this theme provides you with a clear distinction between front- and back-end.
7. IE6 Update
It's time to let IE6 disappear into the realm of failed applications. While some developers will spend hours rewriting their website code to hack IE6 into some semblance of functionality, we are of the opinion that so few people are using it that it's simply not worth it anymore. So we install the IE6 Update module which alerts the visitor gently that they are using a browser that is now two generations old, and that they will need to update in order to properly view this and many other websites.