It would be useful to have an indicator of whether a crate is:
- "under construction" - metadata expected to be updated in the immediate future, e.g. the crate represents a process that isn't finished yet. The crate might not fully conform to its declared profiles, and files might be missing.
- "complete" - metadata isn't expected to be updated, files should all be present, etc. - the crate is ready for archival and can be assigned a PID
Obviously, a "complete" crate could still have its metadata updated - but that would be more like making a new version of the crate (with a new PID) rather than still constructing the crate.
Use cases:
- In Trusted Research Environment applications we expect the metadata to move between multiple services as a research workflow is performed, and each service adds some metadata to the crate. The crate is "complete" when the data has gone through all approval processes to leave the TRE (those approvals are the last thing added to the crate metadata). The Five Safes Crate profile describes how the metadata is constructed, but our validation tools currently assume the crate is complete, so we run into difficulty validating crates part-way through the workflow.
- In ARCs each ARC is a living research object which can have a publication-ready snapshot exported at any time. The crate metadata is "under construction" (e.g. may not have a license or publication date) until a snapshot is exported, at which time the metadata can be frozen and the crate made "complete".
- A profile could choose to enforce the presence of checksums or other fixity indicators if a crate is complete, but not if it is under construction
Suggested solution:
Add an optional property to the root data entity that can indicate whether the crate should be considered complete. By default, crates should be assumed to be complete (as in 1.x).
It would be useful to have an indicator of whether a crate is:
Obviously, a "complete" crate could still have its metadata updated - but that would be more like making a new version of the crate (with a new PID) rather than still constructing the crate.
Use cases:
Suggested solution:
Add an optional property to the root data entity that can indicate whether the crate should be considered complete. By default, crates should be assumed to be complete (as in 1.x).