Storage API

From Archivematica
Revision as of 15:13, 4 June 2013 by Hbecker (talk | contribs) (→‎Initial Research: More categories)
Jump to navigation Jump to search

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