We need to do research to determine exactly which changes are needed for extensible state management for Discover profiles, and break down the individual issues for the work. This will give us a better idea of the overall effort, the order of tasks, and which changes are most crucial.
As cited in #242987
Background
Discover currently uses a standard set of interfaces for its state management, but Discover profiles require a more flexible and extensible system in order to customize the state for each experience. For example, the metrics profile needs to persist state such as the current dimension breakdown and value selections when switching between Discover tabs, sharing links, and as part of saved Discover sessions.
Goal
Introduce an extensible state management system allowing Discover profiles to define and manage the following custom state:
- Ephemeral UI state which is restored when switching between initialized Discover tabs (e.g. input values, pagination, and scroll positions).
- Application URL state which is restored after page refreshes, and when copy/pasting the current Discover URL (e.g. dropdown selections and view configs).
- Internal application state which is persisted to local browser storage and restored after page refreshes, and when duplicating/restoring tabs (e.g. larger pieces of state that aren't appropriate for the URL, like chart configs).
- Locator state allowing pieces of the application URL state and internal application state to be embedded in Discover locator URLs (e.g. links generated via the share button or using the locator within Kibana code).
- Saved object state which is persisted to the Discover session saved object and restored whenever the session is opened (e.g. pieces of the application URL state and internal application state that need to be saved).
We need to do research to determine exactly which changes are needed for extensible state management for Discover profiles, and break down the individual issues for the work. This will give us a better idea of the overall effort, the order of tasks, and which changes are most crucial.
As cited in #242987
Background
Discover currently uses a standard set of interfaces for its state management, but Discover profiles require a more flexible and extensible system in order to customize the state for each experience. For example, the metrics profile needs to persist state such as the current dimension breakdown and value selections when switching between Discover tabs, sharing links, and as part of saved Discover sessions.
Goal
Introduce an extensible state management system allowing Discover profiles to define and manage the following custom state: