Last year I wrote a post about the Drupal modules I use the most in building websites and thought an update might be in order. As I look back at the original list, I find that not much has changed in my usage of these modules. The only thing that has really changed is now they are not only my most used, but are almost a given for installation at the start of a project. So, I thought that I would leave the list alone and just add modules that have also become almost a given for installation.
Top Drupal Modules for Web Development
Quick Update - This has been a time saver for installing modules. First, if a module is installed that is lacking its dependencies, Quick Update lists them on the module update admin page as dependencies. It then allows me to select the dependencies and install them from the update page. It also allows me to install modules from the module update page by name instead of needing the module download URL.
Module Filter - This is the second module I install after Quick Update. Before finding this module I would get frustrated nearly every time I had to enable or disable a module, especially just after installing a new module. There was no good way to find it without using the browser's find function. With this module, finding modules, or seeing if modules are installed, is just a quick filter search away. Additionally, putting the groups into tabs as opposed to the default layout cleans the list up greatly.
Viewfield - I found this one when one of my projects needed the capability to attach a view to multiple pages with custom arguments for each page provided by the site editor. With this module, I was able the attach the view (and any view) to a node as a field with configurable arguments available to the editor.
External Links - This small module makes it easy to make links to external URLs open in new tabs/windows sitewide. It has just a couple of configurations to it and is a “set it and forget it” module.
Honeypot - Another small module with little configuration. This module helps reduce spam form submissions by forcing a visitor to use a prespecified amount of time to fill in the form before submitting it. This is an attempt to eliminate robot submissions that take milliseconds to complete a form. As submissions are denied because they are submitted too quickly, the required time to complete the form is incrementally increased to help reduce DoS attacks. Though this is not a solution to all spam and attacks, it is a first line of defense that I use a lot.
Redirect - Early in my Drupal development days, I would go through the process of listing and adding 301 redirects to a migrated site’s .htaccess file. This was cumbersome and a point of making mistakes easily. With the Redirect module adding 301 redirects to a migrated site, it is almost an after thought. Redirect allows me to add redirects manually (that I use for initial launch of the new site) and it lists 404 error URLs that visitors have tried to access that I can then add to the redirect table just in case I missed something.
As I have been building more Drupal sites, I have come to the conclusion that giving the site editor an easy-to-use backend experience makes my job less stressful after launch. Below are a couple of modules I use for this purpose alone.
Drupal Modules that Help Improve the Site Editor's User Experience
Dashboard - This module is basically what it says. It provides a dashboard page in the admin area that can be comparable to that of Wordpress or Joomla. The benefit to the Dashboard module is that it's content is built with blocks and thus is customizable to the site's needs. For each of my main content types that are displayed via a view, I create a “Dashboard view block” alongside the main content display view. Adding this dashboard block to the dashboard makes it easier to locate and edit specific content within the dashboard.
Draggable View - When working with content that the user may want to sort, I use this module in the dashboard block above to allow the user a drag-and-drop experience when sorting the content. It can use the standard Drupal node weighting or an integer field attached to the node for sorting.
Custom Contextual Link - Still working in the Dashboard, I use this module set (ccl with ccl_views) to add links to the standard contextual menus that allow the user to quickly add new content that the view is displaying. The user doesn’t need to know what content type the view is using or any other criteria to add new content.
Do you have any Drupal modules to add to this list? Let me know about them in the comments below.
Another blog post by Harold on web development:
Is Your Website Helping Your Digital Marketing Strategy?
Image via Drupal