When looking for a CMS, there are many in the marketplace that may fit your business goals. One popular alternative is using an open source platform like Joomla, WordPress or Drupal to fit your needs while keeping costs down.
Drupal has clearly distinguished itself above its competition and continues to see widespread adoption. Drupal’s contributed modules are a big reason for the community’s popularity. Modules are simple and useful allowing the user to create a well configured site that delivers on multiple levels.
Here are ten modules I use on virtually every site I build:
1. Backup and Migrate: Backup and restore your Drupal MySQL database and files or migrate a site between environments. This module gives you an easy to use interface to creating or restoring backups of your site.
2. Context: Context allows you to manage contextual conditions and reactions for different portions of your site. You can think of each context as representing a "section" of your site. By setting a context rule based on a variety of criteria, you can specify certain blocks to appear or menu items to be active based on where you are on the site.
3. Display Suite: Display Suite allows you to take full control over how your content is displayed using a drag and drop interface. It gives you much more fine-grained control over how fields are rendered in different view modes and allows you to specify different layouts for different view modes.
4. Features: Features allows you to package groups of related configuration, such as a content type, associated views, contexts, permissions and other configuration into reusable modules. This is particularly useful when you find yourself doing the same thing (e.g. press releases) on multiple web sites. It also allows you to store configuration changes in version control.
5. Field group: Fieldgroup will, as the name implies, group fields together. All fieldable entities will have the possibility to add groups to wrap their fields together. This can help you better organize your content editing screen
6. Media: Media is a drop-in replacement for the Drupal core upload field with a unified User Interface where editors and administrators can upload, manage, and reuse files and multimedia assets. It includes a media browser that can be customized via Views (see below) and WYSIWYG integration to make managing your media assets easy.
7. Menu block: It provides configurable blocks of menu trees starting with any level of any menu. Using this module, for example, you can easily have the first and second levels of navigation in the header of the site, and then have the third and below in the sidebar on subpages.
8. Panels and Panelizer: Technically two separate module, these two go together so well I list them as one. These allow for custom layouts - Panels lets you create custom pages with arbitrary layouts combining multiple elements. Panelizer (which depends on Panels) applies that same concept to content types, allowing for default layouts per content type that can then be customized for each individual piece of content.
9. Workbench: Workbench provides overall improvements for managing content that Drupal does not provide out of the box. It is also highly customizable via Rule and the Views module (listed below) so you can tailor your content workflow to your specific needs.
10. Views: Views is essentially a dynamic query builder, allowing you to create custom rules-based lists of content. You can easily create custom pages for lists of press releases, contacts, job postings, or any other content types you may have. You can additionally create blocks with shorter listings of content that can appear in the sidebars of other pages.
There are a whole pile of others I use on a regular basis like Admin Menu, Devel, Flexslider, Styleguide and many more, but the list above I consider indispensable. What do you think? Drop a line and share your opinion.