Add support for driver deprecation (#17028)
# Backend changes Introducing new `superseded-by` property to plugin manifest YAML, which will indicate the driver that is to eventually replace this one (and will drive UI/UX behavior). If a driver declares this property, then it's considered to be deprecated in favor of the specified one. Adding top level `test_modules` directory (with the same structure as modules) for the sole purpose of module/plugin testing of YAML files, which will not be included with the driver build Updating `driver-plugin-manifest` to look for the new `test_modules` directory in addition to `modules`, when loading the driver manifest # Frontend changes Calculate `supersededBy` and supersedes maps from the "superseded-by" property for each engine Change the options for the engine field to use a function to dynamically show the legacy driver if allowed by rules (either the new driver is selected, or the legacy driver was already selected for an existing DB, or the dri...
Showing
- frontend/src/metabase/admin/databases/containers/DatabaseEditApp.jsx 10 additions, 4 deletions...c/metabase/admin/databases/containers/DatabaseEditApp.jsx
- frontend/src/metabase/components/DriverWarning/DriverWarning.jsx 97 additions, 0 deletions...d/src/metabase/components/DriverWarning/DriverWarning.jsx
- frontend/src/metabase/components/DriverWarning/DriverWarning.styled.js 17 additions, 0 deletions...metabase/components/DriverWarning/DriverWarning.styled.js
- frontend/src/metabase/components/DriverWarning/index.js 1 addition, 0 deletionsfrontend/src/metabase/components/DriverWarning/index.js
- frontend/src/metabase/entities/databases/forms.js 42 additions, 2 deletionsfrontend/src/metabase/entities/databases/forms.js
- frontend/src/metabase/setup/components/Setup.jsx 6 additions, 0 deletionsfrontend/src/metabase/setup/components/Setup.jsx
- src/metabase/driver.clj 16 additions, 0 deletionssrc/metabase/driver.clj
- src/metabase/driver/util.clj 2 additions, 1 deletionsrc/metabase/driver/util.clj
- src/metabase/plugins/initialize.clj 1 addition, 1 deletionsrc/metabase/plugins/initialize.clj
- src/metabase/plugins/lazy_loaded_driver.clj 3 additions, 1 deletionsrc/metabase/plugins/lazy_loaded_driver.clj
- test/metabase/driver/driver_deprecation_test_legacy.clj 5 additions, 0 deletionstest/metabase/driver/driver_deprecation_test_legacy.clj
- test/metabase/driver/driver_deprecation_test_new.clj 5 additions, 0 deletionstest/metabase/driver/driver_deprecation_test_new.clj
- test/metabase/plugins/driver_deprecation_test.clj 13 additions, 0 deletionstest/metabase/plugins/driver_deprecation_test.clj
- test/metabase/test/data/driver_deprecation_test_legacy.clj 5 additions, 0 deletionstest/metabase/test/data/driver_deprecation_test_legacy.clj
- test/metabase/test/data/driver_deprecation_test_new.clj 5 additions, 0 deletionstest/metabase/test/data/driver_deprecation_test_new.clj
- test/metabase/test/initialize/plugins.clj 17 additions, 4 deletionstest/metabase/test/initialize/plugins.clj
- test_modules/drivers/driver-deprecation-test-legacy/resources/metabase-plugin.yaml 16 additions, 0 deletions...er-deprecation-test-legacy/resources/metabase-plugin.yaml
- test_modules/drivers/driver-deprecation-test-new/resources/metabase-plugin.yaml 15 additions, 0 deletions...river-deprecation-test-new/resources/metabase-plugin.yaml
Loading
Please register or sign in to comment