Open starsinmypockets opened 7 years ago
Prob we should use JSON -schema, but I think some custom types like enum
could be very useful for implementing our dsl
Also, adding a schema should be backwards compatible, we can create implementations that use it, but existing implementations (of dkan metadata as well as dkan-dash implementations) should continue to work
JSON Schema supports enum values or is that not what you were talking about?
@acouch yeah that's perfect
Description
We should define a schema which is attached to the dataset metadata and sent by the Datastore API with each API call. It should look something like this:
On the client side, we will have access to this, and can start to use our type-safety to perform data operations from generic datahandlers - rather than writing custom code
for instance, if our schema defines a field:
accpeptsMedicare
type: bool
we could provide a datahandler definitionpieChartFromBoolField: {fieldName: 'acceptsMedicare'}
which returns the chart.This concept could / should be extended to provide a well-documented DSL that is tightly coupled to the datastore api.
An imaginary dsl could look like:
etc.
*note - these are direct mappings from known API return values (along with metadata such as
type
) and known data formats for chart componentsFurther analysis will be required to capture the useful set of generic dataHandlers
Notes