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

GUI Notifications: user actions #3221

Open
NShaforostov opened this issue May 3, 2023 · 1 comment
Open

GUI Notifications: user actions #3221

NShaforostov opened this issue May 3, 2023 · 1 comment
Labels
kind/enhancement New feature or request

Comments

@NShaforostov
Copy link
Collaborator

NShaforostov commented May 3, 2023

Background

Since #3015 is implemented, users have the handy form where all users' related notifications are displayed.
Users can view them and manually perform neccessary actions in the Platform based on the information from that notifications - for examlple, to avoid extra spendings on forgotten run and stop it.
As further steps - it would be convenient for users to perform some actions explicitly from the notification - to not perform extra actions.
For example, user received a notification LONG_RUNNING. Currently, the Platform suggests user to open the run logs page, then manually check the run state and solve what to do with it. In this case, it would be useful to have the list of possible user's actions for this run inside the notification - it may be "STOP"/"PAUSE" actions.
Let's add possible actions to notifications where it is possible.

Approach

Notification Possible actions Description
BILLING_QUOTA_EXCEEDING (?) VIEW Open the Billing page for entity (user/billing center/overall) exceeded the quota.
DATASTORAGE_LIFECYCLE_ACTION VIEW
POSTPONE
- Open the path in storage where data transition is scheduled.
- Postpone transition on the predefined number of days.
DATASTORAGE_LIFECYCLE_RESTORE_ACTION VIEW Open the path in storage where data was restored.
FULL_NODE_POOL VIEW Open the "Pools usage" page for the pool.
HIGH_CONSUMED_RESOURCES VIEW Open the run page or a node monitor page
IDLE_RUN VIEW
PAUSE
STOP
- Open the run page.
- Pause run.
- Stop run.
IDLE_RUN_PAUSED VIEW
RESUME
TERMINATE
- Open the run page.
- Resume run.
- Terminate run.
IDLE_RUN_STOPPED VIEW Open the run page.
INACTIVE_USERS -
LDAP_BLOCKED_POSTPONED_USERS -
LDAP_BLOCKED_USERS -
LONG_INIT VIEW
TERMINATE
- Open the run page.
- Terminate run.
LONG_PAUSED VIEW
RESUME
TERMINATE
- Open the run page.
- Resume run.
- Terminate run.
LONG_PAUSED_STOPPED VIEW Open the run page.
LONG_RUNNING VIEW
PAUSE
STOP
- Open the run page.
- Pause run.
- Stop run.
LONG_STATUS VIEW Open the run page.
NEW_ISSUE -
NEW_ISSUE_COMMENT -
PIPELINE_RUN_STATUS VIEW Open the run page.
STORAGE_QUOTA_EXCEEDING (?) VIEW Open the storage page, show attributes panel

Show the following actions under conditions (otherwise, hide them):

  • PAUSE - only if run is On-Demand
  • POSTPONE - only if the current date does not exceed the transfer date
  • STOP - only if run is still running
  • TERMINATE - only if run is still running

Actions shall be shown only at the Notifications page as set of buttons for each notification, e.g.:
image

Other options
A clear and concise description of any alternative solutions or features you've considered.

@NShaforostov NShaforostov added the kind/enhancement New feature or request label May 3, 2023
@mzueva
Copy link
Contributor

mzueva commented May 4, 2023

In order to implement this feature the following changes are required form server side:

  • add additional fields to UserNotification object: NotificationType, EntityClass, EntityId and some additional fields depending on the type
  • mapping of notification to entity:
Notification Entity
BILLING_QUOTA_EXCEEDING Type Quota, fields: id
DATASTORAGE_LIFECYCLE_ACTION Type DataStorage, fields id, ruleId, path
DATASTORAGE_LIFECYCLE_RESTORE_ACTION Type DataStorage, fields id, path
FULL_NODE_POOL Type NodePool, fields: id
HIGH_CONSUMED_RESOURCES Type PipelineRun, fields: id
IDLE_RUN Type PipelineRun, fields: id
IDLE_RUN_PAUSED Type PipelineRun, fields: id
IDLE_RUN_STOPPED Type PipelineRun, fields: id
INACTIVE_USERS -
LDAP_BLOCKED_POSTPONED_USERS -
LDAP_BLOCKED_USERS -
LONG_INIT Type PipelineRun, fields: id
LONG_PAUSED Type PipelineRun, fields: id
LONG_PAUSED_STOPPED Type PipelineRun, fields: id
LONG_RUNNING Type PipelineRun, fields: id
LONG_STATUS Type PipelineRun, fields: id
NEW_ISSUE Type Issue, fields: id
NEW_ISSUE_COMMENT Type Issue, fields: id
PIPELINE_RUN_STATUS Type PipelineRun, fields: id
STORAGE_QUOTA_EXCEEDING Type DataStorage, fields id

rodichenko pushed a commit that referenced this issue May 23, 2023
GUI Issue #3221: Postpone lifecycle rule action
AleksandrGorodetskii added a commit that referenced this issue May 30, 2023
rodichenko pushed a commit that referenced this issue May 30, 2023
#3253)

* GUI Issue #3221: LONG_INIT - chage terminate to stop action. Add BILLING_QUOTA_EXCEEDING actions

* GUI Issue #3221: Remove actions control for issue type notifications
@NShaforostov NShaforostov changed the title [DRAFT] GUI Notifications: user actions GUI Notifications: user actions May 30, 2023
AleksandrGorodetskii added a commit that referenced this issue Jun 2, 2023
rodichenko pushed a commit that referenced this issue Jun 2, 2023
AleksandrGorodetskii added a commit that referenced this issue Jun 6, 2023
GUI Issue #3221: Postpone lifecycle rule action
AleksandrGorodetskii added a commit that referenced this issue Jun 6, 2023
#3253)

* GUI Issue #3221: LONG_INIT - chage terminate to stop action. Add BILLING_QUOTA_EXCEEDING actions

* GUI Issue #3221: Remove actions control for issue type notifications
AleksandrGorodetskii added a commit that referenced this issue Jun 6, 2023
AleksandrGorodetskii added a commit that referenced this issue Jun 6, 2023
GUI 0.16 UAT - notification actions (issue #3221)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants