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

Add diagrams for integration with Notifications plugin #75

Merged
merged 2 commits into from
Jun 8, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions docs/NotificationPluginIntegration.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@startuml

package "Reporting Plugins" {
component [Reporting Dashboards] as rd
component [Reporting OpenSearch] as ros
component [Reporting Index] as ri
component [Reporting JobScheduler] as rjs
rd --> ros : CRUD operations on Report \n instances and Report Definitions
ros --> ri : Document Index operations
ros --> rjs : Initialize SPI
rjs --> ri : Listen for updates
rjs --> ros : executeJob callback
}

package "Notification Plugins" {
component [Notifications Dashboards] as nd
component [Notifications OpenSearch] as nos
component [Notifications SPI] as nspi
nd --> nos : CRUD operations on \n notification configurations
nos --> nspi : Send notification operations
}

ros -> nos : SendNotification Request
rd --> nos : GetNotificationFeatureChannelList

@enduml
79 changes: 79 additions & 0 deletions docs/NotificationPluginInteraction.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
@startuml

actor "UI" as ui
participant "Reporting Dashboards" as rd
participant "Reporting OpenSearch" as ros
participant "Reporting JobScheduler" as rjs
participant "Notifications OpenSearch Plugin" as nos

activate rjs

group Schedule Report
activate ui
ui -> rd : Create/update Report Definitions UX info
activate rd
rd -> nos : GetNotificationFeatureChannelList
activate nos
nos --> rd : GetNotificationFeatureChannelList response
deactivate nos
rd --> ui : UX info with Available Channel list for reporting feature
deactivate rd
ui -> rd : save Report Definition
activate rd
rd -> ros : save Report Definition
activate ros
ros --> rd : Report Definition saved
deactivate ros
rd --> ui : Report Definition saved
deactivate rd
deactivate ui
end

group Job scheduler invokes executeJob
rjs -> ros : executeJob
activate ros
ros -> ros : create Report Instance
activate ros
deactivate ros
ros -> ros : create notification message
activate ros
deactivate ros
ros -> nos : Send notification
activate nos
nos --> ros : Send notification response
deactivate nos
ros -> ros : Update report instance with status
activate ros
deactivate ros
deactivate ros
end

group on-demand executeJob
activate ui
ui -> rd : Create on-demand Report
activate rd
rd -> ros : Create on-demand Report
activate ros
ros -> ros : create Report Instance
activate ros
deactivate ros
ros -> ros : create notification message
activate ros
deactivate ros
ros -> nos : Send notification
activate nos
nos --> ros : Send notification response
deactivate nos
ros -> ros : Update report instance with status
activate ros
deactivate ros
ros --> rd : Create on-demand Report response
deactivate ros
rd --> ui : Create on-demand Report response
deactivate
deactivate ui
end

deactivate rjs

@enduml