Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
{div:class=noprint|style=} {panel:title=On this page:}{toc}{panel}{div} h2. New and Changed Features h3. Book Solution Pack The Book Solution Pack has undergone a major update. It now includes both the Islandora Image Viewer and the Internet Archive Book Viewer, and you can choose which viewer you'd like to use simply by switching between the two available content models. Other major improvements include: * *Improved Uploader:* The new uploader allows you to add multiple ZIP or TIFF files to an upload queue and then ingest all the book pages in the upload queue. You can also append or insert pages in the same way after the initial pages have been uploaded and ingested. * *OCR Searching and Highlighting Within the Book:* A search box in the IA viewer allows you to search for terms within a book, and the terms will be highlighted in the viewer using hOCR. * *Page-Level Metadata:* You can associate a metadata form with the pageCModel, allowing you to create metadata for each page in a book. h3. Solr Solr has seen many improvements in this release, including a reorganized configuration page, the introduction of date faceting, and a host of under-the-hood updates. The following JIRA tickets provide more detail on all the Solr updates in this release: {jiraissues:url=https://jira.duraspace.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+ISLANDORA+AND+fixVersion+%3D+10972+AND+component+%3D+%22Solr%2FSearch+6.x%22+AND+status+%3D+Closed+ORDER+BY+priority+DESC&tempMax=1000|columns=type,key,summary,priority|anonymous=true} h3. OAI Dissemination The Islandora OAI module provides access to the OAI-PMH 2.0 protocol. You can read more about the OAI-PMH 2.0 standard [here|http://www.openarchives.org/OAI/openarchivesprotocol.html]. The OAI path in Islandora is set to */oai2*. From here, you can build OAI requests based on the OAI-PMH 2.0 standards. h3. Tabs Configuration The 'Object Details' tab is now configurable through the 'Tabs Configuration' settings under 'Islandora Configuration'. This tab can be configured one of three ways: # *Hide the Tab* # *XSLT:* Apply an XSL transform to a particular metadata Datastream.  # *Table:* Display metadata in a table. Can be configured to display DC, MODS, or any other available DSID. h3. ImageCache External Islandora now supportsImageCache External {color:#000000}to display thumbnails as an experimental feature. {color}{color:#000000}This option can be enabled in the Islandora Configuration page under 'Advanced configuration options'. There are a couple things to note:{color} * {color:#000000}It requires a patch to ImageCache External. A patched version can be found{color} {color:#000000}[here|https://github.com/adam-vessey/imagecache_external]{color}{color:#000000}. If you find the feature useful please upvote our ImageCache External patch{color} {color:#000000}[here|http://drupal.org/node/1539778]{color}{color:#000000}. {color} * {color:#000000}Because ImageCache connects as an anonymous user, in order to see it in action the 'anonymous' role must have 'Access Fedora Collections' permission. Otherwise, it falls back to the default display. {color} h2. Downloads Most modules have been updated for this release, but any that have not been updated will retain their version from the last release (6.x-11.3.1). They have been provided in this list, but if you already have the 6.x-11.3.1 version installed you need not replace it.  *Modules* || Component || Version || Documentation || | [Islandora Repository|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Islandora Repository] | | [Batch Ingest|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_batch_ingest-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Batch Ingest] | | [Collection Manager|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_collection_manager-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Collection Manager] | | [Harvester|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_harvester-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Harvester] | | [Solr|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_solr_search-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Solr Search] | | [Audio Solution Pack|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_solution_pack_audio-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Audio Solution Pack] | | [Books Solution Pack|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_solution_pack_book-6.x-12.2.0.tar.gz] | 6.x-11.3.1 | [Link|Books Solution Pack] | | [Basic Image Solution Pack|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_solution_pack_image-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Basic Image Solution Pack] | | [Large Image Solution Pack|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_solution_pack_large_image-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Large Image Solution Pack] | | [PDF Solution Pack|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_solution_pack_pdf-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|PDF Solution Pack] | | [Video Solution Pack|http://islandora.ca/sites/islandora.ca/files/12.1.0/islandora_solution_pack_video-12.1.0.tar.gz] | 6.x-12.1.0 | [Link|Video Solution Pack] | | [XML Forms|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_xml_forms-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|XML Forms] | *Dependencies* || Component || Version || Documentation || | [Content Model Forms|http://islandora.ca/sites/islandora.ca/files/12.2.0/islandora_content_model_forms-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Content Model Forms] | | [Objective Forms|http://islandora.ca/sites/islandora.ca/files/12.2.0/objective_forms-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Objective Forms] | | [PHP Lib|http://islandora.ca/sites/islandora.ca/files/12.2.0/php_lib-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|PHP Lib] | | [Tabs|http://islandora.ca/sites/islandora.ca/files/11.3.1/tabs-11.3.1.tar.gz] | 6.x-11.3.1 | [Link|Tabs] | *Other Files* || Component || Version || Documentation || | [Drupal Filter|http://islandora.ca/sites/islandora.ca/files/12.2.0/drupal_filter.tar.gz] | 6.x-12.1.0 | [Link|Installing & Configuring the Islandora Module and Servlet Filter] | | [Islandora Image Viewer|http://islandora.ca/sites/islandora.ca/files/12.2.0/iiv-6.x-12.2.0.tar.gz] | 6.x-12.1.0 | [Link|Chapter 12 - Installing Solution Pack Dependencies] | h2. Improvements {jiraissues:url=
Div
Wiki Markup
style
float:right
classnoprint
Panel
titleOn this page:
Table of Contents

