Versions Compared

Key

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

Here is found details of the locations and purposes of the Fedora 4 configuration files. For details on how to enable and configure these options, see this page.

Table of Contents
stylesquare

fcrepo-webapp

Fedora RESTful HTTP API uses the open source Jersey RESTful Web Services framework that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. The jersey servlet dispatcher is configured in web.xml as follows:

Code Block
languagexml
titleweb.xml
<servlet>
	<servlet-name>jersey-servlet</servlet-name>
	<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
	<init-param>
		<param-name>com.sun.jersey.config.property.packages</param-name>
		<param-value>org.fcrepo</param-value>
	</init-param>
	<init-param>
		<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
		<param-value>true</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

 

The following spring files exist in a directory as configured in web.xml, which contains The following spring files exist in a directory as configured in fcrepo4/fcrepo-webapp/src/main/webapp/WEB-INF/web.xml.  This web.xml file contains a context-param element with param-name "contextConfigLocation".  The param-value points to your spring context configuration files, WEB-INF/classes/*.xml.  Note that these files are in the source tree under fcrepo-webapp/src/main/resources/spring and copied to WEB-INF/classes upon build.

...

  • In-memory configuration for object storage (useful for testing)

...

Repository Config Options

...

 

Infinispan ConfigurationAverageMedianStandard
Deviation 
filecachestore0.11210.1050.0313
leveldb0.07360.06300.0445
leveldb with async persistence0.06100.05500.0220
RAM0.05170.04800.0148
leveldb with file binary store *0.06440.05700.0196
Total0.07030.05900.0318

* default configuration

Fedora Node Types - node definitions in terms of namespace properties

Defining .cnd files such as these in repository.json will register namespaces and node types found within:

fcrepo4/fcrepo-kernel/src/main/resources/fedora-node-types.cnd

fcrepo4/fcrepo-auth-roles-common/src/main/resources/cnd/access-control.cnd

...

Other module resources

fcrepo-module-auth-xacml

This XACML Authorization Delegate Module is based on the design documented here:https://wiki.duraspace.org/display/FF/XACML+Authorization+ XACML Authorization Delegate

/src/main/resources/policies

...

fcrepo-jms-indexer-pluggable

This is a an indexer that listens to the Fedora JMS topic, retrieves a message including pid and eventType, looks up object properties, gets and passes the transformed or untransformed properties on to any number of registered handlers.

...