[DRAFT] Card Printing

Context

LoC patron registration workflow: The patron completes the pre-registration form online; pre-registration patron data is processed and stored in the FOLIO (https://folio-org.atlassian.net/browse/UXPROD-4663 ); patron visits the LoC in person to complete the registration process; library staff verifies the patron's identity, updates registration data, captures photos, and issues the library card.

The current feature aims to integrate badge printers FOLIO and enable the capability print a library card.

Requirements

Functional Requirements

https://folio-org.atlassian.net/browse/UXPROD-4723

Non-functional Requirements

  1. Interoperability - The solution should allow seamless integration with Card Printing Hardware/Software

  2. Auditability - The solution should provide capability of tracking what patron data was exported for printing by whom and when.

Assumptions

  1. LoC uses Windows-based workstations at registration desks

  2. LoC uses ZC100 Card Printer for printing cards and its native software (Zebra CardStudio)

  3. The target solution may be implemented with the intermediate manual flow-based solution

Target Architecture

Context Diagram

FOLIO is a web based application and the UI is provided through web browser. This is limiting capability of interaction with hardware. The solution addressse interoperability NFR through implementation of desktop application that would provide middleware capability for synchronization of data between FOLIO and printing hardware.

Container Diagram

FOLIO should provide :

  1. API to export data for printing in Excel format and related profile pictures

  2. API to update patron’s record with print date and related details

  3. Capability to track what patron data was exported for printing by whom and when.

Middleware should provide:

  1. Capability to run on desktop machine in Windows-based OS

  2. Capability to authorize requests to FOLIO

  3. Capability to sync data with FOLIO for print details

Sequence Diagram

The key aspects:

  1. Middleware is desktop application (windows service) that is aimed to synchronize local data for printing patron cards with FOLIO

  2. User should be logged in his LC desktop and authorize Middleware to fetch the data from FOLIO

  3. The export of newly created records should happen in background without interaction

  4. User should be able to manually invoke synchronization with FOLIO

MVP

MVP for card printing excludes the middleware software system and implies that steps to refresh data from FOLIO to a Card Print system should be done manually by Librarians.

Sequence Diagram

Questions