Proposed Digifeeds Process

Overview

flowchart TD A[Folder with Scans] B[Argo Events] C[New item workflow] D[Is item in DB?] E[Has it been added to an Alma set?] F[Add to DB] G[Add to digifeeds set\nAdd status of added_to_digifeeds_set] B --Notices there's a new file--> A B --> C C --> D F --> E D --No --> F D --Yes--> E E --No --> G E --Yes--> U[Skip] L[Daily, Get items where in_zephir is false] --> M[Check zephir for item. Is it there?] M --No -->O[Skip] M --Yes -->P[Add in_zephir status] H[Daily, check the Folder with Scans] --> I[For every barcode,\ndoes it have an in_zephir status?\nAND \nhas it been two weeks since the in_zephir status got created?] I --No --> N[Skip] I --Yes--> J[Add start copying status;\nZip and Copy it to pickup location;\nAdd finished copying status] J --> K[Rename or move item in Folder with Scans;\nAdd pending_deletion status] Q[Monthly or less frequent, Get the digifeeds set] --> R[Does the item have an item call number?] R -- No --> S[Do nothing] R --Yes --> T[Remove from digifeeds set]

Database tables

erDiagram ITEM ||--o{ ITEM_STATUS : has_many ITEM { string barcode } ITEM_STATUS { string item_barcode string status_name date date } STATUS { string name string description } STATUS ||--o{ ITEM_STATUS: has_many

CLI scripts

aim digifeeds check_zephir
aim digifeeds zip_and_move_to_pickup
aim digifeeds add_to_db BARCODE
aim digifeeds purge_digifeeds_alma_set