Warning |
---|
These training archives may be out of date, but have been retained and kept available for the community's benefit in reviewing previous sessions. Current training documentation can be found here: Training |
Table of Contents |
---|
Learning outcomes
- Communicate value of cross-institutional collaboration process
- Feel comfortable getting involved in development sprints
- What are minimum requirements
- Be able to articulate technology stack and tools
- Know where to look for more details
...
- Dashboard of codebase health
- Test code coverage
- Code problem areas, or hotspots
- Total lines of code and complexity, etc
The basics
Java7 webapp
- Fedora is a standard Java7 web-
...
- application
...
- Jetty and
...
- Tomcat, or one-click
...
- Deployed as a war
jersey library
...
- Configuration via
- Configuration files
- System-properties
- Repository objects/resources
Maven3
...
- Build tool
...
- Manages library dependencies, build artifacts, code formatting, integration tests, release signing and deployment, code-coverage, etc
...
- Release artifacts are deployed to maven-central
Github
Main F4 codebase
core of f4
- fcrepo4
Other important projects
- ontology
- fcrepo-jms-indexer-pluggable
- fcrepo-module-auth-rbacl
- fcrepo-module-auth-xacml
- fcrepo-build-tools
- fcrepo-sample-dataset
...
Experimental projects
...
Git process
standard
- Standard: fork the codebase, commit to a branch, send PR
...
- Facilitates collaboration
Application stack
Top - Fedora webapp
...
- Adds preservation and access sensibilities
- Linked data,
- LDP abstraction
Middle - JCR implementation
- Modeshape - open source
...
- JCR reference implementation
<jcr spec>
Bottom - Storage/Caching
- Infinispan - open source
...
- Java caching and persistence
...
- Foundation of clustering that is exposed through the stack
Background reading
jax-rs (jersey)
jcr
infinispan
modeshape
maven
git-flow
guava
wiki - process, documentation, roadmap