Versions Compared

Key

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

Table of Contents

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:

Other module resources

fcrepo-module-auth-xacml

This XACML Authorization Delegate Module is based on the design documented here: XACML Authorization Delegate

...

/src/main/resources/

...

policies

AdminPermissionPolicySet.xml

  • policy set for the admin role

AdminRolePolicySet.xml

  • define the policies for the admin role

GlobalPermissionPolicySet.xml

  • policy set for the basic role

GlobalRolesPolicySet.xml

  • define the policies for the basic role

PreventReadingMasterFilesPolicySet.xml

  • policy set that prevents access to any files with the mime type "image/tiff" that have the "http://example.com/mixins#master" type (example-mixins:master mixin)

ReadNormalNodePermissionPolicySet.xml

  • policy set for reading normal nodes

ReadOnlyExceptToLocalPolicySet.xml

  • policy set that prevents all repository-changing actions by all but those a localhost or on an internal network.

ReaderRolePolicySet.xml

  • define the policies for the reader role

WriteNormalNodePermissionPolicySet.xml

  • policy set for writing normals nodes.

WriterRolePolicySet.xml

  • define the policies for writing the normal nodes

/src/main/resources/cnd

...

xacml-

...

policy.cnd

...

  • namespace properties to enable  XACML authorization

Other module resources

fcrepo-jms-indexer-pluggable

This is 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.

/fcrepo-jms-indexer-webapp/src/main/resources/spring

indexer-core.xml

  • bean implementation for HttpSolrServer, SolrIndexer and IndexerGroup (SparqlIndexer, FileSerializer)

...

  • config for jms messaging with ActiveMQ

/fcrepo-jms-indexer-webapp/src/main/resources

logback.xml

  • logging configuration

/fcrepo-jms-indexer-core/src/main/resources

 indexing.cnd

  • define the indexable namespace property to enable object indexing using triplestore and solr