Skip to content

fix(dq-dashboard): add Certification filter dropdown to Data Quality dashboard#28085

Open
manerow wants to merge 7 commits into
fix/dq-cert-backendfrom
fix/dq-cert-ui
Open

fix(dq-dashboard): add Certification filter dropdown to Data Quality dashboard#28085
manerow wants to merge 7 commits into
fix/dq-cert-backendfrom
fix/dq-cert-ui

Conversation

@manerow
Copy link
Copy Markdown
Contributor

@manerow manerow commented May 13, 2026

Fixes open-metadata/openmetadata-collate#4080

What was wrong

Two places on the Data Observability dashboard silently lost certified assets:

  1. The global dashboard's Tag filter listed certifications (Gold/Silver/Bronze), but selecting one returned zero coverage — the dashboard was querying the wrong field.
  2. The Data Observability tab on a Certification tag's detail page (e.g. /tag/Certification.Gold) reported zero coverage for the same reason — the page told the dashboard to filter by tags, but certification doesn't live in the tags array.

What this PR changes

  • Adds a dedicated Certification dropdown to the dashboard filter row, sitting next to Tier. It loads Bronze/Silver/Gold from the Certification classification.
  • Stops listing Certification tags inside the generic Tag dropdown — they live in their own filter now, no double-counting.
  • Fixes the Tag detail page: when you visit a Certification tag, the embedded dashboard receives the certification through the correct filter key, so charts actually populate. The Certification filter is hidden on that page since it's already implied by the URL.
  • Adds a Playwright spec to pin the new behavior end-to-end.

Depends on

Scope

  • Targets main and 1.13 only — on 1.12.x the dashboard component lives in the Collate repo (separate PR: open-metadata/openmetadata-collate#4079).
  • The Tag detail page's "Data Observability" tab is a 1.13+ feature, so no equivalent fix is needed for 1.12.x — the broken scenario simply doesn't exist there.

Test plan

Validated against a temp branch combining #28084 + this PR, deployed locally:

  • Playwright yarn playwright:run playwright/e2e/Features/DataQuality/CertificationFilter.spec.ts4/4 passing in ~9s.
  • Certification dropdown appears between Tier and Tag in the filter row.
  • Picking a Certification narrows both the table-index and testCase-index dashboard calls correctly (via certification.tagLabel.tagFQN).
  • Certification tags no longer appear in the generic Tag dropdown.
  • A Certification tag's detail page → Data Observability tab → embedded dashboard correctly reflects certified assets.
  • No regression on existing Tier / Tag / Glossary / Owner filters.

Follow-ups

  • Collate-side equivalent PR for 1.12.x: open-metadata/openmetadata-collate#4079.
  • A separate latent routing bug for Tier on testCase-driven widgets was discovered during this work. Not in scope here; tracked in open-metadata/openmetadata-collate#4086 with fix branch fix/dq-tier-routing.

@manerow manerow requested a review from a team as a code owner May 13, 2026 10:40
@github-actions github-actions Bot added backend safe to test Add this label to run secure Github workflows on PRs labels May 13, 2026
@manerow manerow added UI UI specific issues and removed backend labels May 13, 2026
@manerow manerow self-assigned this May 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 13, 2026

🔴 Playwright Results — 2 failure(s), 15 flaky

✅ 4074 passed · ❌ 2 failed · 🟡 15 flaky · ⏭️ 86 skipped

Shard Passed Failed Flaky Skipped
✅ Shard 1 299 0 0 4
🔴 Shard 2 760 2 7 8
🟡 Shard 3 784 0 2 7
🟡 Shard 4 788 0 2 18
🟡 Shard 5 708 0 1 41
🟡 Shard 6 735 0 3 8

Genuine Failures (failed on all attempts)

Features/DataQuality/CertificationFilter.spec.ts › Certification filter narrows both table- and testCase-index queries via the flat field path (shard 2)
�[31mTest timeout of 60000ms exceeded.�[39m
Features/DataQuality/CertificationFilter.spec.ts › TagPage: Certification detail page routes through certification.tagLabel.tagFQN (shard 2)
�[31mTest timeout of 60000ms exceeded.�[39m
🟡 15 flaky test(s) (passed on retry)
  • Features/BulkEditEntity.spec.ts › Glossary (shard 2, 1 retry)
  • Features/Glossary/GlossaryHierarchy.spec.ts › should cancel move operation (shard 2, 1 retry)
  • Features/Glossary/GlossaryWorkflow.spec.ts › should start term as Draft when glossary has reviewers (shard 2, 2 retries)
  • Features/KnowledgeCenter.spec.ts › Article mentions in description should working for Knowledge Center (shard 2, 1 retry)
  • Features/KnowledgeCenterTextEditor.spec.ts › Rich Text Editor - Text Formatting (shard 2, 1 retry)
  • Features/KnowledgeCenterTextEditor.spec.ts › Rich Text Editor - Text Formatting (shard 2, 1 retry)
  • Features/KnowledgeCenterTextEditor.spec.ts › Rich Text Editor - Text Formatting (shard 2, 1 retry)
  • Features/RTL.spec.ts › Verify Following widget functionality (shard 3, 1 retry)
  • Features/UserProfileOnlineStatus.spec.ts › Should show online status badge on user profile for active users (shard 3, 1 retry)
  • Pages/CustomProperties.spec.ts › Set & Update all CP types on apiCollection (shard 4, 1 retry)
  • Pages/Domains.spec.ts › Domain Rbac (shard 4, 1 retry)
  • Pages/EntityDataConsumer.spec.ts › Tier Add, Update and Remove (shard 5, 1 retry)
  • Pages/Lineage/DataAssetLineage.spec.ts › verify create lineage for entity - Table (shard 6, 1 retry)
  • Pages/Lineage/LineageFilters.spec.ts › Verify lineage schema filter selection (shard 6, 1 retry)
  • Pages/Lineage/PlatformLineage.spec.ts › Verify service platform view (shard 6, 1 retry)

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@manerow manerow changed the base branch from main to fix/dq-cert-backend May 13, 2026 19:12
@gitar-bot
Copy link
Copy Markdown

gitar-bot Bot commented May 13, 2026

Code Review ✅ Approved 1 resolved / 1 findings

Adds a dedicated Certification filter to the Data Quality dashboard and routes tag pages through specific keys to ensure accurate asset coverage. The implementation includes comprehensive Playwright coverage and successfully resolves the certification search filtering issue.

✅ 1 resolved
Bug: handleCertificationSearch progressively narrows options

📄 openmetadata-ui/src/main/resources/ui/src/components/DataQuality/DataQualityDashboard/DataQualityDashboard.component.tsx:438-452
The handleCertificationSearch function filters prev.options (the already-filtered state) instead of filtering from the full original list. If a user types "Go" (filtering down to Gold), then changes to "B" (expecting Bronze), the filter runs against the already-narrowed array that only contains Gold — Bronze will never appear unless the user clears the input entirely.

This is the same pattern used by handleTierSearch, so it's a pre-existing issue copied forward. However, since the Certification dropdown has only 3 tags (Bronze, Silver, Gold), the practical impact is low — the user would need to edit mid-search to trigger it. Still worth fixing for correctness.

Options

Display: compact → Showing less information.

Comment with these commands to change:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@github-actions
Copy link
Copy Markdown
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 62%
62.54% (64772/103558) 43.25% (35282/81562) 46.05% (10385/22547)

@sonarqubecloud
Copy link
Copy Markdown

@manerow manerow force-pushed the fix/dq-cert-backend branch 4 times, most recently from 97b047e to ecc2413 Compare May 16, 2026 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant