Versions Compared

Key

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

...

NOTE: While the orders schemas already have some notion of alerts, they're not being used at - At least they're not exposed by the UI and aren't being populated by FOLIO.  This is an artifact from the very early days of acquisitions.  

...

  • 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

alert

Property

Type

Default

Required

Notes

id
string
NANo

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

alertTypeIdstringNAYesUUID of an alert type 
contextstringNAYesFree form text providing additional context, e.g. an error message
metadatametadataNANoSystem generated metadata

APIs

mod-orders

Interface

Method

Path

Request

Response

Description

Notes

alert-typesPOST/alert-typesalert_typealert_type

Create an alertType

Proxy to storage module.  
alert-typesGET/alert-typesCQL Querycollection<alert_type>List/search alertTypesProxy to storage module.  
alert-typesGET/alert-types/<id>NAalert_typeGet a particular alertTypeProxy to storage module.  
alert-typesPUT/alert-types/<id>alert_type204Update an alertType 
probably only needed to update status
Proxy to storage module.  
alert-typesDELETE/alert-types/<id>NA204Delete an alertTypeProxy to storage module.  

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

...

mod-orders-storage

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

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