As a Web Developer here at Forum One, I've had the opportunity to work with a lot of modules in the Drupal Community. Some modules I've used are great and make working with Drupal a dream, others... not so much. I'd like to use this blog entry to focus on the must have modules I use on nearly all my Drupal projects. First off, you should know that I almost always start with Acquia's packaged distribution of Drupal called Acquia Drupal. There are plenty of useful modules in Acquia Drupal and I could write an entire blog entry praise those modules, but I'd like focus on my most used modules that aren't part of Acquia Drupal. So here, in alphabetical order, here are Norman's most-used Drupal modules:
Better Formats
I've always hated the fact that the default input format was always set to Filtered HTML for all users, and changing the default input format to Full HTML would change it for all users. Allowing anonymous users to submit Full HTML content = BAD. The only solution, with Drupal core is to keep the input format set to Filtered HTML and change the input format to Full HTML before submitting your content. Better Formats fixes all that. Better Formats is a module used to extend Drupal's core input format system. Better Formats is a great module because you can change the default input format per role for nodes, blocks, and comments. So administrators can have Full HTML by default and anonymous users can have Filtered HTML by default. Any Drupal site with untrusted users should have Better Formats installed.
Custom Breadcrumbs
I'm sure I'm not the only person who hate's Drupal's breadcrumbs. Unless you stick every single node you create into the menu system, Drupal's default breadcrumbs are pretty useless. Enter Custom Breadcrumbs (6.x-2.0-beta2 to be specific). Custom Breadcrumbs let's you create your own breadcrumb paths for nodes, views, panels, taxonomy terms and even a specific path. The current release version of Custom Breadcrumbs is decent, but the beta version is definitely a must have for Drupals sites more than two levels deep.
ImageCache, Imagecache Actions, and ImageCache Profiles
Need an image to display in different sizes on different parts of your website but you don't want to upload multiple versions of the same image? The solution is the ImageCache module. ImageCache actually comes with Acquia Drupal, and by itself is pretty convenient, but when used with Imagecache Actions, it's nearly unstoppable. For those who aren't familiar with ImageCache, it's a module that allows you to setup presets for image processing (beit scaling,cropping, rotating, sharpening, or changing an image to gray scale). Used alone, it's pretty handy; you can create thumbnail versions of uploaded images and so forth. However, withImageCache and Imagecache Actions you have bonus features like adding a canvas background color, changing the opacity of your image, changing the file format, ovelaying other images, and adding rounded corners ( and that's just scratching the surface). The only disadvantage I can think of with using Imagecache Actions, is that many of the canvas features do not work with ImageMagick leaving you stuck with GD2. ImageCache Profiles is another handy ImageCache extension because it let's you use ImageCache on user profile images so you can actually have different sized avatars on profile pages and list pages. In my opinion, these three modules are a must have for any Drupal site.
Node Auto Term [NAT]
Taxonomy terms are great for categorizing nodes on your Drupal site. The disadvantage to Taxonomy terms is that unlike nodes, you can't attach CCK fields to them. Many of our clients want more than just a list of nodes that match a given taxonomy term. They want a fancy image to represent the category, a blurb about the category, and a pony. NAT is useful for doing that (sans the pony). With Node Auto Term, you can create a content type and configure it to create a taxonomy term each time a node of that type is created. The taxonomy term will be bound to that node, and your node can have your fancy image, blurb, etc and your taxonomy term can be used to categorize other nodes. Using views, you can interchangingly use either the node id or the term id to load information on the category itself or load nodes related to that category. This module is a must have for anyone who needs their taxonomy term pages to do more than list items that are related to that term.
Nodequeue
I'm sure we've all seen the "Promoted to front page" and "Sticky at top of lists" check boxes in a node's Publishing options. These features work great with simple clients who have simple needs. However, if you ever want to control the order of items featured on the homepage or in lists, then you're better off using the Nodequeue module. Nodequeue is great for creating specilized lists to feature in various places of your site. You can have queues for nodes to feature to on the homepage, events to feature on the events page, events to feature on a category page, etc. You can make a node featured on one page and not featured on another. There is a moderate learning curve with this module, and a few quirks you'll discover (using the "Reverse in admin view" feature), but overall it's a solid and very useful module to have. The flexibility and control you have in this module is what makes it so much better than Drupal's default publishing options, and that's why it's a must-have module.
Panels
The Panels module is a hot topic here at Forum One. Either you love it or you hate it. I tend to fall into the group of developers who love Panels. What is Panels? It's a module that allows you create pages with custom layouts. You can override node pages, taxonomy term pages, other system pages or create your own pages. My favorite feature of panel pages is their ability to retain a context that you can pass to any block, view, or widget that you add to that panel page. The learning curve for Panels is pretty high, but once you really understand it, it's a very useful. Be warned, Panels is a very powerful tool, and in the wrong hands you could end up shooting yourself in the foot, but in the right hands it removes the need for a bunch of custom template files and/or regions. Panels is a must have if you have a good pair of steel toed boots and site that has many different layouts on different pages.
Quick Tabs
Okay, Quick Tabs isn't necessarily a must-have, but my experience with it was wonderful. It's not nearly as complicated as figuring out Drupal's menu tabs, and the key advantage of Quick Tabs, is the ability to hide tabs that have no content. I don't even want to talk about the preprocessor hackery I had to do to hide empty Drupal menu tabs. With Quick Tabs, hiding a tab is as easy as checking a box that says "Hide empty tabs." Quick Tabs is a must have if you plan on having tabbed content areas on your site and the default menu system just doesn't do it fo you.
Vertical Tabs
Vertical Tabs, like ImageCache, is part of Drupal 7 core. However it is available for Drupal 6. I have have it on my most used modules list because, well, it's so pretty.
I mean, look at it »
It really cleans up the submission form for nodes, blocks, and content types. Only content administrators will reap the benefits of this module, but it's aesthetically pleasing and functional. And that makes Vertical Tabs a must-have module in my book.
Thanks for reading.
Forum One News
It all started with BASIC. Growing up in Jamaica and in South Central Los Angeles, Norman discovered an affinity for computer programming in middle school. As he says, the rest is history. He...





