Versions Compared

Key

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

...

Islandora’s Rule Engine is a Python-based module that enables Islandora to listen for and respond to Fedora Repository updates, based on the Content Model associated with an object. The Fedora Microservices Module is available for download here. Once you have downloaded the module, you will need to do the following.

Dependencies

This script relies on Python 2.6 or greater. This script uses the lxml, fcrepo, stompy and yapsy python libraries. These should be downloaded and installed automatically if you run setup.py script:

...

See http://stackoverflow.com/questions/1512530/cant-install-lxml-python-2-6-3-osx-10-6-snow-leopard for Mac OS X 10.6 Snow Leopard installation.

Fedora Setup

1. To use this package with Fedora's built-in ActiveMQ broker you will need to download the Spring distribution from http://www.springsource.org/download. Then, copy the .jar files from the download package's dist directory into $FEDORA_HOME/tomcat/webapps/fedora/WEB-INF/lib to enable Stomp support in Fedora's embedded ActiveMQ broker.

...

The plugins specified in the islandora_microservices.cfg file will be the only ones that run in this instance of the listener. The plugins in turn will only listen to the content models and messages specified in their configuration files. This allows you to have one instance of the script on your ABBYY FineReader server that only does OCR tasks and another instance of the script running on a different server that can do tasks like generating thumbnails, compressed JP2 images, etc. or any other task that doesn't need to be run on a specific server.

Plugins

Extend the functionality of the content model listener by adding a new plugin. The sample_plugin plugin gives a simple template that can be extended. It's important that every plugin has a cfg file or the plugin manager won't recognise it. The sample_plugin file gives an example and there is more documentation about the base class that plugins must extent in the plugin_manger.py file.

...