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