Resolution: Won't Do
Affects Version/s: DC/OS 1.13
Fix Version/s: None
AC: Decide how to store and retrieve jobs form JSON schema.
- Store on client
- Retrieve from metronome service
- JSON schema in its current form has some elements that are incompatible with react-jsonschema-form
- additionalProperties (used with labels) and patternProperties (used with env and secrets) are not supported
- UCR, docker: neither are required but both have nested fields that are required if selected (currently the form schema bubbles this up to make them both required)
- UCR, docker: only one of these options can be selected but that is not indicated by the JSON schema
- Could make docker, ucr radio buttons and if selected, their respective detail fields are shown using https://github.com/mozilla-services/react-jsonschema-form#schema-dependencies specifically dynamic dependencies https://github.com/mozilla-services/react-jsonschema-form#dynamic
- JSON schema is not structured by tab like the schema we receive for the Framework form is
- Translation of form fields needs to be considered
These constraints mean that the schema will have to be modified either directly or by the client. Storing on the client would give greater flexibility for structuring the schema in a way that suits the UI and would make translation easier, but comes at the cost of potentially not having the latest schema details from metronome.