Drupal, one of the largest open source projects in the world, is a content management system and application framework that powers millions of websites, web services, and mobile applications. Individuals and organizations in every sector use Drupal for everything from simple blogs and micro-sites, to complex intranets and private internal applications, to some of the largest sites on the web, including several top 100 properties.
More than 3,000 people contribute to the core Drupal codebase that provides a base level of functionality with a modular architecture. Over 10,000 developers contribute and maintain more than 25,000 contributed open source modules that modify and extend the core capabilities, changing behavior, adding new features, and integrating Drupal with other systems. Users can add their own modules, as well as third-party PHP libraries, and leverage a lot of existing functionality, so they can focus on their unique needs, branding and design, and business logic to get up and running quickly.
In addition to its highly extensible codebase, Drupal lets users who are not programmers manage and control a lot of how the platform and their site(s) run and operate through point and click end-user interfaces. This enables more people to contribute to an organization’s online presence, and site updates happen significantly faster because Drupal users aren’t reliant on expensive and limited development resources, or updating code.
The newest major version of Drupal, version 8, came out in November 2015, so let’s look at a few of my favorite contributed modules. Whether you’re running one Drupal website, or thousands, here are five modules that will empower your entire team and drive the success of your application:
Views, one of the most popular contributed Drupal modules, enables site builders, content editors, and other non technical users to surface information from within Drupal—or other systems through Drupal—and display and visualize that information through a point and click interface. With Views you can create a new page that lists all recent updates to your site, a sidebar block that shows the five most recent comments on your website, a slideshow of your most popular images of the week, and much more. Views can be dynamic, end users can have access to control resorting or filtering the information (by date or other parameters), and privileged users can be granted the ability to perform bulk actions on Views. For example, on a site with moderated comments, admins can create a page where users can quickly select all the comments they want to approve or reject, and do so in bulk to save a lot of time. As of Drupal 8, Views is now a part of Drupal Core and has expanded capabilities so users can build custom admin pages, export any View as JSON or XML, and build most of a site—or the back-end for a mobile application—without writing a line of code.
Site speed is a critical goal for all websites and companies. The BigPipe concept was created by Facebook and was a key component in doubling the speed of their site page load times. BigPipe is a contributed module for Drupal 8 that leverages Facebook’s methodology and delivers web pages from servers to clients in a way that allows dramatically improved perceived load time as well as the actual page load time of sites. With BigPipe the server will send an initial response or page with the cacheable components and place holders for any dynamic or uncacheable parts, and then stream in the dynamic/personalized pieces to replace the placeholders.
Rules is a contributed module that enables site users to create Event, Condition, Action (ECA) rules. Site builders can create and modify fairly complex business logic without writing any code, and developers have tremendous flexibility to create complex rules, and to extend and modify the behavior of the Rules module itself. For example, when a new comment is posted to a page (an event), a site builder could create a rule that sends an email notifying the author of the page (the action) of the new comment so they can review and respond quickly. Optionally, users can add a condition to send the email only if the comment author is not the author of the page (so the page author doesn’t get an email every time they reply to a comment). Many rules can also be triggered manually via the click of a button (e.g., by a site admin) or, via the Rules API, actions can be set to run immediately or scheduled.
Most organizations write code and make changes to their web sites in one or more development environments, then integrate and test these changes in QA or staging environments, and finally release approved changes to their production or live environment. Furthermore, few organizations have a single website; nowadays even individuals run many websites, and large organizations can have more than 10,000 sites. Features is a contributed module that enables you to import and export configuration and or code as a package or collection that you can move across Drupal sites. For example, site builders could create a rule using the Rules module and then using Features, export the rule so that it can be imported into the many other environments and web sites you have.
Lightning isn’t actually a module; it’s a collection of Drupal modules provided as a distribution. Drupal distributions are a way to package up and distribute a Drupal site (modules, themes, configurations, automated QA tests, content, etc.). Launching a new website can be done quickly by deploying a distribution for a specific use case, and then adding any customizations required. The Lightning distribution is meant to be a framework that you build on top of—it provides you with pre-configured popular modules that work well together for common use cases, with the ability to disable what you don’t need, and launch a new site on Drupal using best practices for the most common needs. Lightning helps new users advance through the learning curve much faster, and enables all users to rapidly deploy new sites.
What are your favorite Drupal modules? From the obscure problem solvers, to the ones you simply can’t live without, share them in the comments below.
Disclosure: In partnership with Acquia, OpenSource.com and Red Hat are Drupal users and open source contributors to the Drupal project.