There is a lot to learn when you’re getting started with Drupal. I know when I got started I searched everywhere trying to find out how to use the system, and where I needed to start.
Using Drupal is a learning experience, and not always an easy one. One of the biggest things about Drupal is extending its core functionality with modules contributed from the Drupal community. There is so much available, and so much to learn it’s hard to know where to start.
I spend all my time these days building Drupal websites. The sites I’m building are all different with different needs, different features, and different capabilities. However, I’ve found that in all the sites I build I have a fairly standard set of modules that I use on each project.
Drupal is a system that doesn’t make a lot of assumptions like other systems do. It’s wide open in terms of what you can do with it, and is meant to be extended, shaped, molded, forged and carefully crafted in to a work of art.
So, if you’re just getting started with Drupal, or you’re not entirely sure what you need to build the feature you want, hopefully this will be helpful.
Here are the top modules I use in my projects.
Core Modules that ship with Drupal
These are modules I activate as soon as the Drupal install has finished running.
- Blog – Blogs are an essential component for any website these days. The Drupal blog module is an absolute must. And just FYI – it’s moving out of core in Drupal 8.
- Contact – Other content management platforms don’t have any good way of managing contact forms out of the box. Drupal does and it’s a great one, providing contact forms for your users in addition to a basic contact form with some great features. If you need a more complex solution Webform (below) is what you’ll need.
- Menu – Menu module that is part of core enables the creation and management of menus in Drupal.
- Statistics – Provides a wealth of information about what’s going on in your Drupal site.
- Syslog – When something goes wrong you need to know what it is and this core module will do the trick.
- Taxonomy – Flexible naming and categorization capabilities that are beyond your wildest imagination.
- Update Manager – Keeps the lines of communication open so you can be updated on updates to Drupal core and/or modules and allows you to add these now through the Drupal admin. Long time coming if you ask me.
- Poormanscron – At least that’s what it was called in Drupal 6 as a contrib module. It’s now included in core in Drupal 7 and is essential for many other modules.
Drupal â€œcontribâ€ modules from the Drupal community
I add these modules in as soon as I get done getting my core modules setup and configured.
- Administrator’s Menu – I do not like the new admin menu that comes with Drupal 7. It’s a good solution for some people, no doubt, but this one is an essential for me to be able to get through the Drupal admin with swiftness.
- Pathauto – This module makes working with node paths so much easier.
- Token – So crucial for instances where you need dynamic content and have it be printed out where you need it, like URL paths.
- Module Filter – In a similar way as the one above, the Module Filter module makes working with Drupal modules in the admin so much easier.
- Devel – When you’re budding a site of any size, this is a great tool that you’ll need to help you through your way.
- Views – This is, in my opinion, probably one of the most important modules for Drupal. Without it, I don’t know what you would do with Drupal otherwise, and it’s moving to core in Drupal 8!
- CCK – Most of CCK (content construction kit) is now in core, but there are parts that are not, and that’s what you’ll need this one for. There are also lots of features from CCK that are now separate projects from the original module.
- CTools – This is a backbone module that powers so many other modules. You might as well install this one at the beginning. You’ll need it.
- Feeds – So many uses for this module. I’ve used it mainly for doing imports, but it’s far more useful than just that.
- Mollom – WordPress has Akismet, Drupal has Mollom and I use it for all of my sites.
- Date – Highly configurable date module for use in so many places – on content types, views, etc.
- FileField Sources – I’ve been using this more and more. It’s so much better to be able to select the source from which your adding a file – whether it be an external URL, or otherwise.
- Entity API – This is a module that is required by a lot of other modules to extend the Drupal core’s entity API.
- Scheduler – I use it to be able to schedule publication of blog content mostly these days, but it can be configured by content type and is highly useful for time-sensitive content.
- Features – Use this module to build out your own feature module by gathering settings and features built by other Drupal modules.
- LoginToboggan – This module simplifies the login process for Drupal. It’s not quite user-friendly out of the box, so this module makes it a bit more flexible allowing users to log in with a username, or email address.
- Node Clone – This is a huge time-saving module enabling you to copy a node in its entirety. Awesome when you’re adding a lot of similar style content with slight variations.
- Google Analytics – This module does a lot more than just integrate your Google Analytics account. Great for getting in to the details of your site’s performance.
- CKEditor – Those who are familiar with using text editors on web pages will love this module. It’s really a great tool for those who don’t want to deal with raw HTML.
- IMCE – I use this in tandem with CKEditor all the time. This makes working with images and your file system, setting user privileges and directories a snap.
- Better Formats – This is one of those that should be in Drupal core too. It takes the mystery out of dealing with input formats for users and roles.
- Backup and Migrate – You always need to have something in place to save your rear end. This is a fantastic module to do just that.
- Boost – Drupal, like most CMS’s is a heavy load on a server. Use Boost to speed things up and get your site streamlined.
- Link – Link field is just a simple small module that allows you to add link fields to content types.
- Webform – Use this module to create any kind of web form you can imagine. It’s as flexible and straight-forward as any module I’ve seen and I use it all the time.
- Empty Front Page – This simple module makes sure that your front page is a blank slate so you can add whatever you want to it.
- Colorbox – Use this one for lightbox effects for media.
Not every project will require all of these modules, but in the sites I’ve been building lately this is what I start with, and then add from there. There are other great modules like Context, Multiblock, Block Class, and Content Access, but those are usually added on an “as-needed” basis.
There are a variety of Drupal distributions available with pre-configured modules and settings that are worth a look too. You can find those here and see if any of these might be a good fit for your next project. My personal preference is the Acquia Drupal distribution and I use it on virtually all new projects.
Do you have something you would add to the must-have modules to get started with? Let me know in the comments below.