dotCMS / core

Headless/Hybrid Content Management System for Enterprises
http://dotcms.com
Other
845 stars 465 forks source link

core: Improve Global UI Synchronization with state management #29741

Open fmontes opened 3 weeks ago

fmontes commented 3 weeks ago

Problem Statement

The global UI synchronization in dotCMS is inconsistent and causes issues such as the site selector getting lost and the lack of user preference storage for navigation group status.

User Story

  1. As a dotCMS developer, I want to implement a robust state management system using @ngrx/signal store for the backoffice UI, so I can improve performance, maintainability, and user experience.

  2. As a dotCMS user, I want a more responsive and consistent backoffice UI experience, so I can work more efficiently and with fewer interruptions or synchronization issues.

Steps to Reproduce

  1. Site selector gets lost all the time
  2. Can't update global breadcrumb with ease
  3. If refreshed, the position in the navigation is lost.

Questions we need to answer

[!WARNING]
We need spikes for sure.

  1. What to do with the configuration service?
  2. Can we include the feature flag service?
  3. What other "global" stuff we need to inclide? ema?

Acceptance Criteria

Assumptions & Initiation Needs

Quality Assurance Notes & Workarounds

Sub-Tasks & Estimates

fmontes commented 3 weeks ago

@KevinDavilaDotCMS The properties are getting updated on master. Should we open a separate issue from the breadcrumbs? That's not Edit Page specify

https://github.com/dotCMS/core/assets/72418962/16f79817-b74f-417a-a3d3-841bcadc380e

Originally posted by @rjvelazco in https://github.com/dotCMS/core/issues/28398#issuecomment-2127901201