Skip to end of banner
Go to start of banner

Remote storages integration

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

JIRA FeatureUXPROD-2696
ArchitectMikhail Fokanov
Development TeamFirebird
Dev LeadSlava Khandramai
PO

Stephanie Buck

Page statusDraft
Module involvedDev LeadReview
Inventory-storage
Remote Storage
Dematic Edge

Viachaslau Khandramai (Deactivated)
or Dematic external team



High-level architecture



Note: Accession queue, accession table and remote location settings are 3 tables in Postgres database (in the corresponding schema for tenant).

Remote-storage related business logic

Inventory-storage module

  • The module should send messages (hereinafter update notifications) on every update/create/delete to the corresponding Kafka topic (e.g. instance-updates, holding-updates, item-updates)

Remote-Storage module

  • The module should be used for storing and retrieving all remote-storages settings
  • The module should be used to set remote-storage for the location from UI. This info should be stored in Locations table in remote-storage DB schema
  • There module has access to the Accession queue table in the same DB schema
  • The module subscribes for holding/items update notifications. If permanent or temporary location is changed from the one which is not marked as Remote (e.g. doesn't exist in Locations table) to the one which is marked as remote and corresponding remote-storage accession setting is set to "Folio-initiated", this item/holding is added to the Accession queue

  • The module should provide API for adapter modules, namely:
    • The REST method to retrieve items for accession list by: flag isAccessioned, remote-storage name, date, limit.
    • The REST method to set flag isAccessioned to true
    • The REST method to retrieve configuration of the remote storage (e.g. name, URL, etc.)

Note: In order to increase performance remote-storage settings and remote-storage locations could be cached. If there is one instance of module the cache eviction can be simply managed (as all updates are done through this module). If there are several instances of module cache eviction can be managed by some some eviction policy or the cache could be made distributed.

Dematic edge module 

  • Module will have connection to remote-storage module API
  • The module should send items to Dematic (for Dematic Staging director) based on schedule or time interval, which is configured in remote-storage settings
  • The module should response with the list of items (for Dematic EMS)
  • No labels