Follow-up to. Discovered during .
In, we added functionality to warn the user when configuration has changed since the last config import, to protect site owners from unintentionally overwriting their live configuration with older configuration (for example, if content authors changed configuration on a production site and then additional changes were deployed from the development environment).
Your current configuration has changed. Changes to these configuration items will be lost on the next synchronization:
This warning is displayed when the config differs from the last snapshot, and before, a snapshot was created on installation, resulting any configuration change after installation results on the message being "stuck" on the config sync page even when there were no changes to import.
- Make a
site_configdirectory and run
git init --bare.
- Install standard for site A.
- Clone the
site_configrepo into site A's staging directory.
- Run drush cex -y on site A, commit, push.
- Create a site B from site A (either by copying codebase, files, and db, or by installing using the config_installer project).
- Clone the
site_configrepo into site B's staging directory as well.
- On site B, add the tags field to the page content type.
- Export the configuration, commit, push.
/admin/config/development/configuration/. You will see the worrying warning about changes that will be lost, without really understanding how or why you would lose them.
In general, D8 users (including me) also repeatedly confuse the contents of this message with the contents of the form below it, which displays the differences between the active config and staging. The warning, on the other hand, only displays the differences between the last snapshot and staging, which could be a subset of the changes between active and staging, or could be changes that were made and then reverted, or (as in the example above) be completely irrelevant to the user's workflow.
Seefor a list of potential solutions that were ruled out previously.
@alexpott and I discussed this a bit and came up with three things to improve the usability:
- There is probably no reason to display the warning at all if there are no changes to import.
- Improve the message so it explains what's actually happening: the configuration is different from the snapshot, which may result in the changes being list. Maybe something like:
The following changes have been made to your active configuration since the last import, and may be lost on the next import:
- See if we can improve the UI somehow so that it doesn't seem like the message is part of the form below it? Not really sure what this would mean.
Beta phase evaluation
|Issue category||Bug because the purpose of the warning is to help the user understand what will happen when configuration is synchronized, but the current behavior instead obfuscates that under certain circumstances.|
|Issue priority||Normal because (unlike) this "stuck" message will not be encountered that frequently using just core.|
|Prioritized changes||The main goal of this issue is usability.|
User interface changes
The active configuration changed because on snapshot storage message is only displayed when a configuration sync can be performed. The text has been changed to make it easier to understand.
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 94,825 pass(es). View
|#6||Screen Shot 2015-05-16 at 13.47.52.png||106.85 KB||alexpott|
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 94,501 pass(es). View