Current Release
This documentation covers the latest release of Islandora 7.x. For the very latest in Islandora, we recommend Islandora 8.

Overview

This module allows you to add person, place, event, and organization entities to an Islandora repository. These entities are metadata-based repository objects that can be used for consistent use of names throughout the repository (name authority control) and to build departmental directories or faculty profiles to work with the Islandora Scholar institutional repository module. A number of forms and additional features are provided in this module for those building an institutional repository with Islandora.

Metadata

Entities can be created in one of two metadata formats: Metadata Authority Description Schema (MADS) or Encoded Archival Context - Corporate Bodies, Persons, and Families (EAC-CPF). Much of the functionality for batch ingest and autocomplete (to use entities as authority objects) uses the MADS forms provided with the module. EAC-CPF forms are also provided for each entity type.

  • People entities comes with a default MADS and EAC-CPF form.
  • Places have an EAC-CPF form.
  • Events have an EAC-CPF form.
  • Organization entities come with a Organization EAC-CPF form and a Department MADS form.

Thumbnails

Custom thumbnails can be added via the manage tab to ingested Events, Places, and Organizations. When creating People entities, a thumbnail can be added at time of object creation. If the thumbnail is not added afterward for the Events, Places, and Organizations Entities, the default icon is the folder icon used for collections.

Entity Content Model

Objects ingested under Events, Places, Organization and People content models are also affiliated with the generic "Entity" content model provided with the solution pack. To use the Entity content model to create entities in a collection, you must add it to the collection policy in the collection's Manage tab, and associate an appropriate form with entities in the Islandora Forms module administration. 

Dependencies

Downloads

Release Notes and Downloads

Latest Code on GitHub

Configuration

Solr configuration

The autocomplete for the MADS forms requires that MADS entity values are indexed in Solr.

  • Include the XSL transformations in basic-solr-config (example config from discoverygarden) in the appropriate place in your Solr system files.
  • The foxmlToSolr.xslt file associated with Solr must contain a link to a MADS transformation (such as in this foxmlToSolr.xslt file from discoverygarden)
  • Islandora Solr Metadata must be chosen as the default metadata display in Islandora. This can be set at Administration » Islandora » Metadata Display (admin/islandora/metadata).

The Solr fields for searching entities and the collections that contain the entities can be configured at Administration » Islandora » Solution pack configuration » Entities (admin/islandora/solution_pack_config/entities).

Entity Solution Pack - Solr Configuration Fields

 

Entity Solution Pack - Entity Collection Configuration Fields

By default, the solution pack creates a single collection for all entities. If entities are divided into several collections, the PIDS for relevant collections can be added here. 

 

 

Entity Solution Pack - Autocomplete Configuration Fields

The autocomplete configuration fields correspond to fields indexed in Solr and the MADS forms packaged with the module.

Default configurations:
  • Solr field for scholar title: MADS_title_mt
  • Solr field for department: MADS_department_mt
  • Solr field for disambiguated full name: MADS_disambiguated_fullname_mt
  • Solr field for last name: MADS_family_mt

Image of Islandora Entities autocomplete configuration

Entity Solution Pack - Solr Sort Field

The "Solr field to sort citations and theses by" will be used to order the lists of related objects under "Recent citations" and on the "Citations" and "Theses" tabs (which only show up if a person is connected to Citation or Theses objects - see below). As with all Solr sort fields, this must be a single-valued field, and must be followed by a space and the string 'asc' or 'desc' to indicate sort order.


View EACCPF Person

The default view for an EACCPF person record:



View MADS Person

The default view for a MADS person record (reflecting a "scholar" in an Institution)



 

Other Views

EACCPF Objects, Events, and Places (after a thumbnail has been affiliated) will look as below:

 


Content Models, Prescribed Datastreams and Forms

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

  • Islandora Entity Content Model (islandora:entityCModel)
  • Islandora Place Content Model (islandora:placeCModel)
  • Islandora Person Content Model (islandora:personCModel)
  • Islandora Event Content Model (islandora:eventCModel)
  • Islandora Organization Content Model (islandora:organizationCModel)
  • Entity Collection (islandora:entity_collection)

Entity objects created using these content models will have the following datastreams:

RELS-EXT

Default Fedora relationship metadata

MADS/EACCPF/MODSDescriptive metadata, in a format correlating to the form selected.
TN

Thumbnail image, created at time of ingest

DCDublin Core record

Batch Ingest for Person Entities

Instructions for using the CSV import can be found in islandora_solution_pack_entities/modules/islandora_entities_csv_import/README.md

The import must be run from an account with a username of "admin". If the username on the account is anything else, then the import will error out after importing only a single record.

The CSV file must be formatted in UTF-8.  If a non-UTF-8 character is in the file, then the import will load each row but error out on the non-UTF-8 character, and not load any subsequent rows.

