...
- A. Soroka
- David Wilcox
- James R. Griffin III
- Aaron Birkland
- Stefano Cossu
- Unknown User (daniel-dgi)
- Andrew Woods
- Yinlin Chen
- Jared Whiklo
- Doron Shalvi
- Unknown User (acoburn)
- Kevin S. Clarke
- Bethany Seeger
- Nick Ruest
Agenda
OSGi:
No Format fcrepo-kernel -> fcrepo-kernel-api fcrepo-kernel-impl -> fcrepo-kernel-jcrmodeshape
Standard practice with OSGi bundles is that any package with "impl" or "internal" is not exported.
4.3.0 Release planning
- Outstanding items?
Jira server DuraSpace JIRA serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1532 Jira server DuraSpace JIRA serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1630
- Outstanding items?
NonRdfSource properties - where should they live?
F4 core, extras, and labs (mailing list thread)
- What are the "core" Fedora capabilities/projects?
- Which projects are always included in any given release?
- Should we decouple the version number schemes of optional projects from core releases?
- A. Soroka: Yes, there is no advantage to locking them.
- Should optional projects share the same "org.fcrepo" package namespace?
- A. Soroka: Only if the responsibility for them is the same as the responsibilities for core (that is, owned by the same people and accompanied by the same promises)
- What are the criteria for graduating from (1c)? - Practices from Islandora? Hydra?
- What is the policy for deprecating a project from (1a) or (1b)?
- What should the name of a third GitHub organization be, if such an organization is needed?
- fcrepo-extras
- fcrepo-ext
- fcrepo-flaky
- fcrepo-chum-bucket
...
Current Priorities
Expand - Performance
Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1609
- Single subject
Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1474 Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1540 Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1447 Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1411
- fcr:metadata as a container
Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1590
- Point-like objects
Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1470
- Camel RDF serializer
Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key FCREPO-1519
- Migration-utils
- Wait for Mike
- Bugs
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery filter=13122 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5
- Performance
Tickets resolved this week:
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery filter=13111 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 Tickets created this week:
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery filter=13029 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5
Minutes
- Welcome Bethany Seeger - Library dev at Amherst, working with A. Coburn
- Service provider
- OSGi:
- The decision is made on the changing Fedora package names. Fedora users/clients should not be impacted on it. However, software built around Fedora will be impacted.
- 4.3.0 Release planning
- Release 4.3.0 next week. Nick is the release manager. Andrew and Nick will meet on next Friday and proceed 4.3.0 release. People who want to do future Fedora release can contact Andrew.
- NonRdfSource properties
- After discussion, decide to internally store the properties presented as triples in fcr:metadata on the NonRDFSource being described (as opposed to on the fcr:metadata-backing resource).
- [IRC discussion]
- ajs6f: I claim that this won't prevent us from doing whatever we want with fcr:metadata later (making it a container, making it have a special lifecycle, filling it with peanut butter and Valvoline and baking it for several hours in a turtle shell, whatever we want).
- escowles: i'm fine with storing the properties on the nonRDFsource -- that makes sense since they are about that resource and i'm actually fine with retrieving fcr:metadata and getting triples about the nonRDFsource -- I think it was barmintor who was most concerned with the repository URL and the subject URI being the same
- awoods: I think there is good reason for concern about a mismatch between the repository URL (binary/fcr:metadata) and the subject URI (binary)... but there does not appear to be a better solution at the moment.
- escowles: i agree -- too many operations required by the binary and its description for them to peacefully coexist at the same rest api URL
- F4 core, extras, and labs
- F4 core capabilities: Repository CRUD, Transactions, Versioning, Authorization, and Fixity.
- Included in any given release: Fedora reference impl.
- Could be accompanied by a compatibility matrix for non-core modules along the lines of: http://docs.sonarqube.org/display/PLUG/Plugin+Version+Matrix
- Decouple module versioning?
- yes. seems everyone agrees with it.
- Continue discuss 4.d in next week meeting.
- Elliot + Aaron - moving conversation forward soon
- Initial proposal/sketch has been provided to the community
- not quite a proposal, need more community involvement and requirements
- Goals of effort:
- Add capability through community contribution
Collaboration across islandora/hydra
- common service layer
- similar to pcdm
- security layer
- including indexes
- support for content modeling
- Effort will be launched in early fall
- Call for participation: stakeholder, reviewer, developer
- Stefano motivated to move the forward
- fcrepo-webapp in fcrepo4
- Esme: it would be nice to have one project: more coherent releases, less confusion; however demoting frepo-webapp may not make sense
- Adam: the only reason we have webapp-plus is because of unfortunate mix of configuration and wiring. Ideally we would have one deployable artifact for both
- Danny: agree; expect to have a deployable and configurable artifact. I should be able to enable specific features, not an all-or-nothing deal.
- Andrew: We have 2 possibilities:
- OSGi, which offers a high degree of runtime configurability
- externalizing components and make them more configurable than current ones
- Adam: there is a difference between configuration (how you make your components work) and wiring (which components you enable). Those are combined in F4, due to Spring XML which is not the ideal tool for this job. We use Maven to ameliorate the problem instead of solving it.
- Andrew: Webapp-plus is mostly wiring
- Adam: That is because Modeshape owns so much configuration; there has been extensive discussion about unpacking that config
- Aaron B: Regarding API extension arch: as far as implementation, we would design it as modular as possible - that is conceptualized and outside of Fedora, not dealing with Modeshape stuff. We need to discuss how to approach modularity; also how to live with specific Modeshape config
- Adam: you need to configure Modeshape options somewhere to enable any of the webapp-plus modules
- These modules cannot do their thing via a client?
- Adam: No, unless you want to run them on pure LDP (HTTP) - and performance would suffer
- Andrew: confirm that auth modules are relying on Modeshape because they pass through it before they are delegated to our custom module
- Andrew: Back to the original question: is there anything that we can focus our energy on to improve the way we have wiring and config in one?
- Adam: There are some options:
- Configuration: OSGi, very powerful and not too hard to configure - there are some standard patterns on how to store config. Also there could be custom config containers, like config files or storing config in the repo itself
- Wiring: For micro-level wiring, there is CDI, or there are OSGi services; Spring can even do wiring with some care to avoid mixing in config. for module level wiring, OSGi is the best - maybe Java 9 (Jigsaw)
- Configuration: OSGi, very powerful and not too hard to configure - there are some standard patterns on how to store config. Also there could be custom config containers, like config files or storing config in the repo itself
- Danny: We are about to push out an OSGi deployment but not many have the resources to do that
- Adam: there is a difference between OSGi frameworks and containers. You can put OSGi in containers (e.g. Apache Karaf or Eclipse Virgo). You can also put an OSGi framework (like Apache Felix or Eclipse Equinox) into a different kind of container, like a servlet container. Either will support an OSGi-ified Fedora. The hard part is actually the OSGi-fication part, which is a lot of work
- Aaron C: leaving webapp where it is is fine; the question is moving toward OSGi which happens step by step. Once there, deployment will be more flexible. Rather than expending resources in figuring out how to separate current webapps we should focus on how to move to OSGi
- Andrew: seems like there is a recognition toward moving OSGi - let’s put together a plan
- Aaron C: Not everyone knows what OSGi is and what it can do; we can explain that and what those incremental steps are to make Fedora deployable as OSGi
- Aaron will create a page on the Wiki and inform the community
- core, extras, labs:
- There is consensus on having three separate Github organizations: fcrepo, fcrepo–labs, and fcrepo-extras.