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.
This module implements one small simple feature. This module converts http 403 (access denied) errors into http 404 errors. I haven't test this module, and haven't tested this module with the very helpful Search404 module, but if they work together, it could be very handy. Working together when a site visitor (especially spammer) attempt to visit access denied URLs, the emitted 403 error would be converted to a 404 error which would then be caught by the Search404 module which would then redirect the visitor to the website's search page with the url converted to keywords. Whether a normal visitor or a spammer, the result would be intelligent, gracefully indicating to the site visitor that they may need to search elsewhere on the site for available content.
The Access By Entity Module is similar to the content access module except that it works with all entity types not just nodes. This module might be very helpful for implementing Drupal 8 commerce with hidden commerce products based upon role access permissions for the product entity. Unfortunately, this module doesn't have individual entity instance granularity, so it may not be as useful as it seems at first consideration.
The Access Control List (ACL) Module implements role based access control for individual Drupal content nodes. The Content Access Module implements similar functionality. The two modules can be used together.
This module implements storage, validation, and display of postal addresses, including international awareness. This module is used primarily by the Drupal Commerce components and is developed by the creators of Drupal Commerce.
This module implements adds telephone number validation support to Address Module fields. There aren't many sites using this module, but it seems like a must have for commerce sites, and other types of sites that need to collect and store site user telephone numbers. This is a Drupal 8 only module.
The admin toolbar module is a Drupal 8 specific replacement for a similar module for Drupal 7 called the administration menu (admin_menu) module. Additional administration menu/toolbar modules have been implemented for Drupal 8, such as the Adminimal Admin Toolbar module.
This module enables a site to be configured so that roles other than the main administrator role can be given access to administer other users. This provides a more fine grained control over user administration than the all other nothing access to manage users that is implemented by Drupal core. This module is likely more attractive for sites with large number of user/members where a large number of roles and permissions is necessary. The Drupal 7 version of this module is quite mature.
This module add ajax updating support for pages that implement a facets based data query and discovery user-interface. This module does not yet have any sort of code complete support for Drupal 8. The Drupal 7 version seems relatively mature.
The Allowed Formats Module enables a site builder to manage/restrict which text formats are available at the field instance level. Some people involved with Drupal core development believe this feature should be part of the Drupal's core.
The Amazon Module implements product advertising integration with the amazon.com ecommerce website. The Drupal 8 version is not currently ready for usage. However its developer appears to be actively working on an update.
The Asset Injector Module is a truly handy module, with which it is possible to insert CSS or javascript snippets into a Drupal website. One of its essential features is its ability to restrict the CSS or javascript to injection at specific URLs, node types, themes, and other scope criteria. Consideration should be given to whether it provides a better way to store minor CSS customizations than storing them in a custom.css file associated with a theme or sub-theme.
This module implements more features than its name might imply. This module is interesting in part because it implements the ability to hide the title/label of an entity (including content nodes). Although that is a rarely needed feature, its availability is quite valuable, and oddly missing from, hard coded away, from Drupal core itself. With this module it is also possible to automatically generate the title/label for a given content type or other entity type using the very powerful Drupal tokens feature.
The Basic Cart Module provides a simplified e-commerce system for Drupal websites, without the complexity of systems such as Ubercart and Drupal Commerce. See also the Payment Module.
The better exposed filters module overrides the standard Views filters selection elements with more configurable selection elements and element styles. This module enjoys a large deployment population. There are articles such as this (see link), that provide detailed information about how to deploy the module's features.
This module implements various features designed to improved exposed filters, such as sorting, and pagination options, in Views. This is now required in Drupal 8 to obtain the auto-submit feature, which seems like it should be the default behavior, but isn't.
This module implements theming support for field descriptions. For sites that enable visitors to input data and so forth, via limited node add privileges, or publicly usable forms. This is also helpful for sites that want to deploy limited editor access, without global administration access to content presentation design.
This module enhanced the module/extend admin GUI page with better module dependencies information and links. This module only changes the extend/modules admin GUI pages a little, providing links to dependent modules. It seems like this minor feature should have just been built into core, just like the module filter module for the extend page ought to be part of core, IMO. Installed, evaluated, and works well.
The Block Tabs Module is an alternative to the QuickTabs Module, which does not yet have a Drupal 8 version available. Alternatively a Drupal website whose theming infrastructure is based upon the Bootstrap Framework can easily implement tabbed block displays using Bootstrap markup features.
The Block Title Link Module enables a site building to add a link to the title of a Drupal block so that clicking the title of the block links through to additional content. For blocks that include a "View All" or "Read More" link, the link applied to the block's title can link to the same content or even to a different URL destination. The Drupal 8 version of this module appears to remain in a development status, although its most recent development release is quite recent.
The Block Token Module enables site builders to embed a Drupal block into node body content using a token reference for the block. The Drupal 8 version of this module remains under development, but has not been updated since late 2016, which brings the level of commitment and development activity into question.
The Block Visibility Groups Module enables site builders to manage block display settings for blocks and groups of blocks in a more sophisticated way than that provided by Drupal core. There are multiple support modules available with this module that implement specifics of block visibility control that can be very useful for complex site organization, such as: Term Condition, Menu Condition, and so on.
This module implements the sort of alert blocks once sees for Breaking News on news sites or for sale notices on commerce sites. The bootstrap support provides formatting and styling support provided by the bootstrap framework.
The description page for this module describe it as follow:
In terms of concept Bricks is a new generation of Paragraphs, an alternative to Panelizer and a good friend to ECK, Inline Entity Form and your favorite WYSIWYG. Shortly, it allows you to nest Entity Reference field items using Drupal drag & drop UI (exactly like for menu or taxonomy items).
I have not yet installed and experimented with this module.
The BUeditor Module provides a code oriented text editor for Drupal text field embed. In Drupal 8, the ckeditor module integration is included with Drupal core
The Business Rules Module is similar to the Rules Module. The Business Rules Module has been developed specifically for Drupal 8. With its admin GUI, it is possible to implement programmatic event driven action execution within a Drupal website.
That CAPTHCA Module is one of the essentials among modules that needs to be deployed as part of every base Drupal installation. The Drupal 7 version of this module is mature and a fully functional beta version of this module has been available for quite some time.
The Chaos Tools suite is a set of internal APIs that first appears in (Drupal 6?) that provides helper functions for various types of component and UI features. Its use is nearly universal in Drupal deployments. Its Drupal 8 release status have been current since before the full release of Drupal 8 core itself.
The Chosen Module integrate the Chosen jquery plugin with Drupal to provide additional functionality to select elements, which results in more user friendly dropdown boxes and autocompletion fields.
The Classy Paragraphs Module is a helper module for the Paragraphs Module. The Paragraphs Module implements a special type of content fields that are essentially field groups, so that it is possible create formatted content segments within a single content node.
The Clientside Validation Module is among various nearly essential site building modules that enables the site builder to define content constraints for fields.
The Clientside Validation module is among the list of nearly essential modules that many Drupal website will want and need to deploy. This module is especially important for any website that includes visitor facing fillable forms. With this module a form can be instrumented to restrict and validate input using AJAX so that data input quality is maximized even before form submission.
This is a subsidiary module for Drupal Commerce. This module implements a commerce payments gateway provided by the company Braintree Payments, which is currently owned by PayPal.
This module is a Drupal 8 Commerce 2.x add-on module that implements enhanced cart block features.
This module will need to be installed on a test site, experimented with, and evaluated, before are truly informed description of its capabilities and compatibility will be possible.
The Commerce Combine Carts Module implement cart convergence so that if a user begins adding items to cart while not logged in, but then logs in and additional items are all merged together so that there is single cart contents associated with a given user and browsing session.
The Drupal 8 version of the Commerce Point of Sale (POS) Module is currently an empty stub. It is has not yet been implemented for the Drupal 8 Commerce 2.x system.
The Commerce Recurring Module is currently in Development for the Drupal 8 Commerce 2.x platform release, but it doesn't appear to be anywhere near a release status. It implements functionality for recurring ecommerce payments such as gym memberships and the like.
The Commerce Shipping module is obvious a component of the Drupal Commerce software system. Its developers have deployed stable versions since 2012. The Drupal 8 version of this module is currently in beta3 release. This is a fundamental component for most Drupal Commerce deployments. Its readiness is a fundamental aspect of the potential upcoming readiness of the Drupal 8 Commerce 2.x release.
The Commerce Variation Cart Form Module implements a custom Add to Cart forum for use with commerce implementations that employ multiple product variations and want to have separate Add to Cart Forms (buttons) for each product variation.
This is a Drupal Commerce 2.x contributed module. Whether or not features exist in Drupal Commerce core, or are provided as contributed modules appears to be rather arbitrary. This release is rather old. It doesn't seem to bode well that its developers have not updated it to ensure that it is current with additional progress of the core Drupal Commerce 2.x development efforts.
The Components Module implements functionality that enables Drupal developers and site builders to include and reference .twig template files in locations other than /templates directory associated with a Drupal module or theme. This is useful for integrations of javascript libraries that want/need to make use one or more associated .twig templates. For a Drupal 8 specific module, 5,054 deployments is actually significant, implying that this module is being deployed and used by a significant number of Drupal 8 websites (Drupal 8 is not yet actually enjoying very widespread deployment and usage generally).
The Computed Field Module provides a convenient way for site builders to install a snippet of PHP code to generate a field value computed from the value of other fields. There are some example code snippets available on drupal.org, some for Drupal 7 and some for the Drupal 8 implementation at the following link.
The Conditional Fields Module module implements functionality that makes it possible to conditionally control a field's appearance. For example image a multi-select field with an other choice that includes an optional text field for providing additional, other, information. With the module, the other text field can be set to appear only when the user selects other from the list of options above it.
The Conditional Fields Module enables site builders to define dependencies between fields within a content type or entity, thereby controlling such attributes as whether the field is visible and/or available for editing by site visitors.
The Configuration Views Module module is a Views plugin module that implements various views plugins to display Drupal Configuration Entities. This module replaces some of the admin pages/lists for configuration entities with its own implementations. Sometimes this typeof module provides alternatives for the built in admin displays, but they aren't necessarily improvements. However, this module should certainly be worthy of installation on a pure testing Drupal installation to see just what it does.
This module is a helper module for the Contact Storage module. This module implements the ability to create and manage multiple emails destinations for a given form submission.
This module enhances the backend storage features and functionality utilized by the Drupal core contact form module, and also provides additional form building and form content storage capabilities using full fledged entities for data storage.
This module implements a "browser", much like the imce module for browsing files on one's server, this is an analog for browsing entities for insertion as references using an Entity Reference field.
(Previous)
It isn't currently clear why this module should be considered valuable at the moment, because, at least for nodes, this module's functionality duplicates the functionality that already exists in core. At some point though, if this module because a universal entity exploration browser, for entities of all types, that would be useful.
The Content Data Network (CDN) Integration Module is a module primarily for production websites. With this module, data that can benefit from delivery to site visitors from a CDN, such as images, CSS files, JS Files, and so on, can be configured for delivery from the CDN rather than the site's core web server. This module only support CDN integration with "origin pull" CDN servers. This important module for production Drupal websites was developed by Wim Leers, who works for Acquia, which has primary control over the direction of Drupal's core.
This module appears to have been implemented specifically for Drupal 8 compatibility. However, based on forum posts, this module may require additional testing by the community before it can be relied upon to provide reliable content import functionality.
This is a simplified content import module (simpler than the migrate tools), that implements content import from a CSV file.
This module apparently implements a web standard security feature called the Content Security Policy header element, which is apparently designed to help from cross-site scripting and other forms of code injection attacks. It isn't clear if there are any Drupal websites that have deployed this module. I haven't yet installed and/or evaluated this module.
The Context Module implements a useful and powerful way to implement a conception form of site sections, that determine which blocks and so forth are displayed. This is an alternative, and more powerful, programmatic way, of, doing things like controlling which blocks are displayed on a given website page.
This module implements site UI features that prevent casual site visitors from being able to easily copy/download image and text. Such features are easily defeated by knowledgeable site visitors. However, some site owners like implement such features anyway.
The cURL HTTP Request Module implements an http request function override that helps sites that use load balancers and proxies properly execute http requests. I have not yet installed or experimented with this module.
This module implements custom access permissions, and adds an admin GUI for maintaining them from the existing permissions admin GUI. With this module the master admin can implement fine grained role based permissions for access even to specific admin pages, and so forth.
This module alters the default search box in core, in multiple way. This module adds advanced search feature directly to the search box, without having to visit the search results page to see the additional search options first. According to the tenor and status of available bug reports, the Drupal 8 version of this module doesn't currently appear to be stable, and is not ready for development site building or for production websites.
The Data Module enables Drupal site builders to import and/or create and manage arbitrary SQL data tables, including integration with Drupal Views for display. This module provides a mechanism for site builders to integrate external data into a Drupal website. However, alternatives, such has import of the data as nodes or custom entities probably provides a more robust solution for integration of external data into the data management and display functionality that Drupal implements.
The Date Popup module implements that HTML5 month view calendar popup widget that used to be distributed with the Drupal 7 version of the date module. The Drupal 8 version of the date module, like various other Drupal 8 modules is now distributed in a much more granular packaging. The installation count telemetry that gets phoned home to drupal.org upon installation is not encouraging for many Drupal 8 modules, including this one which only reports 418 installs as of this writing.
The Deploy Module enables site builder to stage and preview content for a Drupal website. The Deploy Module has been re-designed for Drupal 8 and is based on the Multiversion and Replication modules. The result is a flexible and efficient content staging framework for Drupal 8.
This module implements for Views, the list item dragging feature that is available during menu editing and taxonomy editing to change the order of items.
The Dynamic Entity Access remain under development is does not yet have a working Drupal 8 version for evaluation. This module will apparently use taxonomy terms in some way to implement access control for entities, hopefully all entity types.
The Easy Breadcrumb Module is one of various breadcrumb configuration modules that attempt to improve upon the meager breadcrumb management support in Drupal's core. In fact, an improved, configurable breadcrumb system is something that ought to be added to Drupal core long before other features are added to it. For Drupal 7, the best breadcrumbs configuration module is the Crumbs Module, but it has not yet been ported to Drupal 8.
This module implements some enhancements to the Entity Browser module that now exists for Drupal 8.
Parenthetically, the whole new D8 media module sub-system seems to have been made overly complicated. Its functionality seems to have been broken into numerous small module compartments, none of which come pre configured, and all which lack reasonable documentation of any kind. It remains to be seen how helpful the new media module suite project will be for Drupal 8.
The Entity Clone Module is somewhat of a counterpart to the Node Clone Module, except it supports additional entity types. This far though the module is not available in a full release version.
The entity construction kit module implements the ability to site builders to create custom entity based content without the need for developing custom modules the implement the entities. This is a really powerful module, one that probably justifies being a core Drupal component. However, its existence as a contributed module means that its developer(s) can release updates on their own schedule. For advanced site builders,this module is a must have to learn and work with.
This module implement forms using entities. For some inexplicable reason its developer seemed to think its Drupal 8 version needed different name (eform) from its Drupal 7 version (it didn't). Having two different names for D7 and D8 is only a source of confusion that requires a notice on the project page. The Drupal 7 version of Entity Form has a significant number of deployments.
There are multiple competing forms solutions for Drupal 8. The most well developed Drupal 8 forms module is the webform module, which has nearly 500,000 deployments, supports a massive number of features, and is supported by a youtube channel of many detailed tutorial videos by its developer about how to use it.
The Drupal 8 implementation of entity forms has the appearance of an abandoned project, given that its developer has published even a development version of the module since 2016.
The Entity Reference Revisions Module provides backend support for Drupal entities that reference other entities, which need to maintain revision consistency between the entities. This module is handy for content nodes that deploy paragraphs widgets, to ensure that changes and revisions are kept synchronized.
The Entity Relationship Diagrams Module implements a visual entity relationship diagram that can be used to study the relationship of data within a Drupal 8 website. The developers of this module have not published a new release of this module since late 2016. There aren't many sites reportedly using this module, but for a site builder or Drupal developer this module seems like it could be handy.
The Entity Views Attachment module is a Views display plugin that enables the output of a View to be attached to the content of a Drupal entity (including nodes/content obviously). This module is very useful to attaching Views to nodes for output.
The EU Cookie Compliance Module enables site builders to quickly and easily comply with the European Union web site cookie usage notice statute be displaying a dismissable alert block as the statute provides. Although the module is probably only relevant to websites that are hosted in Europe or which cater to a European audience, this module makes the government required feature easy to implement.
The Exclude Node Title module implements the ability to prevent node titles from being displayed, to hide node titles. This module also has a useful Drupal 7 version.
The External Links Module is a small enhancement module that adds a graphic indicators to links that indicator the link type: internal, external, or email.
The Extra Image Field Classes Module enhances the widget settings for image fields, that is available from the Manage Display form when editing a content type, to include a field for defining one or more extra/custom CSS classes for an image field. This is a utility module that provides falls into the realm of optional tools, that are handy for site builders, to implement features that would otherwise be provided by a website's theme developer.
Field as Block Module enables site builders to display the contents of a field (configured in the content type UI) within a currently displayed node in a block.
The Field Collection Module is/was a predecessor to the Paragraphs Module. Given the development of the Paragraphs Module and the overlapping functionality of the two, the paragraphs module is surely the preferred implementation of this functionality. Both modules implement fieldable, themeable, groups of fields. This is very useful functionality, important functionality, but the paragraphs module is surely the way to implement it. However, the Field Collection module enjoys a significant deployment quotient, probably by Drupal 7 websites.
This module enhances the various Drupal file entity modules by extending their functionality to enable tokens within file paths. The module's description states that:
File (Field) Paths allows you to automatically sort and rename your uploaded files using token based replacement patterns to maintain a nice clean filesystem.
This is another module that needs installation, investigation, and experimentation for a better sense of the level of its utility.
The Field Formatter Class Module adds a field to the formatting options for fields that is available from the Manage Display tab of the content type editing user-interface, so that custom field specific CSS classes can be added to specific fields within a content type.
The Field Permissions Module enables site builders and site administrators to control create, edit, and view, permissions at the field level for any module. There are other modules that control access permissions at the entity and/or node level, but this module implements access control at a more granular level. It seems like those module would have plentiful application utility for a variety of site types where visitors, users, and even control creator access can benefit from access control beyond an all or nothing full administrator content creation and editing access. This module also has a full release version available for Drupal 7 sites.
The Field Tools module is among modules that are essential to complex site building. The field tools module implements features that make it possible to clone custom content types, either all or part of them, quickly, so that new custom content types can be easily created that are similar to existing custom content types, without having to re-enter all the field configuration settings.
The Field Validation Module enabled site builders to restrict and validate field input. Together with the Clientside Validation Module, these modules together provide important content validation features for Drupal websites.
This module implements the completion of existing editable PDF files (forms), using data from a Drupal website. This module works with the Drupal tokens feature to provide variables that fill the fields in editable PDF files. The module is somewhat complex, and has available documentation.
The First Time Login Module implements a feature that prompts new users to update their Drupal user profile when they first login into the site as a registered user. A site administrator can configure the frequency with which a user is prompted to update their user profile.
The name of the Flag Module doesn't provide many clues about the functionality it implements. The flag module is the module to use for implementing features such as Like buttons, Abuse notifications and so on. For Drupal 7, there are additional sub-module that provide pre-packages features for various types of functions such as Like buttons, which are not yet available with the Drupal 8 version.
The Flippy Module implements previous and next links within the article layout UI for a website. The following link demonstrates this module's features, just below the menu region, above the article itself are the next and previous links using the Drupal 7 version:
The Font Your Face Module integrates with the Font Your Face library, with integrates with and provides and interface for scalable fonts from a variety font platforms such as Google Fonts, Font Squirrel, and so on. This module is current integrated with the morethanthemes.com Drupal 8 distributions to provide rich, deep, font integration and available within their theming and content widget management distributions.
This module implements an entity field type that stores geolocation information as latitude/longitude pairs. This module description does not provide details about how it acquires the data its stores in the field though. This module enjoy over 20,000 deployments, which implies that it has demonstrated useful for some within the Drupal universe.
The honeypot module is another among a group of essential modules for Drupal deployments. The honeypot module functions behind the scenes to foil spam form submissions. The honeypot module works be inserting a hidden named field into forms that automated spam fill with data, which signals to the honeypot module that a spambot has attacked the formed, to which the honeypot module responds by refusing to submit the form.