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