Let me summarize on what we are working on right now outside of the dashboardy eye candy
Notifications on paused tasks
Whenever a new task gets into paused state, a notification will be triggered so that the user knows there is something wrong
We are considering 2 kinds of notifications:
the user that triggered the task gets notification about the specific task getting paused, with:
- link to the task itself
- link to troubleshooting docs for this particular task
- any additional link specific for this task - extendable from code
all admins get notification about some paused tasks being currently present in the system that need attention with:
- link to list of all paused tasks
- link to generic tasks troubleshooting page
To avoid high load of notifications in case the system goes south, the admins won’t get new notification on every paused tasks (this might get bad especially when the paused tasks are produced from hosts-related operations).
Instead, if there is an existing unread notification with
There are n paused tasks in the system that need attention, we will update it with
There are n+1 paused tasks in the system that need attention. The timestamp on the notification will be updated, so that this notification goes up in the drawer. So the admin paused tasks notifications will be aggregated.
Once the notification is marked as read, we’re not touching it anymore, but instead, creating a new notification instead
Tasks-related troubleshooting info
In connection to the notifications, we want to be able to provide useful troubleshooting info for the user, including both some textual help, but especially links to the upstream docs.
The idea is:
- there will be a description defined in foreman-tasks, applicable to most of the tasks, that will provide generic troubleshooting text and links
- for specific tasks, it will be possible to extend this text with task-specific info and links from the definition of the task in the plugin that is defining it
- this data will be shown in the task details page in case the task is in paused state
- the links will be used also from the user notifications
We would like the generic description as flexible as possible, so even in there, we will add an anchor into the link, including the label of the task, so that, in case the documentation has an anchor like that, it will lead the user to go there, without need to update the code itself. So for example, for action ‘Actions::Katello::Repository::CapsuleSync’, the help link would be something like (where exactly this page will be is not set yet):
Notifications on stale tasks
For tasks running over expected time, we would like to generate notification as well, to grab admins’ attention to those as well. It will work similarly as the paused ones, with one difference of periodic check for this tasks (while the paused notification will be triggered every time there is new paused task)
Note about system tasks
This will be probably post 1.22, but as Marek mentioned, we would like to mark the specially kind of tasks, such as ListenOnCandlepinEvents, visually, so that people know what to do with those. Not more details on that right now.
Feedback on those welcome. I would like to start pushing this changes upstream next week, so this is the right time for getting your opinions integrated.