-
Notifications
You must be signed in to change notification settings - Fork 69
Description
JupyterGIS version
No response
Description
Because our architecture contains a mix of functionality that's generated from the schema (e.g. schema -> types, schema -> RJSF -> dialog) and functionality that bypasses the schema completely (e.g. symbology), and because we don't validate the project files against the schema, we have nothing keeping us honest about updating the schema as we change the shape of the project file.
I think a good starting point might be adding some tests which generate project files and validate them against the schema, and a test that validates all example project files against the schema.
This raises larger architectural concerns. Should we be generating so much code from the schema? Have we chosen the right tooling? Do we need more tooling? Do we need to add more information to the schema to eliminate the need to bypass it for complex menus (e.g. symbology)? Will the schema become difficult to maintain if we do that?