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

fcrepo-webapp

The following spring files exist in a directory as configured by 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 configuration directory, usually a path like WEB-INF/classes/*.xml.  Note that the files is src/main resources/spring are copied upon build to WEB-INF/classes.

fcrepo-webapp/src/main/resources/spring

repo.xml

<bean name "modeshapeRepofactory" class= "org.fcrepo.kernel.spring.ModeshapeRepositoryFactoryBean">
	<property name="repositoryConfiguration" value="${fcrepo.modeshape.configuration:classpath:/config/single/repository.json"/>
</bean>

rest.xml

eventing.xml  

jms.xml

generator.xml

security.xml

fcrepo4/fcrepo-webapp/src/main/resources/config

activemq.xml

fcrepo4/fcrepo-webapp/src/main/resources

logback.xml

 

Modeshape repository configuration

Fedora 4 uses Modeshape, a JCR implementation. We distribute a handful of known-good configurations for Modeshape and Infinispan, although we anticipate configuration tuning for deployment environments will be common.


https://github.com/ModeShape/modeshape/blob/master/modeshape-jcr/src/main/resources/org/modeshape/jcr/repository-config-schema.json

http://docs.jboss.org/infinispan/5.3/configdocs/

Modeshape Configurations

/config/minimal-default/repository.json

Default configuration without authentication

/config/servlet-auth/repository.json

Default configuration with servlet authentication

/config/clustered/repository.json

Default configuration with repository clustering enabled. Uses /config/infinispan/clustered/infinispan.xml.

Infinispan configurations

/config/infinispan/leveldb-default/infinispan.xml

Default configuration with leveldb object storage

/config/infinispan/leveldb/infinispan.xml

Configuration with leveldb object storage and filecachestore object storage

/config/infinispan/clustered/infinispan.xml

Example clustering configuration. Replicates object storage, distributes 2 copies of binary storage.

/config/infinispan/file/infinispan.xml

Configuration with filecachestore

/config/infinispam/ram/infinispan.xml

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

 

Options:

fcrepo.modeshape.query.enabled:true

fcrepo.infinispan.cache_configuration:config/infinispan/leveldb-default/infinispan.xml

fcrepo.modeshape.query.mode:sync

fcrepo.binary-store-path:target/binaries

fcrepo.modeshape.index.location:target/indexes

fcrepo.ispn.repo.CacheDirPath:target/FedoraRepository/storage - path to store object properties

fcrepo.ispn.binary.CacheDirPath:target/FedoraRepositoryBinaryData/storage - path to store binary content (when it's stored in infinispan)

 

Tuning considerations:

fcrepo.modeshape.query.mode = async

fcrepo.modeshape.query.enabled = false

Fedora Node Types - node definitions in terms of namespaced properties

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

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

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

Alternatively from definition in .cnd files as above, forms are available to add namespaces and nodetypes at these URL endpoints:

http://<host>/rest/fcr:namespaces
http://<host>/rest/fcr:nodetypes

Other module resources

fcrepo4/fcrepo-jms/src/main/resources