Comments
What are thoughts on SEO
What are thoughts on SEO modules available for Drupal platform? Are there enough developments came across?
Drupal
Drupal hasn't been the best at in the past, but today it's quite SEO friendly. Here's a people search site with custom drupal seo additions. Good stuff.
Drupal makes everything look
Drupal makes everything look easy, it has the muscles but it's kinda hard to configure.
less crumby crumbs
thanks for the breadcrumbs recommendation, as a fellow hater, I'm glad to see some ability to parametrize breadcrumb trails. Its saving me a lot of time on a health insurance forum I'm trying to put together. One thing that really helped was the option to use php code snippets to form the breadcrumb titles and paths. And multiple language support is icing on the cake!
Vertical Tabs
Wow, never heard of the Vertical Tabs module. Gorgeous. Thanks!
Just have a look! Its informative
First i have to thanks for this post which will be so useful for me i have seen 10 Must have Drupal Modules here:
http://geshan.blogspot.com/2008/07/10-must-have-drupal-modules.html
With Regards
Sophie Johnson
datarecoverysoftware.com
Will check out NAT
Sounds very useful for the cases you described. Another similarly named one that I've gotten a lot of of value is Node Autotitles, which lets you build the title of a node from tokens, including other fields within it.
Its great for consistently formatting titles, for exapmle for Event nodes, you could put the date, location into the title by default. Or for user profiles, make the title match the author's name.
custom breadcrumb is not
custom breadcrumb is not working on "panel page".....can u tell me what can be the problem???
If you installed Custom
If you installed Custom Breadcrumbs 6.x2.0-beta, you should enable the "Custom Breadcrumbs for Panels" module (which depends on Panels, Chaos tools, Page manager, and Custom Breadcrumbs). Once the module is enabled, you can add custom breadcrumbs for Panel pages by going to "Site Building > Custom Breadcrumbs > Panels" in Drupal's administration menu.
Also, if your Panel page is a Node override, you'll need to add the "Node Content" to your panel in order to trigger the appropriate hooks.
Hope that helps,
Norman
Post new comment