You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Learning outcomes

  1. Communicate value of cross-institutional collaboration process
  2. Feel comfortable getting involved in development sprints
    • What are minimum requirements
  3. Be able to articulate technology stack and tools
  4. Know where to look for more details

Sprints

  • 2-Week long sprints
  • Scheduled in 6-month phases
  • All community developers

Weekly schedule

  • A standard scrum approach is taken

Agile/Scrum terms

  • Daily stand-up
  • Product and Sprint backlogs
  • Scrum
  • Sprint
  • Sprint planning
  • Sprint retrospective
  • Velocity

Support tools

Pivotal Tracker

  • Bug tracking system
  • Tightly tied with git commits
    • Ticket flow/process

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
  • 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 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

Background reading

jax-rs (jersey)

jcr

  • No labels