The Value form field in the config Edit page is actually showing DB value, which is confusing for locked configs / configs that are managed out of DB:
This is especially confusing when migrating values from DB to some other config option.
avivey | |
Sep 3 2015, 5:45 PM |
F777776: pasted_file | |
Sep 3 2015, 5:45 PM |
The Value form field in the config Edit page is actually showing DB value, which is confusing for locked configs / configs that are managed out of DB:
This is especially confusing when migrating values from DB to some other config option.
btw, I think the right fix is to have 'value' be the current value, no matter where it comes from.
But I'd be ok, too, with just some documentation saying 'value' is only the db value. (Though that doesn't seem that useful!)
For locked stuff we should probably just not show the "Value" control for most controls. (I think we show it because it's useful for some config that has special controls, but I'm not sure; could also just be something I missed.)
For not-locked stuff, if we populate global/local/site config values into the control and then you click "Save", we have to either have "Save" sometimes mean "don't actually save" or have it mean "Save, copying the value into the database if the value is not currently in the database", neither of which seem intuitive to me. For example, this sequence of actions seems very confusing:
We already have that in the table below (Which for some reason is labeled "Default").
Maybe move that table up, label it "Current Value", and - if needed - have the DB value control show up below it?
I think the primary use case for this UI is editing the value (that's what I'm trying to do about 98% of the time I end up here, at least), so it seems weird to bury that control. On some pages, like differential.fields, it would be buried very deeply if we moved it after the table.
Yeah, I think just hiding the "value" section for non-editable controls would have resolved the issue for me. (In that case, I would have assumed the value was set to the first non-empty value in the "default" section.)
(But, and this is a slightly separate issue, it might be nice to have some indication in the 'default' section of which of those values is the current actual value -- maybe just highlight the value, or put a star next to it, or the text 'current working value' or some such. It's not necessary, and I know it will always be the first non-empty value that's marked in that way, but it would remove all ambiguity, especially in cases like the database has the empty string as its value, and a config file has a non-empty string, so the empty string is the default but it may not be clear from the UI.)