Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Allow users to view and manage PITs from a single place in OpenSearch Dashboards #62

Open
Tracked by #61
shanilpa opened this issue Feb 17, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@shanilpa
Copy link

Context

Is your feature request related to a problem?
Currently, users are able to create Point in Time (PIT) objects via an API. The objects live on the backend and are not usable in OpenSearch Dashboards. Though, these PIT's can be used by OpenSearch they can not be used by Dashboards or it's features. Additionally, it would be nice to provide users with a GUI to manage PITs in Dashboards so that they can take advantages of the affordances provided by this interface.

This initial work would allow users to view PIT objects (backend and dashboard), and provide a path to other flows like PIT creation, viewing PIT object details, editing PITs, and using them in Discover.

Other context notes

  • A Point in Time is a freeze of data at a particular point. This data will yield the same search results and paginate the same way as long as the PIT is alive.
  • PIT objects created on the backend (backend PITs) are not usable in Dashboards until a user makes them available.

What solution would you like

NB: These are design mockups. Some copy is placeholder and not all interactions are polished.
Mockups may differ from the final launched feature.

1. Allow users to view PIT objects in a single place

  • Users are able to view all PIT objects in a single table from a single data source (cluster) at a time.
  • The default cluster is set as the initial filter and users can switch this single select filter to view PITs from another data source if they chose. This was done due to performance issues fetching PITs from multiple clusters.
  • Once a cluster is selected users are able to manually refresh the table to fetch new PITs from the backend.
  • The expiration time counts down in real time. This is done by storing the expiration time on the front-end vs constantly making API calls (this is expensive hence the manual refresh button).
  • The table shows both Dashboard available PITs (PIT names in blue) and backend PITs (ones in black).
  • Users are able to sort the table by creation time or expiration time.

PIT object management table showing PITs
image

PIT object management table empty state
image

PIT object management table loading state
image

PIT object management table failed to load state
image


2. Allow users to enter additional management flows like, PIT details page, creation, configuration, view in discover, add time, and delete

  • Users are able to view the PIT details page by clicking the PIT name, or selecting "Configure PIT" from the contextual menu on the PIT row.
  • Users are able to create a PIT by hitting the "Create PIT" CTA
  • Users are able to access additional flows via the contextual menu in the PIT row. The availability of these actions are dependent on whether the PIT is available to dashboards, and its expiration status.

Backend PIT contextual actions

PIT.actions.Backend.PIT.mp4

PIT available to dashboards contextual actions
image

Add time to PIT modal
image

Add time max_keep_alive_time reached
image

Delete PIT active
image

Delete PIT expired
image


Additional Details

Additional flows not shown but mentioned in this issue:
PIT Creation
PIT Configuration
PIT Object Detail Page
PIT Object Editing

@shanilpa shanilpa added the enhancement New feature or request label Feb 17, 2023
@shanilpa shanilpa changed the title [FEATURE] Allow users to view and manage PIT objects from a single data source [FEATURE] Allow users to view and manage PITs from a single place in OpenSearch Dashboards Feb 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant