This User Documentation section is aimed at site admins and repository managers who need to understand and configure their Islandora. It will go in depth on how Islandora allows you to use the various features of Drupal to construct and display repository items.
Islandora, like Drupal, provides tools to create a site, but does not force you to conform to any specific site structure, organization, or navigation. There is a hope that we can provide something useful out of the box, while also allowing the full suite of Drupal configuration options. This out-of-the-box configuration is the Islandora Demo module.
It is recommended to be familiar with the basics of Drupal, including content types, fields, users, and views. The Official Drupal 8 User Guide and the Community Guide to Drupal 8 are a good place to start.
In Islandora, when we say object, we mean a collection of properties describing something. And when we say datastream, we mean a file that is a digital representation of an object. Content in our repositories is stored as an object that is associated with any number of datastreams. In Drupal terms, that makes everything an entity, where
- An object is a node (a.k.a. content).
- Nodes have properties that can be configured called fields.
- Fields for nodes are grouped together as content types.
- Datastreams are media, which are files that can have their own fields and media types.
- Metadata used to categorize entities are taxonomy terms, which also have their own fields and vocabularies. They can represent everything from simple labels to more complex concepts such as people, places, and subjects.
Islandora 7.x basically inherits its object model from Fedora 3.x. In 7.x, Fedora stores all properties and content associated with an object - not only its owner, dc.title, status, PID, and status, but also any content files such as OBJ, DC, MODS, and RELS-EXT. In Islandora 7.x, Fedora is the authoritative, primary source for all aspects of an object. Fedora 3.x is not an optional component of an Islandora 7.x repository, it is the primary datastore.
In Islandora 8, using Fedora is optional. That's right, optional. Drupal, and not Fedora, is the primary source of all aspects of an Islandora 8 object, and, with some variations, Drupal, not Fedora, is the primary datastore in an Islandora repository. If Fedora is present in an Islandora 8 repository, content in it is a tightly synchronized copy of object properties and files managed by Drupal.
Even though Fedora is optional in Islandora 8, most repositories will use it since it provides its own set of services that are worth taking advantage of, such as:
- flexible, and configurable, disk storage architecture
- fixity digest generation
- Memento versioning
- integration with RDF/Linked Data triplestores
- Integration with Microservices via API-X
- WebAC Policies for access control (not currently leveraged by default)
In Islandora repositories that use Fedora, all properties about Drupal nodes are mirrored in Fedora as RDF properties. But, even if an Islandora instance does not use Fedora, Drupal can provide an object's properties as RDF (again, Drupal is the primary source of data in Islandora 8). In addition, the Drupal media associated with Islandora 8 objects are persisted to Fedora, although exactly which media is configurable within the Islandora 8 admin interface. Just as Drupal out of the box has a public and private filesystem, Islandora adds a third filesystem to Drupal called, not surprisingly, "fedora", and it is to this filesystem that media are persisted. We will provide more information about Fedora's role in an Islandora 8 repository in the metadata and media sections.
Many users of Islandora may be familiar with the metaphorical diagram of Islandora 7 as a cheeseburger, which provides a memorable approximation of how the different parts of the software stack interact in a vertically-integrated, relatively customizable fashion (ie, Drupal, Solr, Islandora, and Fedora are stable layers, and the "toppings" stand in for Solution Packs and other utilities that can be added or removed to customize Islandora):
For a similar conceptual approach to Islandora 8, we present it as a bento box: a very modular platform, in which each piece may be removed and replaced with something different, without disrupting other parts of the stack:
For a true diagram of how the various parts of Islandora 8 interact, please see the full Architecture Diagram