Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C CiviCRM Core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,372
    • Issues 1,372
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • CiviCRM Core
  • Issues
  • #1863
Closed
Open
Created Jul 09, 2020 by Andie Hunt@andieDeveloper

System check severities out of whack

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking