1. (tick) Replacement of Modeshape with OCFL
  2. Resource Management
    1. (plus) Containment relationships



    2. (plus) PUT empty RDF container
      1. (tick) Exact match between F5 and F6 response on create
      2. (tick) PUT on existing container: F5=409, F6=204
    3. (tick) PUT RDF container with body
    4. (tick) POST empty RDF container
    5. (tick) POST RDF container with body
    6. (tick) GET empty RDF container
    7. (tick) GET RDF container with user-provided body
    8. (tick) GET non-RDF
    9. (tick) GET non-RDF description
    10. (tick) RDF (Replace)
    11. (tick) Binary (Create, Retrieve)
    12. (tick) Binary (Replace)
    13. (tick) External Binaries:
    14. (tick) Create Container as Archival Group (nested resources within an OCFL Object)
    15. (tick) RDF Resource Update (PATCH)
    16. (tick) NonRdfSourceDescription Resource Update (PATCH)
    17. (tick) Ghost nodes:
    18. (tick) Resource Deletion
      1. (tick) Delete resources contained within ArchivalGroups 
      2. (tick) GET Tombstones for deleted resources
      3. (tick) DELETE Tombstones
    19. (tick) Direct Container Support 
    20. (question) Indirect Container Support
    21. (plus) Prefer header support
      1. 'omit' and 'include' combinations for
        1. (tick) 'ldp#PreferMinimalContainer' -
        2. (tick) 'ldp#PreferContainment'
        3. (tick) 'ldp#PreferMembership'
        4. (tick) 'fcrepo#PreferInboundReferences'
        5. (question) 'oa#PreferContainedDescriptions' -
    22. (question) Object locking:
    23. Update documentation
  3. Transactions
    1. (tick) Multi-resource transactions 
    2. (tick) Multi-resource transaction rollback
    3. (question) Partial commit rollback handling -
    4. Update documentation - note about not being backwards-compatible
  4. Rebuild
    1. (tick) Rebuild from Fedora generated OCFL  
    2. (question) Targeted rebuild of side-loaded OCFL
    3. Create documentation - none currently
  5. (tick) Messaging
    1. Update documentation
  6. Fixity
    1. (tick) Fixity on ingest
    2. (tick) Fixity on demand
    3. Update documentation
  7. (plus) State Tokens
    1. Create documentation - none currently
    2. (tick) PUT with X-If-State-Token header on RDF and NonRDF Resources
    3. (tick) PATCH with X-If-State-Token header on NonRdfSourceDescription and RDF Resources
  8. (plus) Versioning 
    1. (tick) On-demand version creation 
    2. (tick) Retrieve list of versions (mementos) 
    3. (tick) Retrieve individual mementos 
    4. (tick) Toggle auto-versioning for entire repository: 
    5. Documentation 
  9. ACLs
    1. (tick) Create/Read
    2. (question) Update
    3. (tick) Delete
    4. (plus) Enforce Acls
      1. (tick) GET -
      2. (tick) PUT
      3. (tick) POST
      4. (tick) PATCH
      5. (tick) DELETE
    5. (tick) ACL enforcement within Transactions
  10. HTML UI
    1. (tick) Containment relationship display: 
    2. (question) Search UI -
    3. (tick) Version display and version creation :  
  11. Simple Search
    1. (tick) List all resources
    2. (tick) Page search results using max results and offset
    3. (tick) List all resources modified before, after or between x date
    4. List children contained by ancestor (specify depth)
    5. (tick) List resources containing string in resource id?
    6. (tick) Create documentation - none currently exists
    7. (tick) Search by multiple conditions
    8. (tick) Search by content_size
    9. (tick) Search by mimetype
  12. Fedora 3 -> 6 migration tooling (migration-utils)
    1. (tick) Optionally migrate deleted or inactive objects -
  13. Fedora 4 & 5 -> 6 migration
    1. Basic migration
      1. (tick) basic containers
      2. (tick) binaries
      3. (tick) external content
      4. (tick) Direct containers
      5. Indirect containers
      6. (error) Bugs
    2. Web ACLs -
    3. (tick) Versions
  14. Alternative (to h2 db) Database support for Indexing:
    1. (tick) MySQL
    2. (tick) MariaDB
    3. (tick) Postgres
  15. Valkyrie
    1. tests pass

Testing scripts

  1. Fixity on Ingest & empty RDF creation
    1. fixity-ingest.sh
    2. fixity-ingest-verbose.sh
  2. Ghost nodes
    1. ghost-nodes.sh
  3. Containment index
    1. contaiment.sh