...
Service provider idea? https://groups.google.com/d/msg/fedora-tech/UovyLGZeToE/lNRtWZZ4JM4J
Does fcrepo-webapp belong in the fcrepo4 github project?
- One issue is that there are two webapp modules: one for core, one for core+optional modules. This may not be ideal, especially as more optional modules become available (e.g. fcrepo-audit)
- Another issue is that putting fcrepo-webapp in core ties the reference implementation to a particular deployment strategy (tomcat/jetty). Other strategies, however, may be more appropriate for some adopters (e.g. OSGi or "containerless"). The counter argument is that a reference implementation should be minimally deployable.
- 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?
- Should optional projects share the same "org.fcrepo" package namespace?
- 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?
OSGi:
No Format fcrepo-kernel -> fcrepo-kernel-api fcrepo-kernel-impl -> fcrepo-kernel
...
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
- 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.