Person Entities using the MADS form (Scholars) can be batch uploaded using the submodule Islandora Entities CSV Import, available at DRUPAL_ROOT/import_entity_csv. Batch ingested entities have a default association with the Person Entity Content model and create a MADS datastream matching the default MADS person form.

Prepare a comma-delimited CSV file using the column names below. Only columns with names in the list will be processed; all others will be ignored. Any comma within a field must be replaced with a double pipe. For example, 'Nursing, Department of' must be replaced with 'Nursing|| Department of'.

  • STATUS
  • POSITION 
    • Note:  In the MADS schema, <position> is an uncontrolled field.  The csv importer treats <position> as uncontrolled, which is valid with MADS.  However, the default Scholar MADS Form in Islandora treats <position> as a controlled field, and if used to touch up a record with an uncontrolled value for <position>, the default Scholar MAD Form will delete the position information out of the metadata.  If you use the csv importer to fill position with an uncontrolled value, then you will need to modify the Scholar MADS Form, in order to allow <position> to be edited later in Islandora.  The recommended quick fix is to edit the Scholar MADS Form and delete the portion of the form which edits <position>.
  • EMAIL
    • Note:  The csv importer will store this to the incorrect MADS field, resulting in invalid MADS.  Further, since the default Scholar MADS Form is designed around valid MADS, you will not later be able to touch up this field using the Islandora MADS forms.  A quick fix is not to load Excel records with an EMAIL column, and instead include email in the ROOM_NUMBER or BUILDING or CAMPUS column, which will store to a <note type="address"> field in the MADS.  The better fix is to modify the code for the csv importer.
  • IDENTIFIER
  • TERM_OF_ADDRESS
  • GIVEN_NAME
  • FAMILY_NAME
  • FAX
    • Note:  The csv importer will store this to the incorrect MADS field, resulting in invalid MADS.  Further, since the default Scholar MADS Form is designed around valid MADS, you will not later be able to touch up this field using the Islandora MADS forms.  A quick fix is not to load Excel records with a FAX column, and instead include fax number in the ROOM_NUMBER or BUILDING or CAMPUS column, which will store to a <note type="address"> field in the MADS.  The better fix is to modify the code for the csv importer.
  • PHONE
    • Note:  batch csv importer will store this to the incorrect MADS field, resulting in invalid MADS.  Further, since the default Scholar MADS Form is designed around valid MADS, you will not later be able to touch up this field using the Islandora MADS forms.  A quick fix is not to load Excel records with a PHONE column, and instead include phone number in the ROOM_NUMBER or BUILDING or CAMPUS column, which will store to a <note type="address"> field in the MADS.  The better fix is to modify the code for the csv importer.
  • DISPLAY_NAME
  • DEPARTMENT
  • NAME_DATE
  • STREET
  • CITY
  • STATE
  • COUNTRY
  • POSTCODE
  • START_DATE
    • Note:  Batch csv importer will store this to the incorrect MADS field, resulting in invalid MADS.  Further, since the default Scholar MADS Form is designed around valid MADS, you will not later be able to touch up this field using the Islandora MADS forms.  A quick fix is not to use this field with the csv importer.  The better fix is to modify the code for the csv importer.
  • END_DATE
    • Note:  Batch csv importer will store this to the incorrect MADS field, resulting in invalid MADS.  Further, since the default Scholar MADS Form is designed around valid MADS, you will not later be able to touch up this field using the Islandora MADS forms.  A quick fix is not to use this field with the csv importer.  The better fix is to modify the code for the csv importer.
  • ROOM_NUMBER
  • BUILDING
  • CAMPUS

This will result in the following MADS datastream:

Sample MADS output
<mads xmlns="http://www.loc.gov/mads/v2" xmlns:mads="http://www.loc.gov/mads/v2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
    <authority>
        <name type="personal">
            <namePart type="given">[GIVEN_NAME]</namePart>
            <namePart type="family">[FAMILY_NAME]</namePart>
            <namePart type="termsOfAddress">[TERM_OF_ADDRESS]</namePart>
            <namePart type="date">[NAME_DATE]</namePart>
        </name>
        <titleInfo>
            <title>[DISPLAY_NAME]</title>
        </titleInfo>
    </authority>
    <affiliation>
        <organization>[DEPARTMENT]</organization>
        <position>[POSITION]</position>
        <address>
        <email>[EMAIL]</email>
        <phone>[PHONE]</phone>
        <fax>[FAX]</fax>
        <street>[STREET]</street>
        <city>[CITY]</city>
        <state>[STATE]</state>
        <country>[COUNTRY]</country>
        <postcode>[POSTCODE]</postcode>
        <start_date>[START_DATE]</start_date>
        <end_date>[END_DATE]</end_date>
    </address>
    </affiliation>
    <note type="address">[ROOM_NUMBER] [BUILDING] [CAMPUS]</note>
    <identifier type="u1">[IDENTIFIER]</identifier>
    <note type="status">[STATUS]</note>
</mads>

 

Multiple arguments within one column can be separated with a tilde (~) e.g. meat~cheese~pickles. However, this may yield unexpected results (missing XML attributes, improper nesting) if used outside the following fields: FAX, PHONE, EMAIL, POSITION. The following is the result of including two values in each field can be seen below:

Sample MADS output with multiple values
<?xml version="1.0" encoding="UTF-8"?>
<mads xmlns="http://www.loc.gov/mads/v2" xmlns:mads="http://www.loc.gov/mads/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <authority>
    <name type="personal">
      <namePart>[GIVEN_NAME1]</namePart>
      <namePart type="given">[GIVEN_NAME2]</namePart>
      <namePart>[FAMILY_NAME1]</namePart>
      <namePart type="family">[FAMILY_NAME2]</namePart>
      <namePart>[TERM_OF_ADDRESS1]</namePart>
      <namePart type="termsOfAddress">[TERM_OF_ADDRESS2]</namePart>
      <namePart>[NAME_DATE1]</namePart>
      <namePart type="date">[NAME_DATE2]</namePart>
    </name>
    <titleInfo>
      <title>[DISPLAY_NAME1]</title>
      <title>[DISPLAY_NAME2]</title>
    </titleInfo>
  </authority>
  <affiliation>
    <organization>[DEPARTMENT1]</organization>
    <organization>[DEPARTMENT2]</organization>
    <position>[POSITION1]</position>
    <position>[POSITION2]</position>
    <address>
      <email>[EMAIL1]</email>
      <email>[EMAIL2]</email>
      <phone>[PHONE1]</phone>
      <phone>[PHONE2]</phone>
      <fax>[FAX1]</fax>
      <fax>[FAX2]</fax>
      <street>[STREET1]</street>
      <street>[STREET2]</street>
      <city>[CITY1]</city>
      <city>[CITY2]</city>
      <state>[STATE1]</state>
      <state>[STATE2]</state>
      <country>[COUNTRY1]</country>
      <country>[COUNTRY2]</country>
      <postcode>[POSTCODE1]</postcode>
      <postcode>[POSTCODE2]</postcode>
      <start_date>[START_DATE1]</start_date>
      <start_date>[START_DATE2]</start_date>
      <end_date>[END_DATE1]</end_date>
      <end_date>[END_DATE2]</end_date>
    </address>
  </affiliation>
  <note>[ROOM_NUMBER1]</note>
  <note>[ROOM_NUMBER2] 
[BUILDING1]</note>
  <note>[BUILDING2] 
[CAMPUS1]</note>
  <note type="address">[CAMPUS2]</note>
  <identifier>[IDENTIFIER1]</identifier>
  <identifier type="u1">[IDENTIFIER2]</identifier>
  <note>[STATUS1]</note>
  <note type="status">[STATUS2]</note>
</mads>

How to Connect a Person Entity with Citation or Thesis objects

Connecting is done by string match on an identifier.

  1. Create the Person Entity with the MADS Scholar Form.
  2. In the MADS Scholar Form, in the field for "Identifier", enter a controlled value.  (The "Identifier" form field stores to MADS as <identifier type="u1">.)  You will use this identifier later to link citation objects, by entering the same identifier in with author information on a Citation or Thesis object.  (Tip:  Before beginning, pick a system for assigning these identifiers.  A good idea would be to use an existing authority control system, such as university assigned email addresses or Orcid IDs, and use these consistently in your repository.)
    Note: If you link a Citation object to a Person entity, then you change the Person's identifier, the link from the Citation object will break.  So, you need to pick the system for assigning identifiers before you begin to create Person entities.
  3. Create a Citation object.  In the Citation MODS Form, in the Author information in the field for "Qualified Name", enter the identifier that you used when you created the Person Entity for the author.  (The "Qualified Name" form field stores to MODS as <displayForm>.)
  4. Now, when you view the Person Entity which you created in step 1, you will see the Citation object show up under "Recent Citations" for the person.

How to Connect a Person Entity to a Department

  1. Create an Organization using Department MADS Form.
  2. Use a controlled identifier for "Department Name" (stores in the MADS as <authority><name type="corporate"><namePart>).  This will be shown to the user on each faculty member's profile, so use actual department names as identifiers.
  3. Edit or create a Person entity using the MADS Scholar Form.
  4. For "Department", start typing the name of the Department.  When it autofills, click to complete the value you would like to use.  The department name is stored as a string in the Person entity's MADS in MADS field <affiliation><organization>, and displays on the person's profile under the heading for "Department(s)" and under "Other Scholars in..."
  5. If you need to change the department name later, you need to edit the name in the MADS for every person in that department.

 

  • No labels