The organization of an Islandora 7 site’s content is defined by the Fedora Object to Object Relationship Metadata (RELS-EXT). Every object in an Islandora 7 repository has a RELS-EXT datastream that defines the object’s relationship(s) within the repository. For example, the RELS-EXT for a newspaper issue contains information about the newspaper object of which it is a member.
In Islandora 8, these relationships are defined within Drupal. The Islandora 8 default configuration adds to Drupal the content type of Repository Item. The Repository Item content type is what we use to create our resource nodes. The relationships within our repository are defined within the resource nodes by the following:
- a Member of field that indicates that an item is a member of another resource
- a Children tab which provides a management interface to access, re-order, add, or delete the members of a resource
The Member of field and Children tab are used to create a parent/child relationship between two resource nodes. Any two nodes can be related in this way, though typically, the parent node will have a content model of Collection or Paged Content.
For example, adding a book involves creating a resource node for the book itself and child resource nodes for each sub-component of the book (front cover, page 1, page 2, …, back cover). Each child resource node contains a reference to the parent resource node in the Member of field. The parent node has a Children tab that contains a list of all the child nodes.
The Member of field can hold multiple references, so it is possible for a single child to belong to multiple parents.