OCFL / spec

The Oxford Common File Layout (OCFL) specifications
https://ocfl.io
52 stars 14 forks source link

Establish top-level outline of specification #19

Closed awoods closed 5 years ago

awoods commented 6 years ago

Before diving too far into the details of the specification, agreement on the top-level outline would be helpful.

ahankinson commented 6 years ago

I just pushed a really basic container structure so that we can start fleshing this out in a PR.

I looked at the Fedora spec and moved the boilerplate sections around. Section 3 is now 'Object specification', where the object spec will go. Section 4 is non-normative Implementation Considerations.

I would propose as a starting point (feel free to flesh out):

3. Object specification
  3.1 OCFL Object
    3.1.1 Basic Structure
    3.1.2 OCFL Conformance declaration
    3.1.3 Logs directory
    3.1.4 Top-level inventory
      3.1.4.1 Top-level Inventory Checksum
    3.1.5 Version directories
  3.2 Inventory
    3.2.1 Basic structure
    3.2.2 Digest Algorithm Choice
    3.2.3 Object Manifest
    3.2.4 Object Versions
awoods commented 6 years ago

Is there value in adding an additional top-level section for Storage Root, and splitting 3.1 and 3.2 into separate top-level sections:

3. Storage Root
  3.1 ...
4. OCFL Object
  4.1 ...
5. Inventory.jsonld
  5.1 ...
6. Examples
  6.1 Minimal object
  6.2 Moab in OCFL object
ahankinson commented 6 years ago

Sounds good, but I would put the object and inventory before storage root:

zimeon commented 6 years ago

Does the inventory have any meaning outside of the OCFL Object? I would imagine it as a sub-section

awoods commented 6 years ago

@zimeon : I was thinking that the inventory is complex enough to warrant its own section... even though I agree that it only exists within the context of an OCFL Object.

ahankinson commented 5 years ago
    1. Conformance
    2. Terminology
         - OCFL Object
         - OCFL Object Root
         - OCFL Storage Root
         - Inventory File
    3. OCFL Object
        3.1 Basic Structure
        3.2 Object Conformance Declaration
        3.4 Version Directories
        3.5 Inventory
                3.5.1 Basic Structure
                    - Detailing optional and mandatory files
                    - Schema
                    - Example
                3.5.2 Digest
                3.5.3 Manifest
                3.5.4 Versions
         3.6 Inventory Digest
         3.7 Top-level Inventory and Inventory Digest
         3.8 Logs Directory
   4. OCFL Storage Root
        4.1 Root Conformance Declaration
        4.2 Root Structure
                - structure must be the same for all structures 
        4.3 Extensions
               - e.g., NamAsTe for pairtree formats
   5. Examples
        5.1 Minimal Object
        5.2 Moab in an OCFL Object
        5.3 BagIt in an OCFL Object
   A. References
   A.1 Normative references

Create a new document, 'Client Behaviours', with implementation considerations.