Versions Compared

Key

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

...

  • Introduce a new controlled vocabulary 'AlertType'
    • new schema
    • new storage (CRUD) API
    • new business logic (CRUD) API - proxies to storage API
  • Refactor po-line alerts
    • to reference an AlertType
    • have a single free-form text field for capturing context/error information
    • system generated metadata
  • Add new field to composite_purchase_order
    • numAlerts
      • integer
      • default 0
      • derived property - not stored.
  • Update GET /orders/composite-order/<id>
    • calculate numAlerts

Schemas

alert_type

Property

Type

Default

Required

Notes

id
string
NANo

UUID of the AlertType - generated by the system if not provided

namestringNAYesA name for the alert type, e.g. "Failed to open",
descriptionstringNANoAn optional description of the alert type
metadatametadataNANoSystem generated metadata

...

Interface

Method

Path

Request

Response

Description

Notes

order-storage.alert-typesPOST/order-storage/alert-typesalert_typealert_type

Create an alertType


order-storage.alert-typesGET/order-storage/alert-typesCQL Querycollection<alert_type>List/search alertTypes
order-storage.alert-typesGET/order-storage/alert-types/<id>NAalert_typeGet a particular alertType
order-storage.alert-typesPUT/order-storage/alert-types/<id>alert_type204Update an alertType 
order-storage.alert-typesDELETE/order-storage/alert-types/<id>NA204Delete an alertType

JIRA

Feature:

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUXPROD-2327

Stories:

  • TBD

NOTES:

Alerts:

  • AlertType = controlled vocabulary - with system values that are always there (e.g. for "Order failed to open") - need to define these!
  • Context/Error/Alert text = free form text
  • Metadata = system generated

...


...

User Interface

Several requirements related to this work necessitate some UI work:

  • ability to filter - give me orders and lines w/ alerts
    • Populate filter based on:  GET /alert-types?limit=N 
    • GET /orders/composite-orders?query=cql.allRecords=1 NOT alerts ==/respectAccents []
    • GET /orders/order-lines?query=cql.allRecords=1 NOT alerts ==/respectAccents []
    • NOTE:  These queries may change once the order/order-line views are replaced with foreign keys and cross-index subqueries
  • ability to see in order search results that there are N alerts
    • use composite_purchase_order.numAlerts
  • ability to see in order-line search results that there are N alerts
    • use length of alerts array
  • ability to add one or more alerts to a poLine
  • ability to remove an alert - eventually the ability to mark as resolved

Stories:

...

Mock up to be provided by Dennis Bridges

JIRA

  • Jira Legacy
    serverSystem JIRA
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyUXPROD-2327