The current structure used in both sysand_env and for remote HTTP indices is the following
/entries.txt
/<hash-of-IRI_1>/versions.txt
/<hash-of-IRI_1>/<version_1>.kar
/<hash-of-IRI_1>/<version_2>.kar
...
/<hash-of-IRI_2>/versions.txt
/<hash-of-IRI_2>/<version_1>.kar
...
Where entries.txt contains verbatim (as UTF-8 strings) entries IRI_1, IRI_2, ... and directories are hex-encoded SHA256-hashes of these IRIs considered as UTF-8 byte arrays.
While straightforwardly safe, this representation has a number of usability issues:
- the structure is difficult for humans to navigate in, for example, a graphical file browser or command line shell),
- when opening or seeing a file path or URL it is difficult to tell what usage the corresponding file or archive corresponds to
We would like to have a mapping that alleviates the above issues at least for the most typical use cases:
- projects identified by "name", using
urn:kpar:<name> IRIs
- projects identified by direct resolvable HTTP(S) URLs
The current structure used in both
sysand_envand for remote HTTP indices is the followingWhere
entries.txtcontains verbatim (as UTF-8 strings) entriesIRI_1, IRI_2, ...and directories are hex-encoded SHA256-hashes of these IRIs considered as UTF-8 byte arrays.While straightforwardly safe, this representation has a number of usability issues:
We would like to have a mapping that alleviates the above issues at least for the most typical use cases:
urn:kpar:<name>IRIs