Islandora 12.2.0 was released on Thursday, June 21, 2012. 

New and Changed Features

Book Solution Pack

The Book Solution Pack has undergone a major update. It now includes both the Islandora Image Viewer and the Internet Archive Book Viewer, and you can choose which viewer you'd like to use simply by switching between the two available content models. Other major improvements include:

  • Improved Uploader: The new uploader allows you to add multiple ZIP or TIFF files to an upload queue and then ingest all the book pages in the upload queue. You can also append or insert pages in the same way after the initial pages have been uploaded and ingested.
  • OCR Searching and Highlighting Within the Book: A search box in the IA viewer allows you to search for terms within a book, and the terms will be highlighted in the viewer using hOCR.
  • Page-Level Metadata: You can associate a metadata form with the pageCModel, allowing you to create metadata for each page in a book.
Warning

In order to use the new Book Solution Pack you must update any legacy book objects in your repository using the Migrate Books module. You must also update your GSearch XSLT and Solr schema in order to use the new search features.

Panel
borderStylesolid
title

How to Use the Migrate Books Module

The Migrate Books module has been packaged with this release. You can only use this module as the Admin user (user 1). Once it has been installed and enabled a menu link will appear in your Navigation menu: Add new Islandora RDF relationships to existing books. Clicking this link will rewrite the RDF relationships for all existing books in your repository to include the necessary relationships for the new Book Solution Pack.

Note: This process is destructive (i.e. it will overwrite existing RDF Datastreams), so any customizations will be lost. In most cases there will not be any customizations, however. This process can be potentially time consuming, especially for large book collections.

Updating GSearch and Solr

1. Locate and edit  demoFoxmlToSolr.xslt (usually located in  /usr/local/fedora/tomcat/ webapps/fedoragsearch/WEB-INF/ classes/config/index/gsearch_ solr/ )

2. Add the following lines to index the RELS-EXT Datastream:

Code Block
languagehtml/xml
<xsl:for-each select="foxml:datastream[@ID='RELS-EXT']/foxml:datastreamVersion[last()]/foxml:xmlContent//rdf:Description/*">
  <field>
    <xsl:attribute name="name">
      <xsl:value-of select="concat('rels.', local-name())"/>
    </xsl:attribute>
    <xsl:choose>
      <xsl:when test="@rdf:resource"><!-- Deal with URIs/resources -->
        <xsl:value-of select="@rdf:resource"/>
      </xsl:when>
      <xsl:otherwise><!-- otherwise, assume it's a literal -->
        <xsl:value-of select="text()"/>
      </xsl:otherwise>
    </xsl:choose>
  </field>
</xsl:for-each>

3. Next, add the following lines to index the MODS from parent books:

