feat(forms): provide standard fields for specialized data
- Standard fields (having noneditable names prefixed with
$
) are provided for data involved in special logic in imports, exports/publishing and validation. - A limited set of standard fields initially; more may be created in future.
- Component types are given more friendly names in the UI (e.g. 'Rich text' vs 'AbstractEditor').
- Standard fields come with certain defaults and presets. Some determine the component type (Text, Rich text etc) for the user; others provide only limited options of component type.
- Form-builder UI substantially improved
- Data migrated to use standard field names
- Some data fixes:
submission.$doi
now always is a proper DOI like '10.1234/blahblah' rather than 'http://doi.org/10.1234/blahblah', and any abstract that erroneously came in as an array is converted to a single string (see #628).
This partly addresses #1342 (closed), #1290 and #786, #654, #653, #651