Problem/Motivation
CE displays's components are currently indexed by field name, This has drawbacks:
It is not possible to add two formatters outputting different fields, based on the same value. One example where this might be good: a URL with embed code and a thumnail, for a video field. (There's no reason why this should necessarily be done by one and the same CE field formatter that sets several properties.
It is possible to add several formatted fields that have the same "name", leading to duplicate properties being set (i.e. overwritten) by different formatters. (Strictly, we are not in control of the "name" used, but custom code from every formatter is. Still, enforcing a unique "name" is overall reasonable/logical.)
Not all values need to be set based on a single field's value: There are plans for:
Proposed resolution
Key the components by "configured name", not field name.
Remaining tasks
Do it.
Probably: change/add proper config schema, or leave to
π
Re-add proper config-schema and test coverage
Active
/ the related issue.
If quick and easy (I really don't know yet): add backward compatibility loading for already present 'alpha1 style' configuration. (That's being used in several places in an internal project.)
Re-save the config exports in the custom_elements_thunder module.
Dependency
The UI changes needed get a lot easer after
π
Simplify entity-ce-display form and AJAX logic
Active
is done.