Target releaseRelease name or number
Epic
Document status
Document owner

Unknown User (rmoran)

DesignerUnknown User (rmoran)
DevelopersLead developer
QALead tester

Goals

Expand NiFi bulletin functionality to inform users about all flow related matters and improve general communication through more immediate feedback on actions they perform.

Background and strategic fit

1 

Assumptions

Requirements

#TitleUser StoryImportanceNotes
1Short identifier for the storyDescribe the user and what they are trying to achieveMust Have
  • Additional considerations or noteworthy references (links, issues)
2    

User interaction and design

Introduce an enhanced system called Notifications that will provide:

Changes to UI elements under proposed solution:

Current ElementReplace With

"Bulletin" (term and icon)

Notification

"Bulletin Board" (menu option)Notifications
"Bulletin Level" (configuration label)Notification Level

A user will receive notifications and interact with them in one of three ways. This will depend on an importance level assigned to all notifications.

Importance levels detail:

Importance LevelUI BehaviorRequired User Interaction
Low
  • Notification icon highlights
  • Notification count updates
None
High
  • Notification icon highlights
  • Notification count updates
  • Prominent message appears on screen for ~3s
None
Critical
  • Notification icon highlights
  • Notification count updates
  • Prominent message appears on screen
Message requires user acknowledgement to remove
(e.g., "Dismiss", "View details," "Check configuration", etc.)

Importance levels will not be configured by the user. They will be programmatically set to prescribe a way for users to be informed of and interact with a specific notification.

The current Bulletin Level setting – to change to Notification Level under the proposal – consisting of debug, info, warn, and error will map to an importance level. This way, users will remain in control of what system/component-level notifications are emitted.

Examples of how notification levels would map to an importance level:

Notification LevelImportance LevelUsability Notes
DebugLowNot necessary to interrupt user's workflow
InfoLowNot necessary to interrupt user's workflow
WarnHighUseful to immediately inform via on-screen message, but allows user to continue working at their discretion
ErrorCriticalReserve for serious conditions when immediate attention is necessary to maintain data flow health


2
 

Example Use Cases

  1. A new flow or component version is available (upgrade)
  2. A flow version has been removed or tagged as obsolete
  3. Registry connection status interrupted
  4. Expensive framework tasks 3
  5. Remote port connection status changes
  6. Backpressure engagement on connections
  7. Penalized flowfiles in a queue 4
  8. Startup errors 5
  9. Disk/repository space issues
  10. Cluster status changes
  11. When other users make changes to a flow
  12. Notify user when other systems/integrations affect NiFi
  13. New or updated schema available

3 

4 

5 

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
Should NiFi maintain a history of all notifications independent of the standard 5m window? To what level of detail?
Some possible options:
  • User configurable time window (to see notifications via the UI)
  • Write to a separate rolling log
Communicate the decision reached

Not Doing