Module Matrix replaces Drupal’s default Extend and Uninstall module pages with a modern, filterable interface - a richer alternative to Module Filter for sites with large module lists.

Built with vanilla JavaScript (no jQuery), Module Matrix revamps the module forms with a flex/grid layout and accordion-style details instead of tables and details elements. This applies to both the Install (Extend) and Uninstall module pages.

Module Matrix vs Module Filter

Already using Module Filter? Here’s how they differ:

Feature Module Matrix Module Filter
jQuery dependency None (vanilla JS) Requires jQuery
Layout options Left, Right, Top Tabs or dropdown
Filter by lifecycle Yes No
Filter by stability Yes No
Customizable detail fields Yes (14 toggleable fields) No
Dark mode Yes No
Accent color themes 6 options No
Compact mode Yes No
Grid layout Yes No
Drupal.org links (issues, usage) Yes No
Submodule detection Yes No

Module Filter is a mature, widely adopted module focused on filtering and tabbed navigation. Module Matrix takes a different approach with a richer, fully customizable interface - multiple layout modes, theme options, and deeper module metadata. Choose the one that fits your workflow.

No jQuery Dependency

Module Matrix is built with pure JavaScript for a lightweight, efficient experience. With no jQuery dependency, it aligns with modern web standards and reduces potential conflicts and load times.

Advanced Filter Fields

Module Matrix offers instant client-side search with powerful filtering options:

  • Text Search: Quickly locate modules by name or description using a responsive text field.
  • Filter by Status: Choose between Enabled, Disabled, or Unavailable modules using three intuitive checkboxes.
  • Filter by Lifecycle: Narrow down modules based on their lifecycle: Active, Deprecated, Experimental, or Obsolete.
  • Filter by Stability: Sort modules by their stability level: Stable, RC, Beta, Alpha, or Dev.

Lifecycle vs Stability: Lifecycle defines the current state or usability of a module (e.g., active or deprecated), while stability focuses on its development stage (e.g., stable or in beta testing).

A reset button allows you to clear all filters instantly, ensuring effortless navigation.

Package Links for Better Insights

Modules are grouped by package, with intuitive visual indicators to highlight their state:

  • Grey: Displays the total number of modules in a package.
  • Green: Indicates the number of enabled modules.
  • Red: Highlights the number of disabled modules.

All links use Google Material Icons, adding a modern and cohesive visual touch to the interface.

Enhanced Module List

The module list is split into two sections for better organization:

  1. Name and Package: Always displayed, this section includes a checkbox for enabling/disabling modules, along with the module name and its package.
  2. Details Section: Fully customizable, this section allows users to choose what information to display, including Machine Name, Version, Lifecycle, Stability, Requires, Required By, Status, Project, Subpath, Last Modified, and Links (Help, Permissions, Configure, Issue Link, Usage Link). Each option is styled with custom Google Material Icons for clarity. Module names are clickable and link to the module’s Drupal.org page.
    Smart template design: If no option is selected, it displays the description without an accordion. If two options are selected but one is unavailable, the template intelligently avoids rendering the accordion.

Modern Page Layout

Module Matrix introduces a fully responsive, table-free design using CSS Flex and Grid. Users can select from three layout options:

  • Left Layout: Packages are displayed on the left, modules on the right.
  • Right Layout: Packages are on the right, modules on the left.
  • Top Layout: Packages are displayed at the top, modules at the bottom.

All layouts adapt seamlessly to screen sizes below 992px, ensuring a smooth experience on any device.

Fully Configurable Settings Form

The settings form lets users tailor Module Matrix to their preferences. Key features include:

  • Layout Selection: Choose between Left, Right, or Top layouts.
  • Details Customization: Enable or disable specific details in the module list, such as Machine Name, Version, Lifecycle, Stability, and more.
  • Grid Layout Option: Switch from a row-based layout to a responsive grid system for a modern look.
  • Compact Mode: Activate a minimalist grid layout with essential details only.
  • Scroll Toggle: Enable scrolling for long package lists to improve usability.
  • Style Mode: Choose between a plain, unstyled interface for full customization or select a light or dark mode. Once a mode is chosen, the accent color options-Teal, Gold, Coral, Indigo, Slate, and Neutral-will become available for selection.

Installation and Setup

  1. Download and install Module Matrix from Drupal.org:
    composer require drupal/module_matrix
  2. Enable the module through the Drupal admin interface or using Drush:
    drush en module_matrix
  3. Clear caches to ensure the new plugin is available:
    drush cr

Quick Navigation and Permissions

Accessing Module Matrix is simple and efficient:

  • Navigate to settings via Configuration > System > Module Matrix Settings.
  • Use the quick access link on the module administration page (admin/config/system/module-matrix-settings).
  • Control permissions to restrict access to specific roles, ensuring only authorized users can modify settings.

Experience the next level of module management with Module Matrix. Built for modern Drupal sites, it’s fast, flexible, and ready to transform how you manage your modules!

Support

For issues, feature requests, and contributions, please visit the issue queue on Drupal.org.

License

This project is licensed under the GNU General Public License, version 2 or later.


Support and maintenance

Questions, ideas, and bug reports are welcome. Please use this project’s issue queue so discussions and solutions remain available to the Drupal community.

Maintainers monitor issues, but response times depend on availability.

We can Drupal it

Developed and maintained by Alaa Haddad of Flash Web Center, LLC.

AI disclosure: AI tools assisted with drafting and reviewing this project description. The maintainer verified the final content against the project source.

Supporting organizations: 
FlashWebCenter.com: Drupal Developments Services.
DrupalCare.com: Drupal Update & Maintenance Services.
AttachmentSize
uninstall-module.png145.46 KB

Project information

Releases