A collection of Islandora 8 microservices, lovingly known as Crayfish. Some of the microservices are built specifically for use with a Fedora Repository and API-X, while others are just for general use within Islandora 8.
The minimum requirements for any microservice are
- PHP 7.3+
- Composer
Many microservices have extra installation requirements. Please see the README of each microservice for additional details.
Crayfish contains the following services
- Homarus: FFmpeg as a microservice.
- Houdini: ImageMagick as a microservice.
- Hypercube: Tesseract as a microservice.
- Milliner: Microservice that converts Drupal entities into Fedora resources.
- Recast: Microservice that remaps Drupal URIs to add Fedora to Fedora links based on associated Drupal URIs in RDF.
See the individual services for more information on their endpoints.
Crayfish microservices use JWTs to handle authentication like the rest of the Islandora 8.
It is disabled by default. To enable, set security enabled
to true
in cfg/cfg.php
for any microservice.
You can also set the path to an xml configuration file for security a la Syn with the security config
parameter.
If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!
If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor License Agreement. Please see the Contributors pages on Islandora.ca for more information.
We recommend using the islandora-playbook to get started. If you want to pull down the submodules for development, don't forget to run git submodule update --init --recursive
after cloning.
This project has been sponsored by:
- American Philosophical Society
- Born-Digital
- discoverygarden inc.
- LYRASIS
- McMaster University
- PALS
- University of Limerick
- University of Manitoba
- UPEI
- Simon Fraser University
- York University