Repository navigation
Releases: kraenzle-ritter/eark-ip
Releases · kraenzle-ritter/eark-ip
Release list
v0.1.3
Fixed
- The writer checks every file it copies into a package. Before,
FileContentonly checked thatcopy()did not return false,SourceContentandStringContentdid not check at all, andSIZEandCHECKSUMin the METS were computed from the copy: a copy cut short (disk full, read error, ZIP entry ending early) carried its own matching checksum and passed validation. Now the data goes to a temporary name, hashed while it is read, the copy is compared with what was read and with the size of the source, and only then renamed into place; otherwiseCopyNotVerifiedException(anEarkIpException) and nothing is left at the target, so no package is written (agate#12).
v0.1.2
Changed
- The writer writes
application/octet-streaminto@MIMETYPEwhen the IANA does not register the given type, e.g.audio/x-wav; commons-ip reports such types as an error of CSIP68 and WAV has no registered type at all.RepresentationBuilder::file()takes the PRONOM PUID as fourth argument; in a SIP it is written assip:FILEFORMATREGISTRY="PRONOM"andsip:FILEFORMATKEY.AipBuilderandDipBuildercarry PUIDs over from the source package. - The validator reports every media type the IANA does not register as a warning under CSIP68,
x-,vnd.andprs.types included (before: those passed silently). MediaTypesmoved fromKraenzleRitter\EarkIp\Validation\RulestoKraenzleRitter\EarkIp.
Fixed
- CSIPSTR15 no longer reports XML schemas that are content of a representation (
representations/*/data/) as misplaced, e.g. theheader/xsd/of an eCH-0160 delivery.
v0.1.1
v0.1.0
First release. Reads, validates and writes E-ARK information packages (CSIP, SIP, AIP, DIP; versions 2.2.0 and 2.1.0) in plain PHP.
- Validator: one finding per requirement (CSIP1–119, SIP1–35, AIPM1–7, DIP1–4, CSIPSTR1–16), offline XSD, integrity, JSON report; passes all testable cases of the DILCIS IP test corpus (3 self-contradicting cases documented).
- Reader: folder or ZIP into an immutable model, without unpacking; refuses unsafe archives.
- Writer: SIP, AIP (from a SIP, with PREMIS 3 ingest event) and DIP (from an AIP); written packages are reported VALID by commons-ip 2.12.1.
- CLI:
eark-ip validate|info|create.
Not yet: TAR packages.