Difference between revisions of "Storage API"
Jump to navigation
Jump to search
(→Initial Research: More on how Archivematica touches FS) |
(→Initial Research: More categories) |
||
Line 5: | Line 5: | ||
Goal: Look at all the places Archivematica currently accesses the filesystem, and categorize them. | Goal: Look at all the places Archivematica currently accesses the filesystem, and categorize them. | ||
− | + | Categories: | |
* Transfers | * Transfers | ||
− | * | + | * Quarantine |
− | |||
* Backlog transfer | * Backlog transfer | ||
− | * Processing | + | * Currently Processing |
+ | ** Anything initiated by putting files in a watchedDirectory, anything being processed by a MicroServiceChain | ||
** touched everywhere, in all the client scripts, with python and client scripts. | ** touched everywhere, in all the client scripts, with python and client scripts. | ||
** Probably best to keep local | ** Probably best to keep local | ||
− | ** Already set up to be | + | ** Already set up to be move-able with %sharedDirectory% as long as folder structure inside %sharedDirectory% is preserved |
+ | * AIP Storage | ||
+ | ** done in one place: src/MCPClient/lib/clientScripts/storeAIP.py | ||
Ways Archivematica can touch the filesystem: | Ways Archivematica can touch the filesystem: | ||
Line 20: | Line 22: | ||
* python's os module (checking if file/directory exists, create directory, remove file) | * python's os module (checking if file/directory exists, create directory, remove file) | ||
* cp, mv, mkdir, rm, chmod as client Scripts | * cp, mv, mkdir, rm, chmod as client Scripts | ||
− | * dashboard configs (eg. AIP storage location, | + | * dashboard configs (eg. AIP storage location, transfer source) |
+ | ** dashboard.components.main.models.py SourceDirectory, StorageDirectory | ||
* | * | ||
[[Category:Development documentation]] | [[Category:Development documentation]] |
Revision as of 14:13, 4 June 2013
This is the discussion page for the Archivematica Storage API (Issue #5158), requirements, and proposed implementations.
Initial Research
Goal: Look at all the places Archivematica currently accesses the filesystem, and categorize them.
Categories:
- Transfers
- Quarantine
- Backlog transfer
- Currently Processing
- Anything initiated by putting files in a watchedDirectory, anything being processed by a MicroServiceChain
- touched everywhere, in all the client scripts, with python and client scripts.
- Probably best to keep local
- Already set up to be move-able with %sharedDirectory% as long as folder structure inside %sharedDirectory% is preserved
- AIP Storage
- done in one place: src/MCPClient/lib/clientScripts/storeAIP.py
Ways Archivematica can touch the filesystem:
- python's open()
- python's shutil.{move|copy|rm}
- python's os module (checking if file/directory exists, create directory, remove file)
- cp, mv, mkdir, rm, chmod as client Scripts
- dashboard configs (eg. AIP storage location, transfer source)
- dashboard.components.main.models.py SourceDirectory, StorageDirectory