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

[RAM] [META] Make rules list and rule event log list shareable #129932

Closed
JiaweiWu opened this issue Apr 11, 2022 · 6 comments · Fixed by #132437
Closed

[RAM] [META] Make rules list and rule event log list shareable #129932

JiaweiWu opened this issue Apr 11, 2022 · 6 comments · Fixed by #132437
Assignees
Labels
Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) v8.3.0

Comments

@JiaweiWu
Copy link
Contributor

JiaweiWu commented Apr 11, 2022

We would like to make the rules list and rule summary components in the triggers_actions_ui plugin shareable. This means determining what parts of the component we would like to promote to props, so they can be customized, also determining what parts of the component API we would like to keep in triggers_actions_ui.

This will also result in a smaller bundle size for the triggers_actions_ui plugin, which would be nice 🙂

Note:

  • To ensure proper functionality, we will add functional testing that specifically tests the components above being embedded in other plugins.

After the kick off meeting with @mgiota, here are something that we decided to start with:

Rule List:

Some things that we want to parameterize and promote to props:

  • Columns: The ability to set visible columns and add new columns. We want to keep the cell contents (enablement tag with snooze, for example) since these are meant to be reused.
  • Actions: Mute/Delete/Edit and the right dropdown menu.
  • Pagination: The ability to change page size options.
  • Search bar: Need to determine if we want this to be a separate component (leaning towards yes), we also want to add a trigger actions filter.
  • Bulk actions: Need to figure out a good way to do this expose this if we decide to have the search bar as a separate component since the search bar is where the bulk actions are located.
  • Auto refresh: https://elastic.github.io/eui/#/forms/auto-refresh#auto-refresh-button
  • Edit flyout: Will continue to use triggers actions UI flyout, need to think about how to expose this
  • Delete modal

Rule summary:

To be determined, most likely we will need to share every element that is currently displayed in the rule summaries page, including the new event log lists. @mgiota will have a meeting with her product owner to determine what is needed.

Other components

  • NoPermissionPrompt
  • EmptyPrompt
  • CenterJustifiedSpinner
@JiaweiWu JiaweiWu added Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) v8.3.0 labels Apr 11, 2022
@JiaweiWu JiaweiWu self-assigned this Apr 11, 2022
@elasticmachine
Copy link
Contributor

Pinging @elastic/response-ops (Team:ResponseOps)

@mgiota
Copy link
Contributor

mgiota commented Apr 12, 2022

@JiaweiWu We talked with the team and here are our primary goals for 8.3:

  • Finalize missing functionality in the rules list page (snooze status, tags and filter by status and tags). Due to lack of resources we (observability) need to focus on making only the needed components of the rules list page shareable and do the rest rules list refactoring on a later release. Reusing your current rule status dropdown with the new snooze functionality and adding some status filtering is our biggest priority for now. Regarding the tags that I mentioned, I see you already have this in your Rule list page, so I could expose it as a component from your plugin to be able to reuse it. Filtering by tags in not implemented in your page, so we could build it in the triggers_actions_ui plugin and you could reuse it, if you need to.
  • Deliver an Observability Rules Details page. Here's our Epic Rule details page - Phase 1 #129777. We can start making your current components shareable (for example ExecutionDurationChart, Execution History, Event Log), so that we can easily reuse them

We can move on with creating subtickets. For 8.3 observability folks can start working on the prioritized items I mentioned (status, tags, filtering per status, filtering per tags and rule details page components) and of course we can support you in the review process of the remaining stuff in the rules list page.

cc @vinaychandrasekhar @emma-raffenne @simianhacker

@fkanout
Copy link
Contributor

fkanout commented Apr 14, 2022

Hi @JiaweiWu, Thank you very much for your effort in making all these components shareable!!

As you can see, I mentioned #130126 here as the Rule details page requires three components to be sharable:
1- Execution history table
2- Alerts table Should use the one we already have in o11y Alerts table?
Update: I just found #125977 that exposes a shared Alerts table.

3- Trigger actions (I believe this is the same one that @mgiota needs for the Rule list page snooze status)

Do you think you could add the components I mentioned to your ongoing effort? If feasible, please tell me if I can help with anything to ease the task.

I don't know the complexity/issue size to make a given component sharable. But our team AO relay heavily on the requested changes for v8.3, so please feel to reach out to coordinate our efforts and make these changes happen.

cc @emma-raffenne @simianhacker

@gmmorris
Copy link
Contributor

@JiaweiWu @XavierM - In the Simplified Protections Management meeting a requirement came up for Security Solution.

They were wondering if we were able to make the SearchBar in our sharable Rules List an independently sharable component that they could consume without needing to consume our Rules Table (yet, at least).

What are your thoughts? Is this doable as part of this issue without adding much effort? Or should I file a follow up issue?

cc @banderror @peluja1012 @spong @jethr0null

@JiaweiWu
Copy link
Contributor Author

@fkanout Yes for sure, those components are accounted for in our efforts to make the rule summary shareable, we can discuss further to create individual tasks.

@gmmorris I agree with you there, actually @mgiota expressed the same opinion for having the searchbar as a separate entity that is detached from the rules table. Personally I think it's quite doable and shouldn't really add too much complexity overall.

@mgiota
Copy link
Contributor

mgiota commented Apr 15, 2022

3- Trigger actions (I believe this is the same one that @mgiota needs for the Rule list page snooze status)

@fkanout Regarding Trigger actions I tested out the PR @Zacqary has in Review and it works like a charm (with one small addition I had to do). You can have a look at my comment here #130205 (comment) to get an idea of how you can reuse the shareable StatusDropdown in Rules Detail page as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) v8.3.0
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

5 participants