Adds all required Fedora objects to allow users to ingest and retrieve Oral Histories (video/audio) files through the Islandora interface
Pull request Compare This branch is 104 commits behind digitalutsc:7.x.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Oral Histories Solution Pack

Still in active development, expecting changes or errors from time to time


Adds all required Fedora objects depending on video or audio file uploaded and TRANSCRIPT / MEDIATRACK datastream through the Islandora interface. Displays transcript content along with video or audio file.


This module requires the following modules/libraries:


Install as usual, see this for further information.


There are some configuration options on Administration » Islandora » Oral Histories Solution Pack (admin/islandora/solution_pack_config/oralhistories) page. 'Annotation' tab is still in early development stage which should be disabled on production server.

For "Transcripts UI" module, on Configuration » User Interface » Transcripts UI (admin/config/user-interface/transcripts), "Tiers" and "Speaker names" need be configured based on the transcript xml file in the form of TIER_ID|TIER_NAME. For example, with simple transcript xml file below the TIER_ID will be or_transcript (xml tag with 'or_' prefix). TIER_NAME could be any text label for users to see: or_transcript|Transcript. You can put all possible TIER_ID|TIER_NAME on your installation, as different transcript files may have different tiers (xml tags) and tier_names


Caution: This Solution Pack is currently in development stage. It only supports transcript file in a flat xml format like below:

Here is a simple xml file for transcript:

<?xml version="1.0" encoding="UTF-8"?>
    <!-- If the entire transcript has one speaker only, use 'solespeaker' element.
         Then skip 'speaker' element in 'cue' element level. But DO NOT use them in both places. 
         If 'solespeaker' element presents in the document, following 'speaker' elements will be ignored. -->
    <solespeaker>One Speaker</solespeaker>
        <speaker>Different Speaker</speaker>
        <!-- 'start' and 'end' elements are start time and end time in seconds for the cue. -->
        <!-- 'transcript' and/or 'translation' are default content tiers of the cue. 
              Extra tier(s) can be added as long as they are listed in the configuration page. 
             'transcript' element is required if 'Enable captions/subtitles display' is configured to be true. -->
        <transcript>This is the transcript text content.</transcript>
        <translation>This is the annotation content.</translation>

    <!-- add more cues with above structure.-->


If you have determined on what xml tags for your use case, please make sure the structure of child elements in tag are consistent in the same transcript xml file, even some child elements are empty. By doing so we can make sure those child elements are indexed with the correct sequence numbers so they can be assembled back properly when displaying on 'Transcript' tab.

Index transcript fields in Solr

A or_transcript_solr.xslt file (xsl/or_transcript_solr.xslt) is included in the module in order to index transcript.xml fields in Solr.

  • Please drop this file to 'islandora_transforms' folder and update the foxmlToSolr.xslt file to include new xslt file.
  • Modify solr schema.xml file to add or.* fields created from transcript.xml file.
  • On our instance, we use type="text" for those transcript fields as shown in the example below. You need use a correct field type based on your solr instance.
<dynamicField name="or_*" type="text" indexed="true" stored="true" multiValued="true"/>

Please restart the solr application with new schema.


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


Current maintainers:


If you would like to contribute to this module, please check out our helpful Documentation for Developers info, as well as our Developers section on the site.