Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • supported Notification Channels in their preferred order,
  • one or more Notification Endpoints matching supported Notification Channels:
    • An e-mail address for receipt of related Notifications,
    • A phone number for receipt of Notifications for mobile devices.

...

  • Internal Notifications
    • Notify the recipient of the Notification in JOC Cockpit provided that an active session exists in JOC Cockpit for the recipient.
  • External Notifications
    • Send e-mail to the recipient.
    • Send SMS messages to a mobile device by e-mail using an SMS Gateway Provider that accepts e-mail which is converted to SMS messages and is forwarded to the recipient.
      • SMS Gateways are commercial services offered at low cost from a vast number or providers such as Twilio, Telnyx, Bird etc.
    • Send WhatsApp messages to a mobile device using https://developers.facebook.com/docs/whatsapp/cloud-api/.
      • The Facebook Cloud API requires prior registration.
      • Consider that use of 3rd-party APIs and Services for sending WhatsApp messages is illegal. Use of the Facebook Cloud API only is legitimate.
    • Send Signal messages to a mobile device using https://github.com/signalapp/libsignal

...

Notification Channels that require internet access, for example use of WhatsApp messages or Signal messagesmessages sent to mobile devices, make use of the JS7 Notification Service. The service is operated from a component on a separate machine with internet access.

  • JOC Cockpit can access the service JS7 Notification Service to send and to receive Notifications. The JS7 Notification Service does not establish a connection to JOC Cockpit.
    • Connections are established using mutual TLS authentication between JOC Cockpit (client) and the JS7 Notification Service (server).
  • The JS7 Notification Service offers a REST API to send Notifications and to receive Notifications.

...

Operators and Approvers are managed by from groups:

  • Operators are members in a given JS7 role. A number of JS7 roles can be assigned an Operator Groupused to populate an Operator Group: Operators are chosen from a given role and are added to the group in specific ordering.
    • This implies that user accounts that are not members in a given JS7 role cannot create Approval Requests.
    • This implies that user accounts that are not members in a given JS7 role cannot perform Approval.
    • Any user accounts are individually added to an Operator Group or Approver Group. Role assignment to groups remains in place and is checked at run-time for a user account.
  • Approvers are members in a given JS7 role. A number of JS7 roles can be used to populate an Approver Group: Approvers are chose from a given role and are added to the group in specific ordering.
    • The same applies for role membership and role assignment as for Operators.

More than one Operator Group and Approver Group can be

...

created. Each group is assigned matching folder permissions. The relation of folder permissions, Operator Group and Approver Group is persisted.

The following applies to the mapping of approval requests roles to rolesApproval Requests:

  • Any member of an Operator Group can prompt an Approver who is a member of the matching Approver Group for confirmation of an intervention.
    • An Operator can specify the preferred Approver (identified from the Approver's account) for a given approval requestApproval Request.
  • Any member of an Approver Group matching the requesting Operator Group can handle approval requests initiated by any OperatorApproval Requests.
    • The preferred Approver specified by the Operator for an approval request Approval Request is contacted first.
    • If the preferred Approver does not respond to the request Approval Request within a configurable period, then the next Approver in the Approver Group will be notified.

...

  • The Operator is prevented from directly performing an intervention. Instead, a Notification is created for the requested intervention that is sent to an Approver.

  • Fail-over and switch-over of JOC Cockpit must be supported.

  • Prompts for approval Approval Requests are persisted, and the list of pending prompts requests is available in JOC Cockpit, allowing Operators to cancel and to confirm prompts for approvalApproval Requests.

Anchor
approver_connected_joc_cockpit
approver_connected_joc_cockpit
Approver connected to JOC Cockpit

  • An Approver who is connected to JOC Cockpit from an active session receives an Internal Notification within JOC Cockpit for pending approvalsApproval Requests. The Notification explains affected objects and the type of intervention.

    • The Approver confirms/denies the intervention in JOC Cockpit.
  • If an Approver connected to JOC Cockpit from an active session does not respond to the Internal Notification within a configurable period, for example 5 minutes, then the process applies as explained from chapter Approver external not connected to JOC Cockpit.

Anchor
approver_not_connected_joc_cockpit
approver_not_connected_joc_cockpit
Approver not connected to JOC Cockpit

If an Operator prompts for confirmation of an intervention and the Approver is not connected to JOC Cockpit from an active session or does not respond to a JOC Cockpit Internal Notification, then the Approver will be notified externally.

The approval process Approval Process is supported by an external OIDC Identity Provider allowing to connect to JOC Cockpit and to approve the intervention. Any approval is performed inside JOC Cockpit.

Capabilities

Prompt Notification

...

When an Operator prompts an Approver to confirm an intervention, then the Approver receives an Internal and/or External Notification. If an Approver confirms or denies an Approval Request, then the Operator receives an Internal and/or External Notification.

...