Versions Compared

Key

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

...

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:

...

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/

Repository Config Options

These configuration files are copied to WEB-INF/classes from fcrepo-configs/src/main/resources upon build.

...

/config/clustered-mysql/repository.json

...

  • Configuration for file-based object store for testing, not recommended for production. 
     

/config/jdbc-mysql/repository.json  

  • Configuration for MySQL-based object store.
     

/config/jdbc-postgresql/repository.json

...

  • Configuration for PostgreSQL-based object store.

...

Fedora 4 stores binary content separately (to one of the above paths, depending on configuration). These files are stored hashed by the content SHA-1 hash

Performance considerations

Different Infinispan configurations can also have an impact on repository performance.  

...

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

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

...