Here at Creode, we spend every day in Drupal; developing modules, theming, tuning, teaching and everything in between. Whilst every client and every project is different, there are some modules we just couldn't live without. So below is our go-to Top 10 module list for any new Drupal 7 website in 2014 (alphabetical order):
Unless you are building the very simplest Drupal website, or are planning a site with no custom theming or development work, Devel is an absolute necessity. Whilst the large array trees and objects in Drupal allow access to all data imaginable, debugging the exact field, theme processor or render item can be a painful experience with the standard print_r or var_dump functions in PHP.
Devel allows any debug printing to be formatted into a navigable structure, and limits recursive arrays making finding the desired items a breeze. Devel can also be used to analyse any potential bottlenecks, performance issues and other bad behaviour. When combined with XHProf, you have a performance resource that can easily identify any woes you may have on that slow website.
Everyone has their favourite backend theming module, whether that's Panels, Views (fields output), Context, Page Manager or one of the other many, many modules out there. For us it is Display Suite. This module allows us to generate multiple display modes for any entity type, create custom fields, perform field logic and alter the HTML output all from within Drupal's standard Manage Display tab.
It also helps prevent the nastiness of setting Views to use Field Output (stop it now, and use display modes unless you need to use relationships or aggregation!), and for an incredibly big and powerful module, has not had the negative performance impact we have experienced from using Panels and Context.
3. Entity API
If you are adding any custom modules to your site and you need to interact with your Entities, you need this module. Step away from the
['und'] (just wait until your client requests additional languages) in your code and invest in
entity_metadata_wrapper, you won't be disappointed, and your coworkers will thank you for it a thousand times over.
4. Features / Features Extra / Strongarm
The majority of our projects require a team of developers, each working on different aspects of the build. Git is there for keeping our codebase in sync, but with a large amount of Drupal output settings and configuration stored in the database, Features is a necessity for ensuring everyone is working from the same dataset. Export your configuration to features and it will live in code, safely committed to your repository. There are potential performance benefits for sites that are database intensive or have high volumes of traffic too.
The amount of times we have seen websites built with Content Types used for all manners of things and then node or entity referenced onto a different content type is painful. If you want a group of fields to be linked together and assigned to a node with unlimited entries then start using Field Collections.
6. Field Group
At Creode we know that the ease of website administration is just as important as the frontend. Field Group allows us to organise backend forms into manageable chunks, simplifying data entry and making it easier for IT novices to digest. It also integrates beautifully with Display Suite for frontend theming, allowing you to group and nest fields into whatever HTML element you desire.
We all know how important SEO is, and this list could easily have been the Top 10 Drupal SEO Modules. So if I have to pick one module, it would be Metatag. Once setup this module will allow site administrators to control their Page Titles, Meta Data and much more. It also has a set it and forget it configuration options for clients that are happy for Drupal to manage their meta data without human intervention.
8. Pathauto / Global Redirect
Pretty URL's, automatically generated based on tokens. Need I say more? Add Global Redirect in there to retain old URL's and ensure no link juice is lost as your site grows and changes.
Giving clients the ability to create their own forms, with whatever fields they choose and all the settings in between. This is one of the first things we get asked for time and time again, and this module more than delivers.
There are loads of WYSIWYG options out there, each with their own merits. The combination of TinyMCE and IMCE works for us and our clients every time, and appears to be the most compatible and bug free solution we have found.
So there we have it, our Top 10 Drupal modules for 2014. There are some that are just so ingrained in Drupal that we felt it unnecessary to repeat them, so for the sake of completeness just consider the following bonus modules as close to being a part of Drupal Core without being bundled with it as you could get:
We would love to hear whether you agree with us, and what would make your list!