Skip to content
Snippets Groups Projects
Closed System check severities out of whack
  • View options
  • System check severities out of whack

  • View options
  • Closed Issue created by Andie Hunt

    The severities for system checks are defined in PSR-3, and the first system checks attempted to match them pretty closely.

    Level Description (per PSR-3) Examples (per PSR-3) What happens in CiviCRM
    emergency System is unusable. You'll never see it because the system won't be functioning.
    alert Action must be taken immediately. Entire website down, database unavailable, etc. This should trigger the SMS alerts and wake you up. Red pop-up when an admin logs in; item has a red header.
    critical Critical conditions. Application component unavailable, unexpected exception. Red pop-up when an admin logs in; item has a red header.
    error Runtime errors that do not require immediate action but should typically be logged and monitored. Red pop-up when an admin logs in; item has a red header.
    warning Exceptional occurrences that are not errors. Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong. Orange pop-up when an admin logs in; item has an orange header.
    notice Normal but significant events. Item has a blue header.
    info Interesting events. User logs in, SQL logs. Item has a green header.
    debug Detailed debug information. Never displayed.

    However, over the years a few things have happened:

    1. Some system checks have severities that don't quite match the specifications here, especially skewing too high.
    2. System checks are used to nudge people to update their hosting environment for the future.
    3. The system checks have become dominated by things that users don't quite understand.
    4. Partners and others supporting lots of organizations have become frustrated that system checks scare or confuse users.

    I see there being four main ways to address this:

    1. Narrowing who sees the system check messages to only those who are in a position to act on them (through permissions or otherwise).
    2. Giving more warning (through upgrade messages and a longer runway of escalating severity) for things that are not currently critical but will become so.
    3. Improving the presentation of system check messages and how to snooze or hush them.
    4. Doing a better job of giving a system check the right severity.

    There's been discussion on the first and second items elsewhere. This ticket is focused on the fourth. Fundamentally, some things will be at the level of "drop everything and fix it", but we don't want to cry wolf.

    Here are the existing system checks and their severities. My hope is that by having them all in the same place it will be easier to decide which are more severe than others. The ID column is just here to ease discussion.

    ID Class Title Message Severity
    1 CRM_Utils_Check_Component_AddressParsing Street address parsing Street address parsing is enabled but not supported by your locale warning
    2 CRM_Utils_Check_Component_Case CiviCase Case type "%1" has duplicate XML files ("%2" and "%3") warning
    3 CRM_Utils_Check_Component_Case CiviCase Case type "%1" corresponds to XML file ("%2") The XML file should be named "%3". warning
    4 CRM_Utils_Check_Component_Case Timestamps for Activities and Cases The tables "civicrm_activity" and "civicrm_case" were updated to support two new fields, "created_date" and "modified_date".... notice
    5 CRM_Utils_Check_Component_Case Relationship Type Internal Name Duplicates Relationship type %1 has the same internal machine name as another type.... error
    6 CRM_Utils_Check_Component_Case Relationship Type Display Label Duplicates Relationship type %1 has the same display label as another type. error
    7 CRM_Utils_Check_Component_Case Relationship Type Cross-Duplication Relationship type %1 has an internal machine name that is the same as the display label as another type.... warning
    8 CRM_Utils_Check_Component_Case Relationship Type Ambiguity Relationship type %1 appears to be unidirectional, but has the same internal machine name for both sides.... warning
    9 CRM_Utils_Check_Component_Case Relationship Type Ambiguity Relationship type %1 appears to be unidirectional internally, but has the same display label for both sides.... warning
    10 CRM_Utils_Check_Component_Case Missing Roles The following roles listed in your case type definitions do not match any relationship type defined in the system: %1.... error
    11 CRM_Utils_Check_Component_Case Missing Case Type Definition Unable to locate xml file for Case Type "%1". error
    12 CRM_Utils_Check_Component_Case Missing Case Roles CaseRoles seems to be missing in the xml file for Case Type "%1". error
    13 CRM_Utils_Check_Component_Case Invalid Case Role CaseRole "%1" in the xml file for Case Type "%2" doesn't seem to match any existing relationship type. error
    14 CRM_Utils_Check_Component_Case Case Role using display label instead of internal machine name Please edit the XML file for case type "%2" so that the case role label "%1" is changed to its corresponding name "%3".... warning
    15 CRM_Utils_Check_Component_Env PHP Up-to-Date This system uses PHP version %1 which meets or exceeds the recommendation of %2. info
    16 CRM_Utils_Check_Component_Env PHP Out-of-Date This system uses PHP version %1. This meets the minimum recommendations and you do not need to upgrade immediately, but the preferred version is %2. notice
    17 CRM_Utils_Check_Component_Env PHP Out-of-Date This system uses PHP version %1. This meets the minimum requirements for CiviCRM to function but is not recommended.... warning
    18 CRM_Utils_Check_Component_Env PHP Out-of-Date This system uses PHP version %1. To ensure the continued operation of CiviCRM, upgrade your server now.... error
    19 CRM_Utils_Check_Component_Env Forward Compatibility: Enable "mysqli" Future versions of CiviCRM may require the PHP extension "mysqli". To ensure that your system will be compatible, please install it in advance.... warning
    20 CRM_Utils_Check_Component_Env Timestamp Mismatch Timestamps reported by MySQL (eg "%2") and PHP (eg "%3" ) are mismatched. error
    21 CRM_Utils_Check_Component_Env Debug Mode Enabled Warning: Debug is enabled in system settings. This should not be enabled on production servers. warning
    22 CRM_Utils_Check_Component_Env Outbound Email Disabled Warning: Outbound email is disabled in system settings.... warning
    23 CRM_Utils_Check_Component_Env Complete Setup Please enter your organization's name, primary address and default FROM Email Address (for system-generated emails). warning
    24 CRM_Utils_Check_Component_Env Configure Default Mailbox Please configure a default mailbox for CiviMail. warning
    25 CRM_Utils_Check_Component_Env Cron Running OK Last cron run at %1. info
    26 CRM_Utils_Check_Component_Env Cron Not Running Last cron run at %1. / No cron runs have been recorded. warning / error
    27 CRM_Utils_Check_Component_Env Resource URLs: Make them portable Resource URLs may use absolute paths, relative paths, or variables. Absolute paths are more difficult to maintain.... notice
    28 CRM_Utils_Check_Component_Env Directory Paths: Make them portable Directories may use absolute paths, relative paths, or variables. Absolute paths are more difficult to maintain.... notice
    29 CRM_Utils_Check_Component_Env Directory not writable The %1 is not writable. Please check your file permissions. error
    30 CRM_Utils_Check_Component_Env Directory not writable Directory %1 is not writable. Please change your file permissions. (this is actually an error checking the version) error
    31 CRM_Utils_Check_Component_Env Update Check Disabled The check for new versions of CiviCRM has been disabled.... notice
    32 CRM_Utils_Check_Component_Env Version update messages As provided by version check info / notice / warning / critical
    33 CRM_Utils_Check_Component_Env Directory not writable Your extensions directory is not set.... notice
    34 CRM_Utils_Check_Component_Env Extensions directory incorrect Your extensions directory path points to %1, which is not a directory.... error
    35 CRM_Utils_Check_Component_Env Read-Only Extensions Your extensions directory (%1) is read-only.... notice
    36 CRM_Utils_Check_Component_Env Extensions url missing The extensions URL is not properly set.... error
    37 CRM_Utils_Check_Component_Env Extensions check disabled Not checking remote URL for extensions since ext_repo_url is set to false. notice
    38 CRM_Utils_Check_Component_Env Extension download error Message thrown by extension check error
    39 CRM_Utils_Check_Component_Env No Extensions Available for this Version There are currently no extensions on the CiviCRM public extension directory which are compatible with version %1.... notice
    40 CRM_Utils_Check_Component_Env Extensions No extensions installed. info
    41 CRM_Utils_Check_Component_Env Extension Error Failed to read extension (%1).... / %1 extension (%2) is installed but missing files. error
    42 CRM_Utils_Check_Component_Env Extension Update Available %1 (%2) version %3 is installed. Upgrade to version %5. warning
    43 CRM_Utils_Check_Component_Env Extensions All extensions are up-to-date info
    44 CRM_Utils_Check_Component_Env Extension Upgrades Pending Extension upgrades should be run as soon as possible. error
    45 CRM_Utils_Check_Component_Env Database Version Missing Version information found to be missing in database.... error
    46 CRM_Utils_Check_Component_Env Database Version Invalid Database is marked with invalid version format.... error
    47 CRM_Utils_Check_Component_Env Database Partially Upgraded Database check failed - the database looks to have been partially upgraded. alert
    48 CRM_Utils_Check_Component_Env Database Upgrade Required New codebase version detected.... alert
    49 CRM_Utils_Check_Component_Env Database In Unexpected Version Your database is marked with an unexpected version number.... error
    50 CRM_Utils_Check_Component_Env MyISAM Database Engine Your database is configured to use the MyISAM database engine.... error
    51 CRM_Utils_Check_Component_Env No Default value for Auto Responder. Reply Auto Responder is not set to any default value in Headers, Footers, and Automated Messages.... warning
    52 CRM_Utils_Check_Component_Env Missing mbstring Extension The PHP Multibyte String extension is needed for CiviCRM to correctly handle user input among other functionality.... warning
    53 CRM_Utils_Check_Component_Env Non-Production Environment The environment of this CiviCRM instance is set to '%1'.... alert
    54 CRM_Utils_Check_Component_Env Incorrect Resource URL The Resource URL is not set correctly.... error
    55 CRM_Utils_Check_Component_Env MySQL Emoji Support (utf8mb4) Future versions of CiviCRM may require MySQL to support utf8mb4 encoding.... warning
    56 CRM_Utils_Check_Component_Env PHP MySQL Driver (mysqlnd) It is recommended, though not yet required, to upgrade your PHP MySQL driver (mysqlnd) to >= 5.0.9 for utf8mb4 support. warning
    57 CRM_Utils_Check_Component_Env PHP MySQL Driver (libmysqlclient) It is recommended, though not yet required, to upgrade your PHP MySQL driver (libmysqlclient) to >= 5.5.3 for utf8mb4 support. warning
    58 CRM_Utils_Check_Component_Env MySQL Out-of-Date This system uses MySQL/MariaDB v%1. To ensure the continued operation of CiviCRM, upgrade MySQL now.... error
    59 CRM_Utils_Check_Component_Env MySQL Out-of-Date This system uses MySQL/MariaDB v%1. To prepare for CiviCRM v%5, please upgrade MySQL.... warning
    60 CRM_Utils_Check_Component_Env MySQL Out-of-Date This system uses MySQL/MariaDB v%1. You can continue to use this version of MySQL.... notice
    61 CRM_Utils_Check_Component_FinancialTypeAcls Extension Missing CiviCRM will in the future require the extension %1 for CiviCRM Reports to work correctly with the Financial Type ACLs. warning
    62 CRM_Utils_Check_Component_OptionGroups Option Values with problematic Values The Following Option Values contain value fields that do not match the Data Type of the Option Group.... notice
    63 CRM_Utils_Check_Component_PriceFields Invalid Price Fields the following Price Set Fields use disabled or invalid financial types and need to be fixed if they are to still be used.... warning
    64 CRM_Utils_Check_Component_Schema Performance warning: Missing indices The following tables have missing indices.... warning
    65 CRM_Utils_Check_Component_Schema Missing Log Tables You don't have logging enabled on some tables.... warning
    66 CRM_Utils_Check_Component_Schema Smart Group check did not run The smart group check was unable to run. info
    67 CRM_Utils_Check_Component_Schema Disabled/Deleted fields on Smart Groups The following smart groups include custom fields which are disabled/deleted from the database.... warning
    68 CRM_Utils_Check_Component_Schema Deprecated monetary value display format configuration The Monetary Value Display format is a deprecated setting, and this site has a non-standard format. warning
    69 CRM_Utils_Check_Component_Security Security Warning The CiviCRM debug log should not be downloadable. warning
    70 CRM_Utils_Check_Component_Security Private Files Readable Files in the data directory (%2) should not be downloadable.... warning
    71 CRM_Utils_Check_Component_Security Browseable Directories Directory %2 should not be browseable via the web.... error
    72 CRM_Utils_Check_Component_Security Unsafe Files File '%1' presents a security risk and should be deleted. critical
    73 CRM_Utils_Check_Component_Security Remote Profiles Enabled Warning: External profile support (aka "HTML Snippet" support) is enabled in system settings. warning
    74 CRM_Utils_Check_Component_Security Security Warning The system administrator has disabled security settings (%1). Connections to remote applications are insecure. warning
    75 CRM_Utils_Check_Component_Source Old files The local system includes old files which should not exist.... warning
    76 CRM_Utils_Check_Component_Timestamps Timestamps and Timezones This MySQL database stores certain fields with data-type "DATETIME". To improve timezone support, you may want to change these from "DATETIME" to "TIMESTAMP".... notice

    See also discussion on PR #17698.

    Linked items ... 0

  • Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first
    Loading Loading Loading Loading Loading Loading Loading Loading Loading Loading