# Islandora [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.4-8892BF.svg?style=flat-square)](https://php.net/) [![Build Status](https://github.com/islandora/islandora/actions/workflows/build-2.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/2.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_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/) If you are using a Drush version less than 10.4 you will also need to install and enable [migrate_tools](http://drupal.org/project/migrate_tools) separately. ## 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: * [Islandora Technical Advisory Group](https://github.com/Islandora/islandora-community/wiki/Technical-Advisory-Group-%28TAG%29) ## Sponsors * [American Philosophical Society](https://www.amphilsoc.org/) * [Born-Digital, Inc.](https://www.born-digital.com/) * [discoverygarden inc.](https://www.discoverygarden.ca/) * [LYRASIS](https://www.lyrasis.org/) * [McMaster University](https://www.mcmaster.ca/) * [PALS](https://www.mnpals.org/) * [University of Limerick](https://www.ul.ie/) * [University of Manitoba](https://umanitoba.ca/) * [UPEI](https://www.upei.ca/) * [Simon Fraser University](https://www.sfu.ca/) * [York University](https://www.yorku.ca/) ## Development If you would like to contribute, please get involved by attending our weekly [Tech Call](https://github.com/Islandora/islandora-community/wiki/Weekly-Open-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](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist#contributor-license-agreements) or [Corporate Contributor License Agreement](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist#contributor-license-agreements). Please see the [Contributor License Agreements](https://github.com/Islandora/islandora-community/wiki/Contributor-License-Agreements) page on the islandora-community wiki 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)