Code Block
languagehtml/xml
<!-- get the mods of the parent book if this object is a pageCmodel object-->

    <xsl:variable name="thisCurrentCModel">
        <xsl:value-of select="foxml:datastream[@ID='RELS-EXT']/foxml:datastreamVersion[last()]/foxml:xmlContent//rdf:Description/fedora-model:hasModel/@rdf:resource"/>
    </xsl:variable>
    <xsl:if test="$thisCurrentCModel = 'info:fedora/islandora:pageCModel'">
        <!-- get the parent pid-->
        <xsl:variable name="Book_Pid">
            <xsl:value-of select="foxml:datastream[@ID='RELS-EXT']/foxml:datastreamVersion[last()]/foxml:xmlContent//rdf:Description/rel:isMemberOf/@rdf:resource"/>
        </xsl:variable>
        <field>
            <xsl:attribute name="name">PARENT_pid</xsl:attribute>
            <xsl:value-of select="substring($Book_Pid,13)"/>
        </field>
        <xsl:variable name="PARENT_MODS"
            select="islandora-exts:getXMLDatastreamASNodeList(substring($Book_Pid,13), $REPOSITORYNAME, 'MODS', $FEDORASOAP, $FEDORAUSER, $FEDORAPASS, $TRUSTSTOREPATH, $TRUSTSTOREPASS)"/>

        <!--<xsl:variable name="PARENT_MODS" select="document(concat($PROT, '://', $LOCALFEDORAUSERNAME, ':', $LOCALFEDORAPASSWORD, '@',
            $HOST, ':', $PORT, '/fedora/objects/', substring($Book_Pid,13), '/datastreams/', 'MODS', '/content'))"/>-->
        <xsl:for-each select="$PARENT_MODS//mods:title">
            <field>
                <xsl:attribute name="name">
                    <xsl:value-of select="concat('PARENT_', local-name())"/>
                </xsl:attribute>
                <xsl:value-of select="normalize-space(text())"/>
            </field>
        </xsl:for-each>
        <xsl:for-each select="$PARENT_MODS//mods:originInfo/mods:dateIssued">
            <field>
                <xsl:attribute name="name">
                    <xsl:value-of select="concat('PARENT_', local-name())"/>
                </xsl:attribute>
                <xsl:value-of select="normalize-space(text())"/>
            </field>
        </xsl:for-each>
        <xsl:for-each select="$PARENT_MODS//mods:genre">
            <field>
                <xsl:attribute name="name">
                    <xsl:value-of select="concat('PARENT_', local-name())"/>
                </xsl:attribute>
                <xsl:value-of select="normalize-space(text())"/>
            </field>
        </xsl:for-each>
        <xsl:for-each select="$PARENT_MODS//mods:subject/mods:name/mods:namePart/*">
            <xsl:if test="text() [normalize-space(.) ]">
                <!--don't bother with empty space-->
                <field>
                    <xsl:attribute name="name">
                        <xsl:value-of select="concat('PARENT_', 'subject')"/>
                    </xsl:attribute>
                    <xsl:value-of select="normalize-space(text())"/>
                </field>
            </xsl:if>
        </xsl:for-each>
        <xsl:for-each select="$PARENT_MODS//mods:topic">
            <xsl:if test="text() [normalize-space(.) ]">
                <!--don't bother with empty space-->
                <field>
                    <xsl:attribute name="name">
                        <xsl:value-of select="concat('PARENT_', 'topic')"/>
                    </xsl:attribute>
                    <xsl:value-of select="normalize-space(text())"/>
                </field>
            </xsl:if>
        </xsl:for-each>

        <xsl:for-each select="$PARENT_MODS//mods:geographic">
            <xsl:if test="text() [normalize-space(.) ]">
                <!--don't bother with empty space-->
                <field>
                    <xsl:attribute name="name">
                        <xsl:value-of select="concat('PARENT_', 'geographic')"/>
                    </xsl:attribute>
                    <xsl:value-of select="normalize-space(text())"/>
                </field>
            </xsl:if>
        </xsl:for-each>
        <xsl:for-each select="$PARENT_MODS//mods:subject/mods:name/mods:namePart/*">
            <xsl:if test="text() [normalize-space(.) ]">
                <!--don't bother with empty space-->
                <field>
                    <xsl:attribute name="name">
                        <xsl:value-of select="concat('PARENT_', 'subject')"/>
                    </xsl:attribute>
                    <xsl:value-of select="normalize-space(text())"/>
                </field>
            </xsl:if>

        </xsl:for-each>
        <xsl:for-each select="$PARENT_MODS//mods:part/mods:detail/*">
            <xsl:variable name="TYPE">
                <xsl:value-of select="../@type"/>
            </xsl:variable>
            <field>
                <xsl:attribute name="name">
                    <xsl:value-of select="concat('PARENT_', $TYPE)"/>
                </xsl:attribute>
                <xsl:value-of select="."/>
            </field>
        </xsl:for-each>
        </xsl:if>
        <!--************************END PAGE PARENT MODS ***********************************************************-->
