In reviewing the CMI UI patch, I came across a situation where the configuration I thought I was moving to production was not in fact the configuration showing up in the import UI as what was about to be imported. See. Screenshot:
Despite the fact that I had only changed the site maintenance message (system.maintenance), it also thought it should move over system.cron. Turns out this is a bug (), but had I not had Git at my disposal to tell what the heck was going on (which we should not require of our users IMO), I would've been stopped dead in my tracks, unsure how to proceed.
Even despite this bug, any one of these keys might have 7000 things underneath them. Another example of this is at the top of that comment, when I intended to add a site slogan, but what actually happened was it changed the site slogan and the site name both. This is another bug () but it's completely conceivable that such a situation could arise in the "real world" as well.
So I really think it's necessary to have a means of "previewing" the configuration system changes before I import them and blow away my existing config. I had suggested to heyrocker as an MVP just something like:
Though he pointed out that incorporating a Diff library of some kind and just calling a function would likely be less work/overhead.
In any case, I think the UI is rather unusable without this, so filing as a major follow-up task once the UI is in.
PASSED: [[SimpleTest]]: [MySQL] 52,919 pass(es). View
FAILED: [[SimpleTest]]: [MySQL] Setup environment: Test cancelled by admin prior to completion. View