requirements_manager
35 sites
Security covered
The Requirements Manager module provides a user-friendly admin interface to control which requirements appear on Drupal's status report page (/admin/reports/status) and modify their severity levels. No coding required—administrators can hide warnings, downgrade errors to info messages, or upgrade notices, with optional documentation explaining why each change was made.
Example config form:
Example status report:
Features
-
Auto-discovery: Automatically detects all status report requirements from all enabled modules using
hook_runtime_requirements_alter. -
Per-requirement control:
-
Show: Display requirement unchanged (default) -
Hide: Completely remove from status report -
Change severity: Override to Info, OK, Warning, or Error
-
- Document your decisions: Add a "Reason" field explaining why you altered each requirement (e.g., "Not relevant in local development")
- Transparent alterations: Changed requirements display a notice on the status page showing original severity → new severity with your reason
-
Exportable configuration: All settings stored in config, works with
drush cex/cimand config splits - Un-hide: Hidden requirements still appear in the admin form so you can restore them later
Use cases
- Local/development environments: Hide update warnings that don't apply when working offline
- Managed hosting: Suppress PHP version warnings when the host controls upgrades
- Non-critical warnings: Downgrade persistent but harmless warnings to Info to reduce noise
- Agency workflows: Document why certain requirements were suppressed for client handoff
- Environment-specific config: Use config splits to hide different requirements in dev vs. staging vs. production
Usage
- Navigate to Configuration→ System→ Requirements Manager
(/admin/config/system/requirements-manager) - The form displays a table with all current requirements:
-
Key: Machine name (e.g.,
update_status,php_memory_limit) - Title: Human-readable name
- Current Severity: What it currently shows (Error, Warning, OK, Checked)
- Action: Dropdown to choose Show/Hide/Change severity
- New Severity: Appears when "Change severity" is selected
- Reason: Text field to document why (appears when Hide or Change severity is selected)
-
Key: Machine name (e.g.,
- Select your desired action for each requirement, optionally add a reason, and click Save configuration
- Visit
/admin/reports/statusto see your changes in effect:- Hidden requirements will not appear at all
- Changed requirements will show the new severity with an italicized notice: "Severity altered from 'Warnings found' to 'Checked' by Requirements Manager. Reason: Not applicable in staging environment"
-
Export config to preserve settings across environments:
drush cex -yThe config will be saved to
config/default/requirements_manager.settings.yml
Special considerations
-
Performance: The admin form calls
SystemManager::listRequirements(), which invokes all requirement hooks. Some hooks may be slow (external API checks). The form may take a few seconds to load on sites with many modules. - Config splits: Use environment-specific config splits to hide different requirements per environment. For example, hide update checks in production (managed by hosting) but show them in staging.
Similar projects
Module What it does How requirements manager is different Update Notifications Disable Hides the "Update Status not installed" warning Requirements Manager provides a general-purpose UI to hide or modify any requirement, not just update-related ones. No hard-coded keys. Update Status Advanced Settings Ignore specific projects in update checks Focused on update module only. Requirements Manager controls all requirements (PHP, database, modules, custom checks, etc.). Disable Messages Filters user-facing status messages (the colored bars) Disable Messages works ondrupal_set_message()output. Requirements Manager works on /admin/reports/statusrequirements. Completely different systems.
Custom hook_requirements_alter()
Hard-code requirement changes in a custom module
Requirements Manager provides a no-code admin UI, config export, and audit trail (reasons). No PHP needed.
Example configuration
After configuring requirements via the UI, your config/default/requirements_manager.settings.ymlmight look like:
requirements:
update_status:
action: hide
reason: 'Site uses external update management tool'
php_memory_limit:
action: change_severity
severity: info
reason: 'Memory limit controlled by hosting provider, warning not actionable'
cron_last:
action: change_severity
severity: warning
reason: 'Upgraded from info to ensure cron monitoring'