-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
json formsTickets involved in producing a JSONForms UI from the plan schemasTickets involved in producing a JSONForms UI from the plan schemasrest apiPotential REST API changesPotential REST API changes
Milestone
Description
See the following example JSON snippet from the /plans endpoint:
{
"name": "count",
"description": "Reads from a number of devices.\n Wraps bluesky.plans.count(det, num, delay, md=metadata) exposing only serializable\n parameters and metadata.",
"parameter_schema": {
"additionalProperties": false,
"properties": {
"detectors": {
"items": {
"enum": [
"sample_stage",
"sample_det",
"oav",
"synchrotron",
"panda"
],
"type": "bluesky.protocols.Readable"
},
"title": "Detectors",
"type": "array",
"uniqueItems": true
},
...The detector type is listed as "bluesky.protocols.Readable", JSONForms does not seem to be compatible with arbitrary types in this way. See the following error:
Uncaught Error: schema is invalid: data/properties/detectors/items/type must be equal to one of the allowed values, data/properties/detectors/items/type must be array, data/properties/detectors/items/type must match a schema in anyOf, data/properties/detectors/items must be array, data/properties/detectors/items must match a schema in anyOf
When I change the type to "string" I get a form rendered.
@tpoliaw suggested moving the bluesky type to a non-standard field in #522, which may be a good idea given that the current state of affairs requires special casing in any clients.
Acceptance Criteria
- Clients reading plan schemas do not need insider knowledge to determine device parameter types
Metadata
Metadata
Assignees
Labels
json formsTickets involved in producing a JSONForms UI from the plan schemasTickets involved in producing a JSONForms UI from the plan schemasrest apiPotential REST API changesPotential REST API changes