Versions Compared

Key

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

...

  • 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

      ...

      • fcrepo4

      Other important projects

      • ontology
      • fcrepo-jms-indexer-pluggable
      • fcrepo-module-auth-rbacl
      • fcrepo-module-auth-xacml
      • fcrepo-build-tools
      • fcrepo-sample-dataset

      ...

      https://github.com/fcrepo4-labs

      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
          • Linked data,
          ldp
          • LDP abstraction

        Middle - JCR implementation

        • Modeshape - open source

        ...

        • JCR reference implementation

        ...

        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