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.
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
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:
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/MODS | Descriptive metadata, in a format correlating to the form selected. |
TN | Thumbnail image, created at time of ingest |
DC | Dublin Core record |
Batch Ingest for Person Entities
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
- EMAIL
- BUILDING ROOM_NUMBER
- IDENTIFIER
- TERM_OF_ADDRESS
- GIVEN_NAME
- FAMILY_NAME
- FAX
- PHONE
- DISPLAY_NAME
- DEPARTMENT
- BUILDING
- CAMPUS
- NAME_DATE
- STREET
- CITY
- STATE
- COUNTRY
- POSTCODE
- START_DATE
- END_DATE
- ROOM_NUMBER
- BUILDING
- CAMPUS
This will result in the following MADS datastream:
<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:
<?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.
- Create the Person Entity with the MADS Scholar Form.
- 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 Orcid IDs, and use these consistently in your repository.)
- 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>.)
- 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
- Create an Organization using Department MADS Form.
- Use a controlled identifier for "U2 identifier" (stores in the MADS as "<identifier type="u2">").
- Edit or create a Person entity using the MADS Scholar Form.
- For "Department", start typing the name of the Department. When it autofills, click to complete the value you would like to use. (It will autofill with name, but will store the identifier. ie. you must enter the name and cannot enter the u2 identifier. The identifier is stored and used to make the connection later, because that way if you edit metadata on the Organization and change the name, you won't break the connection between people and the department.)