Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Using Java 8 Streams for RdfStream interface
    Jira
    serverDuraSpace JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
    keyFCREPO-1312
    (Pull Request)
  2. Package naming and organization
  3. Removing /fcr:nodetypes endpoint

    Jira
    serverDuraSpace JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
    keyFCREPO-1890
    (Pull Request)

  4. Moving away from LevelDB to... MySQL? Postgres? other?
    1. Is there some context for this? Problems with LevelDB? Are there tickets documenting why we no longer like it?
  5. Fedora Specification updates
    1. Messaging SPI
    2. Atomic Batch Operations - name? BatchOps?
    3. CRUD
    4. Resource Versioning (A. Soroka will start work on this at the top of the coming week)
    5. Binary Fixity Checking
    6. Authorization
  6. Recent test results
    1. Unknown User (bbpennel): PCDM
    2. Esmé Cowles: MySQL vs. LevelDB
  7. ...
  8. Status of "in-flight" tickets

    Expand

    Jira
    serverDuraSpace JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    maximumIssues20
    jqlQueryfilter=13202
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

...

  • Addressing the #getTriples function:
    • The function accepts returns an iterator (must, hence, be changed to a stream, as specified above)
    • However, accepted by the function are name of implemented Classes
    • These correspond to approximately 8 sets of triples which could be requested (e. g. membership, versioning, fixity...)
    • As a consequence, this introduces a hard dependency on ModeShape implementation of fcrepo
    • In turn, this precludes any further abstraction, inhibiting the implementation of non-ModeShape fcrepo
  • Hence, this PR introduces an enum
  • Covers all of the cases currently in case with the ModeShape implementation and prefer headers in REST API
  • As an enum, it doesn't allow for any extension of these values
  • An idea proposed by Soroka is, rather than using the enum, use an interface or set of interfaces which can be passed in

...

  • Somewhat related to agenda item #1
  • Number of new classes and interfaces in kernel API (4)
  • 3 are in the base level org.frepo.kernel.api
  • 1 is an implementation api.rdf
  • Uncertain of a good location for these...do some constitute an implementation?
  • What are these packages inside and outside of the kernel API?
  • Generally speaking, all of the code within a given package may be referenced
  • But, try to avoid loops
  • you should avoid cyclical dependencies between packages
  • e. g. The api.exception package references code in the api package, which internally, then itself references code in the api.exception package
  • Usually not the best practice
  • Raises the larger question of...what are these packages?
  • RDF package has one class within it
  • More inclined to have have fewer packages
  • Other approaches prefer more specific package names
  • Circular dependencies are also really bad in the ModeShape module
Soroka:
  • ModeShape is a monolith
  • Discussions have been had regarding similar

...

  • Few or no circular dependencies are found within the APIHTTP modules
Woods:
  • Intensive assessment of modules and the packages within each module

...

3. Removing the FCR nodetypes

Coburn:
  • fcr:nodetypes endpoints permits endpoint is undiscoverable by an LDP client to find all of the resources within Fedora
  • The link endpoint describes all of the RDF classes, includes all of the JCR hierarchies
  • Most of the time, repository resources shouldn't need to know anything about the JCR hierarchies
  • No strong argument to retain this endpoint

...

  • Perhaps distinguish between core features people are using and those not likely being used by many
  • For features being actively changedused, 6 - 12 months
Johnson:
  • Several months might be a good guideline
  • But, far less time might be fine for core features which aren't used
  • Key is to effectively use version numbers

...