Java Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github Add pull request template (#1185) Apr 12, 2017
fcrepo-auth-common Prevents a UnavailableSecurityManagerException (#1382) Aug 3, 2018
fcrepo-auth-webac Allow single-document ACLs using hash URIs for authorizations. (#1383) Aug 9, 2018
fcrepo-boms Switched from JBoss JTA to Narayana (#2649) Nov 3, 2017
fcrepo-configs Add ShiroAuthenticationProvider to fcrepo-webapp config. (#1358) May 8, 2018
fcrepo-event-serialization FCREPO-2774: fixes javadoc-related compile warnings (#1345) Apr 26, 2018
fcrepo-http-api Fcrepo-2797 - Separate external content integration tests (#1386) Aug 17, 2018
fcrepo-http-commons Return 405 on PUT, POST and PATCH to LDPCv. (#1375) Aug 14, 2018
fcrepo-integration-ldp Unsupported external-body access-types now result in 415 Unsupported … ( Oct 19, 2017
fcrepo-integration-rdf Fcrepo 2835 - Allowed external paths configuration (#1376) Jul 24, 2018
fcrepo-jms Rename signature UserAgent to UserURI in FedoraSession and FedoraEven… Oct 6, 2017
fcrepo-kernel-api Return 405 on PUT, POST and PATCH to LDPCv. (#1375) Aug 14, 2018
fcrepo-kernel-modeshape Return 405 on PUT, POST and PATCH to LDPCv. (#1375) Aug 14, 2018
fcrepo-metrics FCREPO-2774: fixes javadoc-related compile warnings (#1345) Apr 26, 2018
fcrepo-parent Remove acoburn from list of developers May 8, 2018
fcrepo-webapp Return 405 on PUT, POST and PATCH to LDPCv. (#1375) Aug 14, 2018
src/site Update maven site related versions in response to: May 27, 2015
.gitignore Upgrade to Modeshape5 (#1085) Aug 3, 2016
.travis.yml Fcrepo 2105 final (#1177) Apr 9, 2017
LICENSE Update source headers to not require annual update (#1062) Jul 8, 2016
NOTICE Update source headers to not require annual update (#1062) Jul 8, 2016
README.md Fix broken Markdown headings (#1191) Apr 18, 2017
pom.xml External Content FCREPO- 2748 (#1357) May 23, 2018

README.md

Fedora 4

Build Status

JavaDocs | Fedora Wiki | Use cases | REST API |

Fedora is a robust, modular, open source repository system for the management and dissemination of digital content. It is especially suited for digital libraries and archives, both for access and preservation. It is also used to provide specialized access to very large and complex digital collections of historic and cultural materials as well as scientific data. Fedora has a worldwide installed user base that includes academic and cultural heritage organizations, universities, research institutions, university libraries, national libraries, and government agencies. The Fedora community is supported by the stewardship of the DuraSpace organization.

Technical goals:

  • Improved scalability and performance
  • More flexible storage options
  • Improved reporting and metrics
  • Improved durability

Downloads

The current web-deployable version of Fedora can be downloaded from the Duraspace website or from Github. These artifacts can be deployed directly in a Jetty or Tomcat container as described in the guide to deploying Fedora.

Contributing

Contributions to the Fedora project are always welcome. These may take the form of testing the application, clarifying documentation or writing code.

Code contributions will take the form of pull requests to this repository. They also require a signed contributor license agreement on file before a pull request can be merged. New developers may wish to review this guide as it explains both the process and standards for test coverage, style and documentation.

Getting help

There are two community mailing lists where you can post questions or raise topics for discussion. Everyone is welcome to subscribe and participate.

Many of the developers are available on the #fcrepo IRC channel, hosted by freenode.net.

In addition, there are weekly technical calls which anyone may join.

Building and running Fedora from source

System Requirements

  • Java 8
  • Maven 3
$ git clone https://github.com/fcrepo4/fcrepo4.git
$ cd fcrepo4
$ MAVEN_OPTS="-Xmx1024m -XX:MaxMetaspaceSize=1024m" mvn install

The compiled Fedora war file can be found in ./fcrepo-webapp/target. This can be deployed directly to a servlet container as described in the deployment guide.

If deployed locally using a war file called fcrepo.war, the web application will typically be available at http://localhost:8080/fcrepo/rest.

There are two convenient methods for testing the Fedora application by launching it directly from the command line.

One option is to use the "one click" application, which comes with an embedded Jetty servlet. This can be started by either double-clicking on the jar file or by running the following command:

java -jar ./fcrepo-webapp/target/fcrepo-webapp-<version>-jetty-console.jar

An alternative is use the maven command: mvn jetty:run

$ cd fcrepo-webapp
$ MAVEN_OPTS="-Xmx512m" mvn jetty:run

For both of these methods, your Fedora repository will be available at: http://localhost:8080/rest/

Note: You may need to set the $JAVA_HOME property, since Maven uses it to find the Java runtime to use, overriding your PATH. mvn --version will show which version of Java is being used by Maven, e.g.:

Java version: 1.8.0_31, vendor: Oracle Corporation
Java home: /usr/local/java-1.8.0_31/jre

To set your $JAVA_HOME environment variable:

export JAVA_HOME=/path/to/java

If you have problems building fcrepo4 with the above settings, you may need to also pass options to the JaCoCo code coverage plugin:

$ MAVEN_OPTS="-Xmx1024m" mvn -Djacoco.agent.it.arg="-XX:MaxMetaspaceSize=1024m -Xmx1024m" -Djacoco.agent.ut.arg="-XX:MaxMetaspaceSize=1024m -Xmx1024m"  clean install