This documentation refers to an earlier version of Islandora. https://wiki.duraspace.org/display/ISLANDORA/Start is current.

Overview

The Compound Solution pack module adds the ability to to create what are called "compound objects." Compound objects gather together objects created with any other Islandora solution pack. When you create a compound object, a generic parent-child relationship is authored between the existing objects and the new compound object (implying a sibling relationship between the objects gathered as "children" of the new compound). These objects are ordered as part of the compound (so an object becomes "part one" of the compound object). This is reflected in the RELS-EXT datastream. 

The object view of a compound object is replaced by the view of its first child object. After a compound object is created, the "Islandora Compound Object Navigation" block must be activated and set in an appropriate region. When a user navigates to a compound object, this block will render a thumbnail view of all the additional objects linked via the compound object. In addition, a "Compound" management tab allows for the addition, removal, and reordering of objects from the compound object.

Configuration options are available through the Compound objects administrative menu (admin/islandora/solution_pack_config/compound_object)

Dependencies

  • Islandora
  • JAIL library
    • If utilizing the lazy loading image ability of the solution pack, enable the "Islandora Compound Object JAIL Display" block and ensure the JAIL library is present within sites/all/libraries/JAIL.

Downloads

Release Notes and Downloads

Installation

Enable the Islandora compound object module (admin/modules). There exists two block options for displaying compound objects within Islandora:

  • The first is the default "Islandora Compound Object Navigation" block. Go to admin/structure/block/manage/islandora_compound_object/compound_navigation/configure to find navigation controls and load all objects related to the parent compound. 
  • The second is the "Islandora Compound Object JAIL Display" block. Go to admin/structure/block/manage/islandora_compound_object/compound_jail_display/configure to use the JAIL library, which allows for lazy loading of images. This allows the block to load images only when they are being accessed which will greatly increase performance on compounds with many children. 

Usage

To create a compound object:

  • Go to parent collection.
  • Click "Manage".
  • Enable the "Compound Object" object under "Collection" tab, then click "Update Collection Policy".
  • After adding compound objects to your Collection Policy, you will be able to click the "Overview" tab and "Add an Object".
  • Select "Compound Object" then "Next".
  • Select your metadata form, such as the "Compound Object MODS form", then "Next".
  • Fill in your metadata form form then click "Next".
    • Note that you will not be ingesting an object datastream at this point, you are just creating an empty "parent" compound object that you will then be able to add "child" objects to.
  • After the compound object has been created, you can add "child" objects under "Manage" > "Compound". Child objects must already exist in your repository before you can add them.
  • Under the "Add Child Object" field, enter the PID for each object to be added to the compound object, then click submit. If you do not use drush, you must do this one-at-a-time for each PID. An autocomplete will also allow you to search for the object by its label if this is relevant. Once a child has been added to the compound, the view of the compound will use the metadata and thumbnail from the first object to render the main object view. 

Configuration

The module has documented configuration options at admin/islandora/solution_pack_config/compound_object. 

By default, compound objects will be filtered from Solr search results.

By default, you can only add child objects to compound objects.

 Block

There exists two block options for displaying compound objects within Islandora. The default "Islandora Compound Object Navigation" block will provide navigation controls and loading of all objects related to the parent compound. The latter option is a block utilizing the JAIL library which allows for lazy loading of images. This allows the block to load images only when they are being accessed which will greatly increase performance on compounds with many children.

 Theme

 The "Islandora Compound Object Navigation" block can be themed. See theme_islandora_compound_prev_next().

 Drush

 A Drush command has been added, to be run from the command line (Terminal), that will update the existing rel-predicate of existing compound objects to isConstituentOf. It can be run with the drush command drush update_rels_predicate. This command accpets no arguments.

Content Models, Prescribed Datastreams and Forms

The Compound Solution Pack comes with the following objects in http://path.to.your.site/admin/islandora/solution_packs:

  • Islandora Compound Object Content Model (islandora:compoundCModel)
  • Compound Collection (islandora:compound_collection)

An image object created using the Compound Solution Pack's content model will have the following datastreams:

RELS-EXT

Default Fedora relationship metadata

MODSMODS record, created at time of ingest
DCDublin Core record
TN

Thumbnail image, created at time of ingest

The Compound Solution Pack comes with the Compound Object MODS form.

  • No labels