Information about Drupal modules and their Drupal 8 release status.
Drupal 8 Module Port and Release Status
Below is a curated list of Drupal modules and their Drupal 8 release version status. The list below includes Drupal modules that have been ported to Drupal 8, and Drupal modules that are currently only available for Drupal 7, for which it would be helpful to have Drupal 8 versions. The status information about the modules is maintained by hand, and is not automatically updated. The scope of the Drupal modules listed below is based upon real world Drupal site building requirements, and ad-hoc discovery of modules, as features and functionality have warranted. The list below also provides module functionality and deployment information needed to maintain an ongoing assessment of Drupal 8 website development and site building readiness and maturity, in comparison to Drupal 7, and the availability and functionality of modules that have similar Drupal 7 compatible releases.
The listing below also demonstrates use of the Views Secondary Row Module module, which enables secondary row fields in a table to span all the columns in the table (column span is configurable), while the primary rows in the table span just one column each. The module obviously makes the display style of the table below easy to implement with just a few mouse click choices from its on admin GUI within the Views module.
The IMCE module implements a file browser plugin for the ckeditor text editing subsystem that was moved from the contributed ckeditor module into Drupal 8 core. The IMCE file browser provides enhanced browsing access to media files on a site's server.
The Inline Entity Form Module module renders a linked entity into a linked entity in-situ. The widget the module implements included full editing access to the inline linked entity. Both the Drupal 7 and Drupal 8 versions of Drupal Commerce depend on this module.
The Insert View Module is a text editing filter that implements usage of a tokens style syntax to embed the output of a view into the body text of a content node. This module appears to be rather popular. However, it seems like many site implementations would be more likely to simply present the output of the reference view in some other manner, for example of a reference field, or within a block along the same content.
The Link Class Module implements an enhanced field editing widget for link fields that enables site builders to add CSS class information to link fields. This module is handy for doing things like turning a link field into a button when the used with a bootstrap based theme.
The Linkit Module implements an enhanced link editing widget for content editing. This module provides some features that overlap features provided by the Ckeditor Advanced Link Module which implements an enhanced module dialog box for editing links within body text..
The Login History Module adds a table to the Drupal database that stores information about individual user logins, including a timestamp, IP address, and so on.
The Logout Tab Module adds a link to the user profile page that enables user to logout easily while viewing their user profile page. Administrators who have access to view and edit the profiles of other users can also use the logout tab to logout another user. Although this module isn't an essential, it adds a helpful that is a nice to have feature for Drupal websites with many registered users.
The Mail System module primarily provides an admin GUI for use with email backend implementation modules such as SwiftMailer, which uses the symfony based SwiftMailer library.
It isn't even clear why a site builder would use this module. It apparently implements the additional of HTML markup to fields under certain circumstances. The module has over 10,000 deployments though.
The Mason Module is a Views plugin that enables a Drupal site builder to generate a Drupal view, for example of images, that presents elements arranged without visual gaps. This module depends on the Drupal Blazy Module and the Mason library.
This module is part of the new Drupal 8 Media Entity Module suite. In practice it seems like the Drupal 8 version of the long standing Audiofield Module that has existed since Drupal 7 provides more practical functionality than the Media Entity Audio Module appears to at present. However, more personal testing is surely in order before a full assessment can be made. However, at present the Drupal 8 Audiofield Module functions with SoundManager2 javascript library integration, even though it appears some display adjustments will be needed to get it working as desired.
The Menu Admin per Menu Module implements that ability to give roles access to edit menus, for roles that do not have the general administer menu permission. I have never installed and used this module. This module is one of many that appears worthy of installation on a testing site to determine how well it works and whether it should be deployed for a specific purpose.
The Message Module implements the core of an internal messaging stack for Drupal websites. The messages implemented by the Message Module, include logging and display of system events within a variety of system contexts.
The Message Notify Module, which depends on the Message Module, implements message sending via email, SMS, and other transport mechanisms that may be provided via plugins.
The Message Subscribe Module is a module dependent on the Message Module, which implements a messaging stack with a Drupal website. This module uses the Flag Module to enable users to subscribe for notifications regarding events related to subscribed content.
The Metatag Module is among the short list of the modules that is probably among the top 10 most important modules to deploy with every base installation of Drupal. The metatag module inserts the all important header tags into pages that search engines use, in part, to index and classify website content. The current version of the Drupal 8 metatag module is missing some of the features that exist in the Drupal 7 version, such as metatag editing on individual content/nodes.
The Modal Blocks Module enables a site builder to display any block as a popup dialog within a page. This module is still in development stage and is not currently ready for production deployment.
The Modal Page Module provides site builders an easy way to add modal (popup) dialog pages to a Drupal website. Although the module doesn't have many deployments, it is a module that provides very handy features for site builders.
This module implement multiple component people name fields for use when creating custom content types, custom entities, and enhancing the Drupal user name feature set to include a real world name in addition to a login name.
The Nice Menus Module implements dynamic dropdown / flyout menus for Drupal websites. There are numerous alternatives methods and tools for creating similar types of menus though. More information as available at the following link (documentation)
The Node Class Module is a module essential that adds a field to the node edit environment that enables a content creator to add a custom CSS class to a given node, so that the node specific CSS styling can easily be added to a given node. This module is a painless base site installation module that comes in handy throughout site building.
This module is a module that rises to the level of the short list of essential module that every Drupal website builder should deploy on their site by default. The node clone module provides a simple button so that when adding multiple modules to a website, rather than starting from scratch for each node with an empty form, the form is prepopulated with the contents of an existing (previous) node, onto which only the changed settings need to be modified. This is truly handy.
This is currently only a development release version. However, the develop branch version has been working properly/nominally.
The Node Title Validation Module implements features that include restriction of node titles to unique values across the content type. This module would be a handy addition to this very list of modules and their status, to ensure that duplicate entries for the same module are not created.
I have not yet tested or experimented with this module, but doing so should be on a list of to do tasks.
The OAuth Module implements integration with the OAuth protocol which is an integration standard used by twitter, facebook, and other social media websites to enable outside software systems to interact with them. Drupal modules such as the Twitter Module use the OAuth module to implement access with twitter. However, the Twitter Block Module (very convenient and easy to use) does not require OAuth because it only extracts feeds and does not provide additional services such as automated posting to twitter.
The Obfuscate Email Module implements an email address text obfuscation filter that helps to hide email addresses from spammers and spambots. This is an alternative to the more widely deployed SpamSpan Module, which implements similar features.
This is another of various access control modules. This module does not appear to be as flexible as the content access module. However, as of this writing the content access module does not have a full release version available for Drupal 8. I have not yet installed and tested out the functionality of this module, this some test site experiments with it should be scheduled.
The Paragraphs Module adds an extremely powerful front end feature to Drupal website building. Paragraphics are essentially pre-formatted content widgets that can used to build complex formatting for contents and for building custom blocks. The power of paragraphs is visible on some of the various custom formatted blocks that are deployed on this very site. Learning and deploying paragraphs requires imagination, and like similar types of Drupal display widget modules, the output of paragraphs also requires theming support. However, when combined with theming support paragraphs content display widgets are proving themselves the method of choice for some times of content formatting, with an implementation that better honors site theme regions, and is therefore superior to the older Panels feature, which can often destroy theme integrity.
The Password Policy Module ranks as one of various essentials for every Drupal website. This module implements criteria for acceptable user password on a Drupal website. Any site that expects to harden its defenses, must deploy this module.
The pathauto module implements content URL paths generated automatically from pattern rules that use token to describe the URL information using token. The pathauto module is yet another module that is deployed nearly universally with all Drupal installations.
The Pathologic Module enables site builders to use relative URLs sitewide, which has numerous use cases, while the pathologic module completes them to fully qualified URLs for the site at render time, based on a global setting in its admin configuration page.
The Payment Module and its associated module the Basic Cart Module, implement an alternative to more complex Drupal systems for commerce such as Ubercart and Drupal Commerce.
The Permissions By Field Module is a content access module that requires a rather convoluted implementation of entity reference fields to control content access. For more applications the Content Access Module probably provides a more straightforward and easy to understand and implement approach to content access.
The Permissions By Term Module implements access control by attaching a special taxonomy term to a given entity. The taxonomy term contains the access permissions settings, and thereby controls access to any entity that references the special taxonomy term. This may an appropriate module for implement private products with Drupal 8 Commerce 2.x.
The Permissions Filter Module enhances the Drupal admin permissions management pages with a better filtering feature, to make it easier to find the desired permission for management. Since the permissions page can get quite long, this could be helpful.
The Physical Module is a field module that implements field storage for physical measurements such as: weight; volume, length, area, height, and so on. This module is implemented by the Drupal Commerce development group. Its intended use is for implementation of Commerce Shipping modules for the Drupal Commerce system.
The Plupload Module implements a multiple file upload widget for use during site building to be able to upload multiple files at a time. It works with the Plupload Widget Module to provide its functionality.
The Poll Module was originally a component of Drupal core. In my opinion it should have been left in Drupal core. It was apparently removed because there aren't actually that many Drupal websites that deploy it. However, its functionality is just a bullet point that helps complete core. It will be interesting to see how many Drupal beginners search for and find this little component.
The Popular Tags Module enhanced the admin GUI for taxonomy tag entry by displaying a list of the most popular tags already in use for the display taxonomy vocabulary. This module is not must have essential functionality, but it certainly does provide a nice admin GUI enhancement for site builders and content creators.
The Private Files Download Permission Module enabled sites that deploy uploaded files, to control download permissions for files displayed to site visitors. As with many Drupal 8 module implementations, the Drupal 8 version of this module was written from scratch. The Drupal 7 version of this module is quite mature and also has a recent full release version.
The Private Message Module implements an on-site messaging system for authenticated users. Personal evaluation and assessment of the various alternatives seems in order.
Additional alternatives exist such as the Message Module, and others which had/have Drupal 7 incarnations. For Drupal 7 site, the Privatemsg Module is popular and quite functional.
With the Private Taxonomy Terms Module it is possible to set vocabulary to 'private'. A private vocabulary allows users to own their own terms in a vocabulary. This associates every term in a private vocabulary with a user. Users with the permission 'administer own taxonomy' can maintain their own terms. This allows a user to create, modify and delete terms associated with them in a private vocabulary. Users with the 'view private taxonomies' permission can view the terms of other users. This allows a user to create content categorized with their terms in a private vocabulary and yet allow other users to see those terms. There also are settings to assign default terms in a private vocabulary to new users or to existing users. The Drupal 7 version of this module is also mature.
With the profile module, user account settings and user profiles are conceptually different things.For example, with the profile module enabled users get two separate menu links “My account” and “My profile”. The profile module provides for multiple profile types, which may be assigned to roles via permissions, for example a general profile and an e-commerce customer profile. The Profile Module also supports private profile fields, which are only shown to the user owning the profile and to administrators, as well as numerous other features.
The Profile Role Access Module enables a site administrator to restrict access to user profiles based upon user role. The is useful for websites with lots of authenticated users, wherein the site administrators don't want to reveal the profiles of privileged users with certain roles.
The Protocol Relative URLs Module is a filter module that enables a site to be aware of SSL versus non-SSL protocol URLs. It seems like this module is of limited usefulness to most Drupal sites, since a well constructed Drupal website uses relative URLs internally to begin with and upon deployment, the site is likely setup with .htaccess directives to force SSL protocol for all URLs if an SSL certificate is active.
The Purechat Module implements integration with the Purechat brand live custom relations chat service. The module adds a fancy link to pages on a Drupal website, that provides a pop out dialog where the chat can be initiated. This is a marketing tool. The morethanthemes.com site now uses the Purechat service for live interaction with customers for sales chat.
The Read Only Mode Module implements an improved alternative to placing a Drupal website into the traditional maintenance mode for site code updates and so on. This module keeps that external side active while not allowing any activities that would modify the SQL database while the site is undergoing maintenance.
This module shares its configuration page with the standard maintenance mode configuration URL at:
{site}/admin/config/development/maintenance
in a field group below the maintenance mode toggle.
The Real Name module enabled admins to setup user profile fields that define real world names, in addition to the user-name field that exists in default user profiles. I use this in conjunction with one of the username registration validation modules that restricts the underlying user-name to alphanumeric characters, so that they can be used for URLs, while real name also appear within the user interface for the user as well.
This module implements URL redirection. This module is an essential tool for preventing 404 errors when a site evolves and some URLs become deprecated and get retired.
The Relaxed Web Services Module is part of a suite of modules that includes the Multiversion Module, the Replication Module, and the Deploy Module, which together implement an architecture for website development projects that need to stage (transfer) site content and configuration between development, staging, and production, versions of websites under development.
This module implements an admin UI for the Replicate Module, which implements cloning of any kind of entity (in addition to node, etc.). This module remain under development for Drupal 8 and does not yet have a fully functional Drupal development or other level of release.
The Drupal 8 version of this module has not had a release since February 2016, which is not a good sign. This module
This module enables a site admin to enable other users within the admin role to assign yet other roles to yet other site users. This feature would be helpful on a site for an organization with multiple roles, and provide fine grained access to site features and functionality. Combined with the content access module, or another role based content access module, such a feature would enable access to content to be controlled by a variety of users other than site users with the root like administrator role.
There is also a module called Auto Assign Role that only exists for Drupal 7, which would be useful on many Drupal 8 sites, to automatically assign a role to a user upon account creation, other than the default authenticated user role that is implemented by default Drupal core.
The Role Delegation module enables site administrators to grant specific roles the authority to assign selected roles to other users, without that user needing the administer permissions permission.
For each role, Role Delegation provides a new assign ROLE role permission to allow the assignment of that role.
The module also adds an assign all roles permission. Enabling this permission for a role is a convenient way to allow the assignment of any other role without having to check all the assign ROLE role permissions on the permissions page.
The Rules Module is among various quite fundamental modules that implements backend implementation of actions and activities based on various conditions. For example it can send mail in response to actions such a login by users with specific roles, or publish or unpublish content based on other events/condition on the website.
The Scheduler Module is one of various essential or nearly essential modules for every Drupal website deployment. With this module it is possible to schedule publishing and unpublishing of content. This is great for all sorts of use-cases, including newspapers that want an article, such as a weekly column article to appear at a specific date and time, even though the content is complete, editing and ready for publication.
The Search Exclude Module provide an admin GUI to exclude selected content types from the Drupal search index. This is very handy when Drupal site employs some content types for backend site building, but does not want to expose the individual content type content nodes to search, and sometimes individual content node display. For example, this website employs a Text Snippets content type. The Text Snippets are used for storing and implementing rich text for use as Views headers/footers, and to embed within other content in various ways, but which should not be available for individual display to site visitors.
The Search Exclude Node ID Module enables a site builder to exclude specific content nodes from search results. This is useful when, for example, a view exists as an internal component that is embedded in other content, but which isn't intended to be presented on its own. With this module such content can be excluded from search results.
This is an SEO related module. This module prevents a site from throwing a 404 (URL not found) error, and instead redirects all 404 errors to the website's search results page, where the site visitor is provided with search information. This is good for SEO because a site that doesn't throw any 404 errors receives a higher search ranking from most search engines.
The Security Kit module implements a set of site hardening tools for deployment on production sites once they go live. This module implements various site security and hardening tools/options. Given the number of deployments this module enjoys, it seems like it would be worthwhile to install and test this module and its features.
This module implements various site security and hardening tools/options. Given the number of deployments this module enjoys, it seems like it would be worthwhile to install and test this module and its features.
This module implements a detail level Forms API feature for inclusion in multi-option user interfaces that need a 1,2,3,other type of selection display.
The Shield Module implement directory privacy for sites that aren't running on a server with WHM/cPanel, which implements a similar feature at the server level. The module displays a password authentication dialog, enabling, for example, development sites to be kept private until they are ready for publication.
This module implements a fuzzy matching facility to sites such as commerce sites that want to display a block containing "similar items" for exploration. The module includes a built in block that provides a default display mechanism. However, the module integrates with Views so that custom similar content displays can be constructed using Views.
The Simple Timeline Module implements a Views plugin that display a visual chronology of the selected content. I will need to install and test the Drupal 8 version to see what level of functionality it provides in comparison to its Drupal 7 version. A similar module is the Views TimelineJS Integration Module, which implements what appears to be highly styled horizontal timeline, but which will need further investigation before a thorough evaluation can be made.
The Simple XML Sitemap module is an alternative to the XML sitemap Module. Given that it already has a mature Drupal 8 version, this module could at least temporarily supplant the XML sitemap module.
This module implements website newsletter subscription. It existed already for Drupal 7, but its Drupal 8 port is in Alpha release status. This seems like a must have module for a variety of types of websites from even basic blogs to commerce and corporate brochures.
The simplify module enables a site builder to remove administrative and site control features from the user-interface, apparently for implementation on sites that allow some authenticated users access to content creation and so forth, but where a simplify (dumbed down) UI, would be appropriate for the site users with limited access. This module's developers published a Drupal 8 full release version of this module quite some time ago. This module is also available for Drupal 7.
This module, Sitemap Module, implements a visitor/user visible sitemap, presented in a basic outline/tree format. This module should be distinguished from Drupal xmlsitemap module, which generates sitemaps for digital submission to search engines. This module has had a stable Drupal 8 full release for a while.
This module implements the addition of geolocation about site visitors. However, it depends on 3rd party modules and/or/ libraries to implement the backend functionality. Each of the various backend modules involves its own complexities, including server resources, and sometimes paid subscription fees to obtain the data. There are some other higher level modules that use this module to provide actual geolocation data. This module is probably only of interest to commercially supported websites that can afford the server resources and the often required paid subscription services.
This module enables Drupal to bypass the PHP mail() function and send email directly to a specific SMTP server. The module supports SMTP authentication and can also connect to servers using SSL if supported by PHP.
The Social Timeline Module module is actually a twitter feed display module that implements full featured rich display of twitter tweets in a masonry style page layout.
This module implements an interesting looking social media timeline display. It can apparently build feeds from a variety of social media sources. This module requires purchase of a commercial javascript library. Consequently, purchase of the javascript library is a prerequisite to testing it.
The State Machine Module is a backend module that implements support for entity workflows. This module is one of various Drupal 8 Commerce 2.x dependency modules.
The Super Login Module enhances the login page form so that it can accept either a Drupal user name or a user's email address for login. However, once installed, this module requires some CSS adjustments and customization in order to fully integrate visually with its surround user interface. Curiously this module does not enjoy very many deployments, which implies that it simply isn't well known, since the functionality it provides is quite convenient.
The Superfish (Menus) Module integrates the jQuery Superfish Menus library into a Drupal module to provide javascript display services to Drupal menus, for very stylish dropdown menus with all sorts of javascript enhanced animation effects.
The Superslides Module is a View plugin that creates an image viewer/slider using the superslides library and the animate.css javascript libraries. Installation of the module requires the two foregoing javascript libraries.
With the Taxonomy Import Module it is possible to create a taxonomy vocabulary from a CSV or XML file. Unfortunately, the module does not implement a complementary export capability. The realm of Drupal 8 contents import export is currently a fragmented and difficult to use mess with multiple feature omissions. Unfortunately, the people in control of Drupal core have rarely if ever treated content import/export as a prior concern.
The Taxonomy Views Integration module is a module that probably needs to be deployed on any and every Drupal website that uses taxonomy to organize content and which uses Views to display content. This module overcomes design limits in both taxonomy and views, enabling a website to have multiple Views that display content for taxonomy terms, one for each taxonomy, rather than just one taxonomy traversal view for an entire Drupal website.
The Token Embed Views Module is an unexpectedly handy module that enables Drupal site builders to embed Views output into the other content. An example use case would be a node body into which a site builder might want to insert a table. With this module that table and its data can be implemented as a Views table and then inserted into and integrated into a node's body text with a simple token reference. Views plugin modules like this one are often remain undiscovered gems among Drupal's thousands of contributed modules.
The Token Filter Module enables site builders to use Drupal tokens within content body field text fields. It should probably be enabled only on sites that actually intend to use the functionality, to help reduce overall active code size.