-
Notifications
You must be signed in to change notification settings - Fork 0
Content modeling
Islandora 8 compartmentalized content model behaviors by opting for a mix of microservices, context, and action solutions. Islandora objects are referred to as nodes. A node’s type is called a resource model. The resource models include (but are not limited to) audio, binary, collections, digital documents, images, pages, paged content, publication issue, and videos. In Islandora 7, content models refer to how derivatives are generated and how the object is displayed, however in Islandora 8 this concept doesn’t fit the behavior completely. When a model tag is applied to an object/node, this indicates to Drupal which context(s) to use resulting in corresponding actions to be fired. generating appropriate derivatives, resource mapping, and specifying an appropriate default viewer.
“Islandora 8 Data Model. Between the original capabilities of Drupal 8, the wealth of available modules, and the work that has already been done with Islandora 8, nearly any standard Islandora 7 content model can be represented in Islandora 8 from the simple (binary, PDF, image, audio, video) to the complex (compounds, books, newspapers). This is all done via the Repository Item content model which contains nearly all of the fields necessary to describe any type of object, and is the core of most of Islandora 8’s Drupal features. Many Drupal views and contexts can be triggered by targeting one or more of the fields in a Repository Item node in a way that makes requiring separate content types unnecessary. Examples include changing the template for displaying a node based on what “type” it is, or changing the viewer that is used based on the type of file a node has.” link
- 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 8 is a “complete integration between Drupal resources and a datastore, to manage RDF conversion and asset storage” (Summary, n.d.). Islandora 8 can be configured to use a variety of datastores but it defaults to Duraspace’s Fedora 5.x Repository. Islandora 8.x-1.x makes use of the Portland Common Data Model (PCDM) as a layer of abstraction over LDPCs to make containment simpler to understand for users; a pcdm:Collection may contain other pcdm:Collections or pcdm:Objects (similar to an Islandora 7.x-1.x collection content model), and a pcdm:Object may contain other pcdm:Objects (similar to the way an Islandora 7.x-1.x compound object has child objects) or pcdm:Files (similar to the way Islandora 7.x-1.x objects have datastreams). (What’s the difference between Islandora 1.x and Islandora 8.x., n.d.). (See Figure 1 below.)
- Islandora uses Blazegraph for querying its triple store. “Blazegraph DB is an ultra high-performance graph database supporting Blueprints and RDF/SPARQL APIs. It supports up to 50 Billion edges on a single node.” (Blazegraph, n.d.). “This replaces Mulgara. Formerly known as BigData. The intended use is solely for maintaining performant support of large Fedora repositories containing millions of objects.” (Replacing Mulgara with Blazegraph for High-Performance Low-Level Storage, n.d.). summarized link
Islandora 8 supports nearly limitless use cases because of how the system is integrated to allow Drupal contributed modules to treat Fedora assets just like Drupal assets. The following are examples of use cases available in Islandora 8 and currently in varying stages of development. As they are active cases, most are not yet completely documented:
- Collections
- Images (Large sized TIff/JP2 & typical size JPG/GIF/BMP)
- Paged content (Paged Content, n.d.)
- Books (Paged Content, n.d.)
- Scrapbooks (mixed content books)
- Periodicals
- Newspapers
- Serials
- Photographs (with a front & back), like postcards
- Compound
- Etc.
- Video, Audio, and Oral History
- PDFs
- Binary files
- Exhibits [personally involved in the generation of this] (Jordan, Keiser-Clark, Richards, van Schaik, Stanley, & Tillay, 2019)
- Scholarly
- Journal article
- Presentation
- Poster
- Research data (1 set)
- Data Sets (2 or more sets)
- An example of a Drupal module for datasets can be seen here: https://demo.getdkan.com/dataset/cedcd327-4e5d-43f9-8eb1-c11850fa7c55 (DKAN, n.d.)]
- Modeling GIS Data (Mairo, 2019)
- Electronic Theses & Dissertations (ETDs)
- Bibliography & Citations (ADCI Solutions, 2017)
- Orcid (Shen, 2017)
- IRUS Counts (scholarly statistics)
- Utilization of Ontologies (BIBO, COAR, and SPAR) (Lamb, 2017). Currently conceptual, so it’s not certain how complex it is.
- Accessing Islandora with Amazon Alexa (Anez, 2019)
- Islandora Research Management Platform (O’Neill & Stanley, 2020)
A suite of microservices (Crayfish) are initiated during the process of ingesting an object, which maps resources to Fedora and generates derivative files among other things. Unlike previous versions of Islandora, version 8 asynchronously manages and queues these microservices for scalability, stability, and speed. Specifically some of these microservices generate derivatives like thumbnails, browser sized images, and OCR. The system defaults come with OpenSeadragon with an IIIF image server. The viewer can be switched to Mirador or Universal Viewer with a relatively small amount of code (Zoller, 2019).
- Supports the deposit and characterization of preservation-quality large image (TIFs & JP2s). This process creates derivatives including but not limited to technical metadata generation and other access media for browser consumption.
- Supports the deposit of books with preservation-quality large images as pages. Most objects in Islandora are treated like paged objects to begin with so there is little difference between a page versus a large image. The difference is the microservices that are triggered and how that changes the behavior of the viewer.
- Automates the generation of access copies and other derivatives when an object is ingested and/or modified. This includes but is not limited to lower resolution media for browsers and thumbnail image generation for small & large images, video and audio files (Waveform generation from original audio file for thumbnail generation).
- Serves high quality access derivatives with image-zooming capability via a viewer (OpenSeaDragon, Mirador, or Universal Viewer). The default image viewer is Open Seadragon.
- Renders images with a IIIF image server.
- Automating the generation of the OCR microform is taken care of through Hypercube/Tesseract microservice. Tesseract is fully capable but it’s unclear how to configure Drupal to export hOCR. This may be user error and not a limitation of the stack.
- Supports deposit and organization of existing objects into compound objects through Drupal’s contributed module Webforms. The manner in which Islandora 8 processes all repository objects is similar to Islandora 7 ingesting a binary cmodel object with a Full MODS form.
- Supports the deposit and presentation of PDF objects. PDFs with written text can be utilized to provide searching capabilities on the content of a book or document. Ghostscript can be used on text based PDFs. Images require an OCR utility like Tesseract to extract text. This is built into the default Islandora configuration.
- Supports the deposit and presentation of audio objects. Most of the functionality specific to audio is carried out by Drupal modules. Audio transcript editing/display, playback, and thumbnail generation of the audio’s waveform are all Drupal core and contributed features.
- Supports the deposit and presentation of video objects. Most of the functionality specific to video is carried out by Drupal modules. Video transcript editing/display, thumbnail generation and playback are all Drupal core and contributed features. An Islandora 8 code submission is pending approval for transcripts (Manimjs_drupal, 2020) and an oral history step by step instruction as proof of concept is available (Shaw, 2019).
- Supports the deposit and presentation of oral history objects. The only discernible difference between audio/video objects and oral history objects is the presence of transcripts, transcripts are already part of the audio/video features indicating this is completely covered as well.