Skip to content
This repository has been archived by the owner on Sep 27, 2022. It is now read-only.

Identifiers need to be created as per configuration in the repository #8

Open
10 tasks
marcolarosa opened this issue Mar 9, 2022 · 2 comments
Open
10 tasks
Assignees

Comments

@marcolarosa
Copy link
Contributor

extensions supported by the repo

library functionality to be implemented

  • an arcp to path function in the library

    • use the value of the name as the root directory
    • hash the whole arcp to create the identifier
  • n tuple hashing function - as defined by https://ocfl.github.io/extensions/0004-hashed-n-tuple-storage-layout.html

    • if there isn't already a JS library doing this then create this as a standalone library
  • a function that takes an arcp path and returns a tupled path supporting extension defined above

    • rework idToPath to support the defined extensions
@marcolarosa marcolarosa self-assigned this Mar 9, 2022
@ptsefton
Copy link

ptsefton commented Mar 9, 2022

Trying to clarify the above.

We need two new idToPath functions that can be selected with config in the repo's extensions dir (any repo needs one of these, not multiples).

  1. An implementation of the hashed-n-tuple storage layout algorithm id2NTuple(id) that is mentioned above. This will take an ID - any ID - hash it, and generate an n-tuple path looking in the repo config for the n-tuple parameters as described this extension.
  2. An ARCP specific function arcpIDtopath(id) that will:
  • Find the name part of the ARCP id and use it as the first directory under the storage root this can call the function in 1. above ${name}/${id2NTuple(id)}
  • If it's not an ARCP ID then just return id2NTuple(id)

Note that the OCFL Object's inventory.id in the manifest should reference the original ID eg an arcp:// id (complete with the protocol and all the parts) or a URL

@ptsefton
Copy link

ptsefton commented Mar 9, 2022

Above the issue should say:

hash the whole arcp (including protocol) and turn it into an n-tuple path to create then rest of the path (we are not creating an ID the ARCP is the identifier)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants