Drupal is a registered trademark of Dries Buytaert

Description

Extends module Help pages by automatically displaying maintainers information from multiple sources. The module uses a plugin-based architecture that allows maintainers to be fetched from different providers (module .info.yml files, Drupal.org, or custom sources) and merged deterministically based on configurable priorities.

Helps users quickly identify who maintains a module directly from the Help page, with support for avatars, names, and links to maintainer profiles.

Features

  • Plugin-based architecture - Extensible system for fetching maintainers from multiple sources
  • Multiple data sources:
    • Info YAML Fetcher - Reads maintainers from module .info.yml files (highest priority)
    • Drupal.org Fetcher - Scrapes maintainers from Drupal.org project pages
    • Custom fetchers can be added via plugin system
  • Priority-based merge strategy - Configurable priorities determine which source takes precedence when merging duplicate maintainers
  • Automatic integration - Seamlessly adds maintainers block to help pages via hook_help_alter() without modifying original module code
  • Configuration UI - Admin form at /admin/config/system/extend-help-maintainers to:
    • Enable or disable specific fetcher plugins
    • Configure custom priorities for each source
  • Visual display:
    • Maintainer avatars with fallback placeholder
    • Names and links to Drupal.org profiles
    • Responsive, themed output
  • Performance:
    • Caching support (24 hours default)
    • Proper cache metadata for invalidation
    • Efficient plugin discovery and instantiation
  • Developer-friendly:
    • Full test coverage (Unit + Kernel tests)
    • Clean architecture following SOLID principles
    • Comprehensive documentation

Use cases:

  • Module developers and site builders can quickly identify maintainers for support
  • Provides a visual summary of maintainers in admin interface Help pages
  • Useful for organizations managing multiple contributed modules
  • Helps maintainers showcase their contributions

Post-Installation

  1. Install and enable the module via Extend (/admin/modules) or Drush: drush en extend_help_maintainers
  2. (Optional) Configure at /admin/config/system/extend-help-maintainers:
    • Select which fetcher plugins to use
    • Adjust priorities for different sources
  3. Any module with maintainers defined will automatically display a Maintainers block on its Help page
  4. Maintainers can be defined in:
    • Module's .info.yml file under extra.extend_help_maintainers.maintainers
    • Automatically fetched from Drupal.org project page (if enabled)
  5. Avatars will display if provided; otherwise, a placeholder image is shown

Example .info.yml configuration:

extra:
  extend_help_maintainers:
    maintainers:
      - name: John Doe
        drupal_org: johndoe
        avatar: https://www.drupal.org/files/styles/grid-2-2x-square/public/user-pictures/picture-123.jpg

Additional Requirements

  • No additional libraries or external dependencies required
  • Works with Drupal 10+ and 11+
  • PHP 8.1+
  • None required. The module works standalone.
  • Modules that enhance Help pages or module documentation may complement it.

Similar projects

  • This module is universal and works for any Drupal module
  • Enhances Help pages without modifying the original module code
  • Uses a plugin-based architecture for extensibility
  • Supports multiple data sources with priority-based merging
  • Unlike simple solutions, provides a complete subsystem with testing, documentation, and configuration

Supporting this Module

  • Report issues and feature requests on the project issue queue
  • Contribute patches following Drupal coding standards
  • Review and test the module
  • Share feedback and use cases

Community Documentation

  • See README.md for comprehensive documentation
  • Architecture diagram available in docs/architecture.puml
  • Full test suite demonstrates usage patterns
  • Code follows Drupal core quality standards

Technical Details

  • Architecture: Plugin-based, service-oriented design
  • Testing: Unit tests for DTO and merge logic, Kernel tests for integration
  • Security: Input validation, XSS prevention, URL sanitization
  • Standards: PSR-12 and Drupal Coding Standards compliant
  • License: GPL-2.0-or-later

Activity

Total releases
5
First release
Jan 2026
Latest release
1 month ago
Release cadence
1 day
Stability
100% stable

Release Timeline

Releases

Version Type Release date
1.0.4 Stable Jan 5, 2026
1.0.3 Stable Jan 3, 2026
1.0.2 Stable Jan 3, 2026
1.0.1 Stable Jan 3, 2026
1.0.0 Stable Jan 2, 2026