fitzee opened a new pull request, #43633: URL: https://github.com/apache/superset/pull/43633
### SUMMARY The reported recording does not certify the dataset: it opens the Metrics tab and fills the certification fields for a metric. Dataset-level certification is stored separately in `SqlaTable.extra.certification`. The dataset list already receives `extra` from the combined datasource API and renders `CertifiedBadge` when that dataset-level key is present. The user-facing gap is that metric and column certification have dedicated fields, while certifying the dataset itself requires hand-editing raw Extra JSON. This makes the two scopes easy to confuse and leaves a valid list renderer with no dataset-level value to display. This change adds an explicit **Certification** section to Edit Dataset → Settings. The fields read and write the existing `extra.certification` contract, so no model/API/migration change is needed. Updates merge with custom Extra keys and warning metadata, clearing the fields removes only certification, and malformed Extra JSON is never overwritten. Shortcut: https://app.shortcut.com/preset/story/115268 ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF **Before:** Dataset certification was available only by entering the nested certification object in the raw Extra JSON field. The visible certification fields under Metrics/Columns certified only that child item. **After:** Edit Dataset → Settings has dedicated dataset-level “Certified by” and “Certification details” fields. Saving them produces the dataset-level metadata that the existing Datasets list badge consumes. ### TESTING INSTRUCTIONS Automated: ```bash cd superset-frontend npx jest --runInBand --silent \ src/components/Datasource/components/DatasourceEditor/tests/datasetCertification.test.ts \ src/components/Datasource/DatasourceModal/DatasourceModal.test.tsx # 2 suites, 21 tests passed npx jest --runInBand --silent \ src/pages/DatasetList/DatasetList.behavior.test.tsx \ -t 'certified dataset shows badge' # 1 passed pre-commit run # all applicable hooks passed, including frontend formatting, lint, custom rules, # stylelint, and targeted TypeScript checking ``` Manual: 1. Open Data → Datasets and edit an SQLAlchemy dataset. 2. Open Settings and fill “Certified by” and “Certification details”. 3. Save, return to the dataset list, and confirm the certified badge and tooltip appear beside the dataset name. 4. Reopen Settings and confirm both values are populated. 5. Confirm unrelated Extra JSON keys and `warning_markdown` remain intact. ### ADDITIONAL INFORMATION - [x] Has associated issue: [SC-115268](https://app.shortcut.com/preset/story/115268) - [ ] Required feature flags: - [x] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
