Fixes 33165: Unify onboarding and intake forms - #33166
Conversation
Share staged field requirements and workflow approvals across data products, domains, glossary terms, and metrics, with persisted progress, pinned configurations, resumable enrollment, and native 2.1.0 migrations. Add the combined builder, guided creation and detail checklists, progress board, recovery controls, and browser coverage for all four entity types.
❌ UI Checkstyle Failed❌ Playwright - Guardrails + ESLint + Prettier + Organise ImportsEither a Playwright test file has linting/formatting issues, or a guardrail check failed: ESLint rule unit tests, a new guardrail violation, a stale suppression entry (its violation was fixed but the baseline was not pruned), a blanket Affected filesSubtest: const a = 'server.entity-fetch-error';\n const b = 'server.entity-fetch-error';\n const c = 'server.entity-fetch-error';not ok 28 - the suppressions baseline matches its recorded state exactly fail 1error Command failed with exit code 1. 🔍 ESLint findings in this PR's files — 0 error(s), 50 warning(s)Errors block the build. Warnings do not yet — they are rules whose backlog is still 0 error(s), 50 warning(s) across 18 changed file(s).
All findings
Fix locally (fast - only checks files changed in this branch): make ui-checkstyle-changed |
Preserve onboarding status handling alongside creation-time certification validation, retain both sets of 2.1.0 migration statements and translations, and regenerate the combined Playwright impact map.
| "move": "Mover", | ||
| "move-anyway": "همچنان جابجا کن", | ||
| "move-down": "انتقال به پایین", | ||
| "move-entity-to-root": "Mover {{entity}} para a raiz", |
There was a problem hiding this comment.
💡 Quality: pr-pr.json: new key translated into Portuguese, not Persian
In the Persian (pr-pr) locale file, the new key move-entity-to-root is given the value "Mover {{entity}} para a raiz", which is Portuguese. The surrounding entries in the same file (e.g. move-anyway: "همچنان جابجا کن", and the other three new keys asset-count, output-port-count, filter-no-matching-terms) are all Persian, so this line will render Portuguese text to Persian users. Replace it with the Persian translation, e.g. "انتقال {{entity}} به ریشه".
Use the Persian translation instead of Portuguese:
"move-entity-to-root": "انتقال {{entity}} به ریشه",
- Apply fix
Check the box to apply the fix or reply for a change | Was this helpful? React with 👍 / 👎
Reuse pinned instances and batch current entities, responsibilities, tasks, workflow definitions, and execution evidence without per-row cache clears. Authorize against the loaded assets and scan bounded batches until a filtered page is full, returning a cursor only when another matching row exists. Add database regressions for sparse catalogs, cursors, permissions, query counts, current domain owners, and board/detail parity across all four asset types and approval, rejection, revision, and workflow failure states.
Preserve the onboarding tables alongside main's 2.1.0 workflow-retention index migrations, and retain onboarding checklists with the updated entity permission and tag components. Use the shared permission derivation for onboarding transitions, cover allowed and denied user actions, and regenerate the Playwright impact map.
Limit each board request to 1,000 candidates, including authorization and lookahead. Return an explicit scan-limit marker and the reached cursor so sparse filters can resume without losing matching assets. Explain incomplete searches in the board and retain pagination, refresh, and filter recovery. Add database regressions for sparse filters, scan boundaries, denied assets, and query bounds, plus component and browser continuation/error journeys. Regenerate the schema models and translate the continuation message.
Code Review 👍 Approved with suggestions 3 resolved / 4 findingsUnifies onboarding and intake forms for Data Products, Domains, Glossary Terms, and Metrics with configuration, guided creation, delegated work, workflow approvals, and progress monitoring. Comprehensive test coverage (101 integration tests per database, 63 UI tests, 77 Java tests) and documentation validate the implementation. One minor issue: the new 💡 Quality: pr-pr.json: new key translated into Portuguese, not Persian📄 openmetadata-ui/src/main/resources/ui/src/locale/languages/pr-pr.json:1760 In the Persian (pr-pr) locale file, the new key Use the Persian translation instead of Portuguese✅ 3 resolved✅ Performance: Onboarding board does N fresh, cache-bypassing reads per page
✅ Edge Case: Board assignee/domain filters applied post-query can return short pages
✅ Performance: Board scan is now unbounded for selective filters
🤖 Prompt for agentsOptionsDisplay: compact → Counting what did not apply, without listing it. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
Describe your changes:
Fixes #33165
Unifies Intake Forms and staged onboarding for Data Products, Domains, Glossary Terms, and Metrics, including configuration, guided creation and completion, delegated work, workflow approvals, and progress monitoring.
Type of change:
High-level design:
Extends the existing IntakeForm schema and repositories with shared gate enforcement, indexed JDBI progress storage, Task V2/Flowable approval bindings, version-pinned configurations, and resumable enrollment; native MySQL/PostgreSQL migrations target 2.1.0, preserving legacy intake payloads and existing In Review/Approved processes.
Tests:
Board scan review validation — September 11
Main merge validation — September 11
origin/mainat95847bcb85; resolved the two native 2.1.0 migrations and Data Product/Metric detail importsUse cases covered
Unit tests
Onboarding*.test.tsx, onboarding utility tests,IntakeFormDesignerModal.test.tsx, creation-form and task-panel regressionsTaskWorkflowLifecycleResolverTest.workflowStartVariablesTolerateNullOptionalFieldsexpectsMediumbut receivesnull, also reproduced with the unchangedorigin/mainresolverOnboardingBoardService; prior coverage 97.41% forOnboardingBoardContextand 100% forOnboardingReadContext; the broader changed-class 90% target remains unmetBackend integration tests
OnboardingBoardResourceIT,OnboardingResourceIT, andIntakeFormResourceIT: 101 passed on MySQL and 101 on PostgreSQL, with zero failures or skips, including native 2.1.0 startup and real Flowable approvalsIngestion integration tests
Playwright (UI) tests
IntakeForm.spec.tsplus eightOnboarding*.spec.tsfiles; 41 additional testsManual testing performed
UI screen recording / screenshots:
Checklist:
CONTRIBUTING.mdand repository guidanceFixes <issue-number>: <short explanation>Fixes #33165