Publish a v3 Content Management Schema version for dashboards. The schema will be used by both the internal RPC and external Public API for validation. This new schema will focus on ~two~ one primary goal:
1) destringifying the JSON blobs (panelsJSON, optionsJSON, etc) into objects
~2) moving reference injection/extraction to the storage layer~ Moved to #192758
This will introduce a new Content layer that sits between the Persistance layer (saved object) and the public API / internal RPC. To ensure zero downtime the mappings for the persisted saved object will not change. The content layer will be responsible for transforming between the persisted saved object and the API / RPC request/response.
~The Dashboards UI will continue to use existing v2 content management schema. Up and down transform functions will be added to the v2 and v3 schemas to seamlessly provide backwards compatibility between the schema versions.~
~Migrating the Dashboards UI to the v3 schema involves some considerable refactoring and will be accomplished in a follow-up PR.~
2024-09-12 Edit: This has been rescoped a little bit to more quickly introduce a testable feature and reduce complexity. The v3 content management schema will ~not~ handle reference extraction/injection and the Dashboards UI will immediately adopt the v3 schema.
Reference handling by the Dashboards server is moved to a separate effort in #192758.
Publish a v3 Content Management Schema version for dashboards. The schema will be used by both the internal RPC and external Public API for validation. This new schema will focus on ~two~ one primary goal:
1) destringifying the JSON blobs (
panelsJSON
,optionsJSON
, etc) into objects~2) moving reference injection/extraction to the storage layer~ Moved to #192758
This will introduce a new Content layer that sits between the Persistance layer (saved object) and the public API / internal RPC. To ensure zero downtime the mappings for the persisted saved object will not change. The content layer will be responsible for transforming between the persisted saved object and the API / RPC request/response.
~The Dashboards UI will continue to use existing v2 content management schema. Up and down transform functions will be added to the v2 and v3 schemas to seamlessly provide backwards compatibility between the schema versions.~
~Migrating the Dashboards UI to the v3 schema involves some considerable refactoring and will be accomplished in a follow-up PR.~
2024-09-12 Edit: This has been rescoped a little bit to more quickly introduce a testable feature and reduce complexity. The v3 content management schema will ~not~ handle reference extraction/injection and the Dashboards UI will immediately adopt the v3 schema.
Reference handling by the Dashboards server is moved to a separate effort in #192758.