benwbrum / fromthepage

FromThePage is a wiki-like application for crowdsourcing transcription of handwritten documents.
http://fromthepage.com
GNU Affero General Public License v3.0
170 stars 50 forks source link

Handle IIIF Manifest Errors #324

Closed benwbrum closed 6 years ago

benwbrum commented 8 years ago

Navigating the Wellcome Library's IIIF collections blow up when we try to view a manifest.

To reproduce: Import a collection from Wellcome, such as http://localhost:3000/iiif/admin/explore/http:%2F%2Fwellcomelibrary.org%2Fservice%2Fcollections%2Fgenres%2FLetters%2F

Click on a letter, such as "On the exciting cause of the Asiatic cholera..." http://localhost:3000/iiif/admin/explore/http:%2F%2Fwellcomelibrary.org%2Fservice%2Fcollections%2Fgenres%2FLetters%2F

This results in an exception being thrown from deep within the iiif-presentation library as it tries to parse the file:

undefined method `has_key?' for #<Array:0x007f5f852740c0>
Extracted source (around line #19):

17
18
19
20
21
22

    manifest_json = connection.read
    #manifest_json = TEST_MANIFEST
    service = IIIF::Service.parse(manifest_json)

    sc_manifest = ScManifest.new
    sc_manifest.at_id = service['@id']

Rails.root: /home/benwbrum/dev/products/fromthepage/fromthepage
Application Trace | Framework Trace | Full Trace

app/models/sc_manifest.rb:19:in `manifest_for_at_id'
app/controllers/sc_collections_controller.rb:19:in `explore_manifest'

Request

Parameters:

{"at_id"=>"http://wellcomelibrary.org/iiif/b21780730/manifest",
 "sc_collection_id"=>"3"}
benwbrum commented 6 years ago

This is a bug in osullivan, not a problem wtih us.