Versions Compared

Key

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

Table of Contents

The basics

Java7 webapp

 

Maven3

 

Fedora is a standard Java7 web-application that 

jetty and tomcat, or one-click

deployed as a war

jersey library

most of the configuration via system-properties

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

https://github.com/fcrepo4

...

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

https://github.com/fcrepo4-labs 

Git process

standard

fork the codebase, send PR

<link> 

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

Sprints

2-week long sprints

schedule in 6-month phases

community developers 

Weekly schedule

first Monday is sprint planning

stand-up meeting every day at 11am ET

every Thursday has technical community call

Thursday of second week is sprint wrap-up meeting

Friday of second week is tying loose ends 

Support tools

Pivotal Tracker

bug tracking system

tightly tied with git commits

  • ticket flow/process

 

 

Sonar

 

Jenkins

 

Travis-CI

basic sanity build on each commit

Jenkins

continuous integration build server

publishes snapshot build artifacts to sonatype

publishes code-coverage and stats to sonar

Sonar

dashboard of codebase health

code coverage

code problem areas, or hotspots

total lines of code and complexity, etc

Background reading

jax-rs (jersey)

jcr

...