Note

The following namespace declarations should be present at the top of the XSLT. If not, you will need to add them:

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:rel="info:fedora/fedora-system:def/relations-external#"
xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:islandora-exts="xalan:// ca.upei.roblib. DataStreamForXSLT"
xmlns:fedora-model="info:fedora/fedora-system:def/model#"
xmlns:fedora="info:fedora/fedora-system:def/relations-external#"

4. Locate and edit schema.xml (usually located in /usr/local/fedora/gsearch_solr/solr/conf/)

5. Verify that OCR is being both indexed and stored. The line should look something like this:

Code Block
languagehtml/xml
<field name="OCR.OCR" type="text" indexed="true" stored="true" multiValued="true"/>

6. Restart GSearch (or just restart Fedora) and reindex by going to *http://your.site:8080/fedoragsearch/rest/\* (http://your.site:8080/fedoragsearch/rest/*)

a. Click updateIndex

b. Click updateIndex fromFoxmlFiles

You should now be able to search within books.

Solr

Solr has seen many improvements in this release, including a reorganized configuration page, the introduction of date faceting, and a host of under-the-hood updates. The following JIRA tickets provide more detail on all the Solr updates in this release:

Jira Issues
columnstype,key,summary,priority
anonymoustrue
urlhttps://jira.duraspace.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+ISLANDORA+AND+fixVersion+%3D+10972+AND+component+%3D+%22Solr%2FSearch+6.x%22+AND+status+%3D+Closed+ORDER+BY+priority+DESC&tempMax=1000

OAI Dissemination

The Islandora OAI module provides access to the OAI-PMH 2.0 protocol. You can read more about the OAI-PMH 2.0 standard here. The OAI path in Islandora is set to /oai2. From here, you can build OAI requests based on the OAI-PMH 2.0 standards.

Tabs Configuration

The 'Object Details' tab is now configurable through the 'Tabs Configuration' settings under 'Islandora Configuration'. This tab can be configured one of three ways:

  1. Hide the Tab
  2. XSLT: Apply an XSL transform to a particular metadata Datastream. 
  3. Table: Display metadata in a table. Can be configured to display DC, MODS, or any other available DSID.

ImageCache External

Islandora now supportsImageCache External to display thumbnails as an experimental feature.  This option can be enabled in the Islandora Configuration page under 'Advanced configuration options'. There are a couple things to note:

  • It requires a patch to ImageCache External. A patched version can be found here . If you find the feature useful please upvote our ImageCache External patch here
  • Because ImageCache connects as an anonymous user, in order to see it in action the 'anonymous' role must have 'Access Fedora Collections' permission. Otherwise, it falls back to the default display. 

Downloads

Most modules have been updated for this release, but any that have not been updated will retain their version from the last release. They have been provided in this list, but if you already have latest version installed you need not replace it. Please follow the Drupal.org guidelines for updating modules if you are updating from a previous version of Islandora.

Note

Be sure to follow the Drupal.org guidelines mentioned above when updating your modules. In particular, you need to completely remove and replace existing module directories, and run update.php after updating.

Modules

Dependencies

Component

Version

Documentation

Book Reader

6.x-12.2.0

 

Content Model Forms

6.x-12.2.0

Link

Objective Forms

6.x-12.1.0

Link

PHP Lib

6.x-12.2.0

Link

Tabs

6.x-12.2.0

Link

Other Files

Component

Version

Documentation

Drupal Filter

6.x-12.1.0

Link

Islandora Image Viewer

6.x-12.2.0

Link

Improvements

Jira Issues
columnstype,key,summary,priority
anonymoustrue
urlhttps://jira.duraspace.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+Islandora+AND+issuetype+%3D+Improvement+AND+fixVersion+%3D+%226.x-12.2.0%22+ORDER+BY+priority+DESC%2C+summary+ASC%2C+key+DESC&tempMax=1000

...

Bug Fixes

Jira Issues
columnstype,key,summary,priority

...

anonymous

...

true
urlhttps://jira.duraspace.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+Islandora+AND+issuetype+%3D+Bug+AND+fixVersion+%3D+%226.x-12.2.0%22+ORDER+BY+priority+DESC%2C+summary+ASC%2C+key+DESC&tempMax=1000

...

Contacts

Google Developers Group: For support, feedback, and bug reports.

Google Users Group: For user-related issues and information.

License

Islandora operates under a GNU license.