CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf
Since CiviCRM 5.13.4 this CiviCRM alert is now being displayed to CiviCRM users: "Future versions of CiviCRM may require MySQL utf8mb4 support".
The problem is that this information is being shown to End Users who have no idea what this means at all. And for those users who do understand it, if their CiviCRM is hosted on a popular shared hosting platform like CPanel, Plesk etc. then there is nothing they can action - they cannot make any changes to my.cnf
So I am raising the question here, what is the point of this alert? Why is it being shown to CiviCRM End Users at all. Only a small minority of very technical people can action it.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
Activity
Sort or filter
Newest first
Oldest first
Show all activity
Show comments only
Show history only
justinfreeman (Agileware)changed title from CiviCRM 5.13.4 - CiviCRM alert cannot be actioned: "Future versions of CiviCRM may require MySQL utf8mb4 support" by CiviCRM users on shared hosting platforms (CPanel, Plesk etc.) since they cannot modify my.cnf to CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support" by CiviCRM users on shared hosting platforms (CPanel, Plesk etc.) since they cannot modify my.cnf
changed title from CiviCRM 5.13.4 - CiviCRM alert cannot be actioned: "Future versions of CiviCRM may require MySQL utf8mb4 support" by CiviCRM users on shared hosting platforms (CPanel, Plesk etc.) since they cannot modify my.cnf to CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support" by CiviCRM users on shared hosting platforms (CPanel, Plesk etc.) since they cannot modify my.cnf
justinfreeman (Agileware)changed title from CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support" by CiviCRM users on shared hosting platforms (CPanel, Plesk etc.) since they cannot modify my.cnf to CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf
changed title from CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support" by CiviCRM users on shared hosting platforms (CPanel, Plesk etc.) since they cannot modify my.cnf to CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf
This seems like the same thing as php versions - ie not everyone can upgrade php either - but in the future we will require later php versions & mysql utfmb8 support - at some point
@eileen Perhaps we lower the severity for now? Perhaps a notice for now and elevate to warning before we are ready to make this mandatory?
I do fear that this will cause issues for users on shared hosting as I have asked a couple of hosts to set the required INNODB options and have been told they won't do it.
For now I'd like to lower the severity unless we are planning to make this required soon (before 5.20.x)
Future versions of CiviCRM may require MySQL utf8mb4 support. It is recommended, though not yet required, to configure your MySQL server for utf8mb4 support. You will need the following MySQL server configuration: innodb_large_prefix=true innodb_file_format=barracuda innodb_file_per_table=true
A section detailing this requirement with instructions of how to apply would be a helpful reference for both CiviCRM hosting providers and self-hosted CiviCRM sites. Then provide a link to this page in the alert message.
Slight tangent, but hear me out:
There is a direct correlation between future and existing CiviCRM users and the complexity of the "Installation Requirements" - the more non-standard and unique, the smaller the CiviCRM user base because the barrier for entry is too high.
Ensuring that CiviCRM is Web hosting control panel "friendly" should be goal.
I wouldn't say the configs are unique to CiviCRM, since they are also needed by other apps to support utf8mb4, and are the default in MySQL ≥ 5.7
As far as why have a plan to migrate to utf8mb4: basically MySQL's utf8 is a misnomer and broken historical accident, so it's time to finally phase it out :) I realize this will require a little "leaning" on service providers and sysadmins to make it happen, thus this system status check.
personally, I think it's fine for CiviCRM to continue to support MySQL 5.6 and 5.5, but I also think it's fine to recommend certain non-default configurations for those versions, and eventually (hard to say when, maybe six months from now? it depends on feedback like this issue) require those configurations.
I dont see any answer to the question in this thread. To me I agree @justinfreeman that end users don't have a clue about those messages. And as long as CiviCRM doesn't get upgraded everything keeps working as usual. So why those messages? Which only confuses end users and will probably scare them off of civicrm in the long run. I would say that those messages belong to the release notes/newsletters/dev mailing list etc.
I think a warning makes sense, because the idea is this is checking for the recommended configuration, which could be required in the future - see e.g. other warning messages re: mysqli, recommended PHP version, etc.
Are we giving messages other than system checks? We definitely use system checks to warn of various sysadmin things - including php versions & such like that are nearing their end of support (we should also be warning people off old versions of mysql I expect).
It might be that we should have a permission to see system checks so that site administrators can prevent end users seeing them if appropriate - since basically ALL system checks are targetting sysadmins & site admins not data entry people
@justinfreeman OK - cpanel finally put mysql support in in 2019 - but that doesn't make it "very new" - it only makes cpanel very behind!
From our stats I can see the top versions are mysql 5.7 and 'other' - my best guess is it's MariaB 10.3 & there needs to be some hard-coding to make it show, with a little percona thrown in
bgmchanged title from CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf to CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf
changed title from CiviCRM 5.13.4 - CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf to CiviCRM alert cannot be actioned by End Users: "Future versions of CiviCRM may require MySQL utf8mb4 support". End Users on shared hosting platforms (CPanel, Plesk etc.) cannot modify my.cnf
I understand the pushback, but I agree with Eileen and mfb.
To rehash:
We want users to upgrade regularly (it may not be every month, but hopefully at least when there are security releases, every 3-6 months).
We want CiviCRM to keep improving and fix bugs. Without utf8mb4, you will have issues with:
Sending emails/newsletters with some types of alphabets or some types of emoji
Inbound emails (idem).
We know that many CiviCRM users are accidental techies, not professional sysadmins, and some types of hosting do not make it easy to upgrade.
At the same time, we want to keep our users safe (PHP upgrades) and avoid bugs (utf8mb4). We also want to avoid unpleasant situations where their schema might get converted while they upgrade for a security release.
utf8mb4 should already be supported by most hosts, we're not exactly early adopters here.
From what I hear of some reactions pushing back against utf8mb4, is that it's not a problem for you. You're in the lucky ones, but you're basically pulling the blanket on your side. For other people, it means that we lost users or potential users, because they hit those bugs. It's also a bug that people are going to increasingly hit, as those utf8 characters are increasingly used.
WordPress migrated to utf8mb4 somewhere in 2017. Drupal also migrated some time ago (and that's Drupal, sorry for my lack of kindness, but they're not exactly early adopters).
I would add that we are a relatively small community, and doing an upgrade like this is likely to be an upgrade we will want to do once, not have to support two types of installations.
If the problem is that your end users have "administer CiviCRM" permissions, and they should not see system warnings, I think that's a better framing of the issue, but it should not stop us from adding other system checks meanwhile. Someone has to see those messages.
(I know some SaaS civicrm providers patch to hide those messages)