Skip to content

Adds the ability to to create compound objects using objects created with any other Islandora solution pack by enabling a generic parent-child relationships between objects.

License

Notifications You must be signed in to change notification settings

Islandora/islandora_solution_pack_compound

 
 

Repository files navigation

Compound Object Solution Pack Build Status

Introduction

The Islandora Compound Object Solution Pack enables the creation and management of parent-child relationships between objects, and an interface to navigate between children of the same object. Children have an order within their parent, which can be managed from the parent object.

Requirements

This module requires the following modules/libraries:

Specific features require the following modules/libraries:

  • Islandora Solr Search Module

    • Provides a Solr backend to retrieve children instead of using the resource index
    • Configurable ability to hide child objects from Solr search results
  • JAIL JQuery library

    • For the JAIL Display (lazy-loading) block

Installation

Install as usual, see this for further information.

If using the JAIL display, the JAIL library must be present within sites/all/libraries/JAIL.

Usage

This module provides a "Compound CModel". Objects of this type are shells to hold children. They have no content of their own, and the object page at a Compound CModel object displays the content and metadata of its first child. This module can be configured to allow other objects to have children, in which case, the parent object appears as usual, and the navigation block displays the parent followed by its children.

Compound relationships are managed through the Manage » Compound tab which appears on all objects.

Navigation between objects linked by a Compound relationship requires a block to be placed on the interface in Structure » Blocks. This module provides two options: a standard Islandora Compound Object Navigation block, and the Islandora Compound JAIL Display, which uses a javascript library for lazy-loading (improving performance on compound objects with many children).

compobjblocks_to_configure

Configuration

Options for this module can be set at Administration » Islandora » Solution pack configuration » Compound Object Solution Pack (admin/islandora/solution_pack_config/compound_object). Configuration options are documented further in our Wiki.

If the Solr Search Module is enabled, you can use Solr instead of SPARQL to query for Compound membership. Options for this can be configured on the Solr backend tab (admin/islandora/solution_pack_config/compound_object/solr).

Main Configuration

If you use the Solr backend then you may wish to configure the fields that store the compound (isConstituentOf) relationship and the sequence number.

Solr Backend Configuration

Theme:

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

Batch Ingest:

A zip importer for child objects is available as a submodule, and documentation is in its own README.

Drush:

If compound objects were created before 7.x-1.2, they will use the relationship isPartOf instead of isConstituentOf. A drush command, drush update_rels_predicate, can be run from the command line to update these predicates. To use it, temporarily set the Child relationship predicate in the compound solution pack to isPartOf. The script will set it to isConstituentOf when it finishes.

Notes on usage:

  • The script acts on the children of Compound CModel objects; it does not affect compounds where the parent is a different type.
  • If anonymous cannot view Islandora objects, then the drush script must be explicitly run as a user who can.

Documentation

Further documentation for this module is available at our wiki.

Troubleshooting/Issues

Having problems or solved a problem? Check out the Islandora google groups for a solution.

Maintainers/Sponsors

Current maintainers:

Development

If you would like to contribute to this module, please check out CONTRIBUTING.md. In addition, we have helpful Documentation for Developers info, as well as our Developers section on the Islandora.ca site.

License

GPLv3

About

Adds the ability to to create compound objects using objects created with any other Islandora solution pack by enabling a generic parent-child relationships between objects.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 93.5%
  • CSS 4.2%
  • JavaScript 2.3%