feat(homepage): add persona-support in NFS components (RHIDP-14651) - #3700
feat(homepage): add persona-support in NFS components (RHIDP-14651)#3700christoph-jerolimov wants to merge 7 commits into
Conversation
…P-14651) Planning document for integrating homepage-backend persona-based default widgets into the New Frontend System (NFS) components. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Important This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior. Changed Packages
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3700 +/- ##
==========================================
- Coverage 54.30% 54.29% -0.01%
==========================================
Files 2349 2349
Lines 89718 89739 +21
Branches 25119 25126 +7
==========================================
+ Hits 48722 48728 +6
- Misses 40648 40663 +15
Partials 348 348
*This pull request uses carry forward flags. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Revised plan based on codebase exploration: - Share existing useDefaultWidgets hook (switch useApi import) - Remove widgetLayout config from homePageLayoutExtension - Rename NFS widget blueprint names to match config refs - Enable persona Playwright test for NFS mode Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Wire the NFS HomePageLayout to call the homepage-backend for persona-based (user/group/permission-filtered) default widgets, bringing NFS to parity with OFS. Key changes: - Share useDefaultWidgets hook between OFS and NFS (switch useApi import to @backstage/frontend-plugin-api) - HomePageLayout now fetches and merges backend defaults with extension-provided widgets, with graceful fallback - Remove widgetLayout config from homePageLayoutExtension (layout data now comes from the backend) - Rename NFS widget blueprint names to match config ref values - Refactor catalogStarredWidget to standalone blueprint - Enable persona Playwright e2e test for NFS mode Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…romium Fix widget name resolution in HomePageLayout: use node.spec.id (the extension ID from the NFS app tree) instead of widget.name (which is the display name) when matching backend default widget refs to NFS widgets. Also switch Playwright config from chrome channel to chromium for local test compatibility. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PR Summary by QodoAdd persona-based default widgets support to NFS homepage layout
AI Description
Diagram
High-Level Assessment
Files changed (9)
|
Code Review by Qodo
Context used 1.
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Address Qodo review findings: - Apply defaultWidget.props via cloneElement for per-instance config - Use defaultWidget.id as widget name for unique keys (multi-instance) - Update README: correct NFS widget extension IDs, remove widgetLayout docs, document persona-based defaults from homepage-backend Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
This PR has been automatically marked as stale because it has not had recent activity from the author. It will be closed if no further activity occurs. If the PR was closed and you want it re-opened, let us know and we'll re-open the PR so that you can continue the contribution! |



Summary
homepage-backendfor persona-based defaultsJira
Approach
useDefaultWidgetshook that calls the existingdefaultWidgetsApiRef(already registered in NFS)HomePageLayoutto fetch and merge backend-driven persona defaults with extension-provided widgetsSee
workspaces/homepage/plugins/homepage/RHIDP-14651-plan.mdfor the detailed implementation plan.Test plan
useDefaultWidgetsNFS hookHomePageLayoutwith backend defaults🤖 Generated with Claude Code