Difference between revisions of "Storage API"

From Archivematica
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.
  
Likely Categories:
+
Categories:
 
* Transfers                                                                                                                                                                                       
 
* Transfers                                                                                                                                                                                       
* AIP Storage
+
* Quarantine
** done in one place: src/MCPClient/lib/clientScripts/storeAIP.py
 
 
* 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 moved with %sharedDirectory% as long as folder structure inside %sharedDirectory% is preserved
+
** 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, tranasfer source) javascript
+
* dashboard configs (eg. AIP storage location, transfer source)
 +
** dashboard.components.main.models.py SourceDirectory, StorageDirectory
 
*  
 
*  
  
  
 
[[Category:Development documentation]]
 
[[Category:Development documentation]]

Revision as of 15: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