# ![Islandora](https://cloud.githubusercontent.com/assets/2371345/25624809/f95b0972-2f30-11e7-8992-a8f135402cdc.png) Islandora [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg?style=flat-square)](https://php.net/) [![Build Status](https://github.com/islandora/islandora/actions/workflows/build-8.x-1.x.yml/badge.svg)](https://github.com/Islandora/islandora/actions) [![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md) [![LICENSE](https://img.shields.io/badge/license-GPLv2-blue.svg?style=flat-square)](./LICENSE) [![codecov](https://codecov.io/gh/Islandora/islandora/branch/8.x-1.x/graph/badge.svg)](https://codecov.io/gh/Islandora/islandora) ## Introduction This is the core module of Islandora's digital repository ecosystem. The `islandora` module provides: - Fedora 5 integration via the [flysystem](https://drupal.org/project/flysystem) module - Integration with the [context](https://drupal.org/project/context) module to control your digital repository's behaviour - Publishing messages to a queue so they can be processed in the background `islandora` contains several submodules and features: - `islandora_core_feature` (**required**) - Configuration required by the `islandora` module - `islandora_image` - Integrates with a [Houdini](https://github.com/Islandora/Crayfish/tree/dev/Houdini) (Imagemagick) server for image processing - `islandora_audio` and `islandora_video` - Integrate with a [Homarus](https://github.com/Islandora/Crayfish/tree/dev/Homarus) (`ffmpeg`) server for audio/video processing - `islandora_text_extraction` and `islandora_text_extraction_defaults` - Integrate with a [Hypercube](https://github.com/Islandora/Crayfish/tree/dev/Hypercube) (`tessseract` and `pdftotext`) server for text extraction - `islandora_breadcrumbs` - Provides breadcrumbs following collection structure - `islandora_iiif` - Provides IIIF manifests for repository content ## Requirements Installing via composer will download all required libraries and modules. However, for reference, `islandora` requires the following drupal modules: - [context](http://drupal.org/project/context) - [search_api](http://drupal.org/project/search_api) - [jsonld](http://drupal.org/project/jsonld) - [jwt](http://drupal.org/project/jwt) - [filehash](http://drupal.org/project/filehash) - [prepopulate](http://drupal.org/project/prepopulate) - [eva](http://drupal.org/project/eva) - [features](http://drupal.org/project/features) - [migrate_plus](http://drupal.org/project/migrate_plus) - [migrate_tools](http://drupal.org/project/migrate_tools) - [migrate_source_csv](http://drupal.org/project/migrate_source_csv) - [flysystem](http://drupal.org/project/flysystem) It also requires the following PHP libraries: - [Crayfish Commons](https://packagist.org/packages/islandora/crayfish-commons) - [Stomp PHP](http://drupal.org/project/) ## Installation For a full digital repository solution, see our [installation documentation](https://islandora.github.io/documentation/installation/component_overview/). To download/enable just this module, use the following from the command line: ```bash $ composer require islandora/islandora $ drush en islandora_core_feature $ drush mim islandora_tags ``` ## Configuration ![image](https://user-images.githubusercontent.com/20773151/67234502-ac171900-f41b-11e9-964e-c7d4cfadbd67.png) You can set the following configuration at `admin/config/islandora/core`: - Broker URL - The URL to your message broker (i.e. Activemq) - JWT Expiry - Set to increase the amount of time that authorization tokens remain valid. If you have a long running derivative processes or a migration, you may need to set this to be a very long time, e.g. `500d`. Otherwise, it's best to leave it alone. - Gemini URL - The URL to your Gemini server, which keeps track of where Islandora content is in Fedora. - Fedora URL Display - Selected bundles can display the Fedora URL for repository content. ## Documentation Further documentation for this module is available on the [Islandora 8 documentation site](https://islandora.github.io/documentation/). ## Troubleshooting/Issues Having problems or solved a problem? Check out the Islandora google groups for a solution. * [Islandora Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora) * [Islandora Dev Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora-dev) ## Maintainers Current maintainers: * [Danny Lamb](https://github.com/dannylamb) ## Sponsors * UPEI * discoverygarden inc. * LYRASIS * McMaster University * University of Limerick * York University * University of Manitoba * Simon Fraser University * PALS * American Philosophical Society * Common Media Inc. ## Development If you would like to contribute, please get involved by attending our weekly [Tech Call](https://github.com/Islandora/documentation/wiki). 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](http://islandora.ca/sites/default/files/islandora_cla.pdf) or [Corporate Contributor License Agreement](http://islandora.ca/sites/default/files/islandora_ccla.pdf). Please see the [Contributors](http://islandora.ca/resources/contributors) pages on Islandora.ca for more information. We recommend using the [islandora-playbook](https://github.com/Islandora-Devops/islandora-playbook) to get started. ## License [GPLv2](http://www.gnu.org/licenses/gpl-2.0.txt) DOES AUTO-UPDATING WORK NOW?