archivematica-architectural-decisions

Unification of METS creation

Note: this record uses a different structure based on Michael Nygard’s blog post.

Context

Technological forces

Project forces

Political forces

Decision

We will use metsrw to create and modify METS files—including pointer files—in all future code. We will not rewrite existing METS creation code to use metsrw unless a clear opportunity arises to do so, e.g., direct funding for this purpose or a project that requires non-trivial changes to such code.

In the AIP Mirror project, metsrw will be used to create METS pointer files, both when AIPs are stored and when they are replicated. This will involve removing the Create Pointer File micro-service in AM and calling a create_pointer_file method of Package at the end of AIP storage, reingest and replication.

Status

Proposed.

Consequences

Consequences to metsrw

Consequences to Archivematica and the Storage Service