...
- Using Java 8 Streams for RdfStream interface
(Pull Request)Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1312 - Package naming and organization
Removing /fcr:nodetypes endpoint
(Pull Request)Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1890 - Moving away from LevelDB to... MySQL? Postgres? other?
- Is there some context for this? Problems with LevelDB? Are there tickets documenting why we no longer like it?
- Fedora Specification updates
- Messaging SPI
- Atomic Batch Operations - name? BatchOps?
- CRUD
- Resource Versioning (A. Soroka will start work on this at the top of the coming week)
- Binary Fixity Checking
- Authorization
- Recent test results
- ...
Status of "in-flight" tickets
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery filter=13202 serverId c815ca92-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
...