blacklight-spotlight 3.4.1 → 3.4.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/spotlight/version.rb +1 -1
  3. data/spec/factories/bulk_updates.rb +21 -0
  4. data/spec/factories/contact_emails.rb +8 -0
  5. data/spec/factories/contact_images.rb +8 -0
  6. data/spec/factories/contacts.rb +11 -0
  7. data/spec/factories/custom_fields.rb +9 -0
  8. data/spec/factories/custom_search_fields.rb +9 -0
  9. data/spec/factories/exhibit_thumbnails.rb +8 -0
  10. data/spec/factories/exhibits.rb +17 -0
  11. data/spec/factories/featured_images.rb +16 -0
  12. data/spec/factories/group.rb +17 -0
  13. data/spec/factories/job_trackers.rb +11 -0
  14. data/spec/factories/language.rb +8 -0
  15. data/spec/factories/main_navigation.rb +9 -0
  16. data/spec/factories/pages.rb +34 -0
  17. data/spec/factories/resources.rb +14 -0
  18. data/spec/factories/roles.rb +9 -0
  19. data/spec/factories/searches.rb +33 -0
  20. data/spec/factories/tags.rb +14 -0
  21. data/spec/factories/translation.rb +8 -0
  22. data/spec/factories/users.rb +50 -0
  23. data/spec/fixtures/800x600.png +0 -0
  24. data/spec/fixtures/avatar.png +0 -0
  25. data/spec/fixtures/bulk-update-template.csv +57 -0
  26. data/spec/fixtures/csv-upload-fixture.csv +4 -0
  27. data/spec/fixtures/gk446cj2442-manifest.json +58 -0
  28. data/spec/fixtures/iiif_responses.rb +312 -0
  29. data/spec/fixtures/json-upload-fixture.json +3 -0
  30. data/spec/fixtures/sample_solr_documents.yml +9385 -0
  31. data/spec/fixtures/updated-bulk-update-template-no-cols.csv +4 -0
  32. data/spec/fixtures/updated-bulk-update-template-w-tags.csv +4 -0
  33. data/spec/fixtures/updated-bulk-update-template.csv +4 -0
  34. data/spec/support/controllers/engine_helpers.rb +9 -0
  35. data/spec/support/disable_friendly_id_deprecation_warnings.rb +11 -0
  36. data/spec/support/features/capybara_default_max_wait_metadata_helper.rb +20 -0
  37. data/spec/support/features/test_features_helpers.rb +92 -0
  38. data/spec/support/helpers/controller_level_helpers.rb +25 -0
  39. data/spec/support/stub_iiif_response.rb +26 -0
  40. data/spec/support/views/test_view_helpers.rb +21 -0
  41. metadata +39 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dafde1a36e1a3f3e608fd0af0c1fe94a8a19b37fcb026647cd01680bf3d6b02
4
- data.tar.gz: b06879821f191b68bf252bca5f433ca74b11d030b0871890bbf1afdca990c1f7
3
+ metadata.gz: bc4256e20e17471f8ae0899662bb9b3560c76571bd9543c58ff55e5a921d2574
4
+ data.tar.gz: 93e66e16c4d6b556ab95752444f3990d5ce1e2e3b0bc4c7d396e1ae0c6003ce9
5
5
  SHA512:
6
- metadata.gz: 6ea08929fec9c1f9381163ab0f8de5c4aa6c979ee5931be1f31095bc8f1b2197971b50a839d6d0ce15ad4a35dd444f9065921e2fdc9a36a5a530fd7992da9bd7
7
- data.tar.gz: bb2d68c6f2d9ea92b5eba3f86e2dd3e5ba4368e31cf265200a32bf501370c2c4b72956605b7242a56d970f8d8fbfc3d7b27fd22e6aa0df62af6900dafae4aa88
6
+ metadata.gz: 9ee7e5be23d75b7fffcaa81856222bddd90e67c09f67394b730221fbf84fe6dba5ebf77c830755ba0e77c7584c871c505ef93dc96306368577be6beb9e098b96
7
+ data.tar.gz: 0bc0941b6b371c2c7c2dc33439eccd2c9fc07a3d8a97aa0597822ec025da2e2b5f6e5a0718a26c9df46cbc0cffffbd322cc557ac5e05568dcefe24be74d5734c
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spotlight
4
- VERSION = '3.4.1'
4
+ VERSION = '3.4.2.2'
5
5
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :bulk_update, class: 'Spotlight::BulkUpdate' do
5
+ file { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'updated-bulk-update-template.csv'), __dir__)) }
6
+
7
+ exhibit
8
+ end
9
+
10
+ factory :bulk_update_no_cols, class: 'Spotlight::BulkUpdate' do
11
+ file { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'updated-bulk-update-template-no-cols.csv'), __dir__)) }
12
+
13
+ exhibit
14
+ end
15
+
16
+ factory :tagged_bulk_update, class: 'Spotlight::BulkUpdate' do
17
+ file { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'updated-bulk-update-template-w-tags.csv'), __dir__)) }
18
+
19
+ exhibit
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :contact_email, class: 'Spotlight::ContactEmail' do
5
+ email { 'exhibit_contact@example.com' }
6
+ exhibit
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :contact_image, class: 'Spotlight::ContactImage' do
5
+ image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
6
+ iiif_tilesource { 'https://exhibits-stage.stanford.edu/images/78' }
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :contact, class: 'Spotlight::Contact' do
5
+ exhibit
6
+
7
+ trait :with_avatar do
8
+ association :avatar, factory: :contact_image
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :custom_field, class: 'Spotlight::CustomField' do
5
+ exhibit
6
+ field { 'field_name_tesim' }
7
+ configuration { { 'label' => 'Some Field' } }
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :custom_search_field, class: 'Spotlight::CustomSearchField' do
5
+ exhibit
6
+ field { 'field_name_tesim^60' }
7
+ configuration { { 'label' => 'Some Field' } }
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :exhibit_thumbnail, class: 'Spotlight::ExhibitThumbnail' do
5
+ image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
6
+ iiif_tilesource { 'https://exhibits-stage.stanford.edu/images/78' }
7
+ end
8
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :exhibit, class: 'Spotlight::Exhibit' do
5
+ sequence(:title) { |n| "Exhibit Title #{n}" }
6
+ published { true }
7
+ after(:build) { |exhibit| exhibit.searches << FactoryBot.build(:default_search, exhibit: exhibit) }
8
+
9
+ trait :with_thumbnail do
10
+ association :thumbnail, factory: :exhibit_thumbnail
11
+ end
12
+ end
13
+ factory :skinny_exhibit, class: 'Spotlight::Exhibit' do
14
+ sequence(:title) { |n| "Exhibit Title #{n}" }
15
+ published { true }
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :featured_image, class: 'Spotlight::FeaturedImage' do
5
+ image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
6
+ iiif_tilesource { 'https://exhibits-stage.stanford.edu/images/78' }
7
+ end
8
+
9
+ factory :temporary_image, class: 'Spotlight::TemporaryImage' do
10
+ image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
11
+ end
12
+
13
+ factory :masthead, class: 'Spotlight::Masthead' do
14
+ image { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :group, class: 'Spotlight::Group' do
5
+ exhibit
6
+
7
+ factory :group_with_searches do
8
+ transient do
9
+ searches_count { 5 }
10
+ end
11
+ end
12
+
13
+ after(:create) do |group, evaluator|
14
+ create_list(:search, evaluator.searches_count, groups: [group]) if evaluator.respond_to?(:searches_count)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :job_tracker, class: 'Spotlight::JobTracker' do
5
+ user
6
+ on factory: :exhibit
7
+ resource factory: :exhibit
8
+ created_at { Time.zone.parse('2017-01-05 23:00:00') }
9
+ updated_at { Time.zone.parse('2017-01-05 23:05:00') }
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :language, class: 'Spotlight::Language' do
5
+ exhibit
6
+ locale { 'es' }
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :main_navigation, class: 'Spotlight::MainNavigation' do
5
+ exhibit
6
+ nav_type { 'browse' }
7
+ display { true }
8
+ end
9
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :feature_page, class: 'Spotlight::FeaturePage' do
5
+ exhibit
6
+ sequence(:title) { |n| "FeaturePage#{n}" }
7
+ published { true }
8
+ content { '[]' }
9
+ end
10
+ factory :feature_page_static_title, class: 'Spotlight::FeaturePage' do
11
+ exhibit
12
+ title { 'FeaturePage' }
13
+ published { true }
14
+ content { '[]' }
15
+ end
16
+ factory :feature_subpage, parent: :feature_page do
17
+ transient do
18
+ exhibit
19
+ end
20
+ title { 'SubPage1' }
21
+ content { '[]' }
22
+ after(:build) { |subpage, evaluator| subpage.parent_page = FactoryBot.create(:feature_page, exhibit: evaluator.exhibit) }
23
+ end
24
+ factory :about_page, class: 'Spotlight::AboutPage' do
25
+ exhibit
26
+ sequence(:title) { |n| "AboutPage#{n}" }
27
+ content { '[]' }
28
+ published { true }
29
+ end
30
+
31
+ factory :home_page, class: 'Spotlight::HomePage' do
32
+ exhibit
33
+ end
34
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :resource, class: 'Spotlight::Resource' do
5
+ exhibit
6
+ type { 'Spotlight::Resource' }
7
+ url { 'some url' }
8
+ end
9
+ factory :uploaded_resource, class: 'Spotlight::Resources::Upload', parent: :resource do
10
+ type { 'Spotlight::Resources::Upload' }
11
+ association :upload, factory: :featured_image
12
+ # url { Rack::Test::UploadedFile.new(File.expand_path(File.join('..', 'fixtures', 'avatar.png'), __dir__)) }
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :role, class: 'Spotlight::Role' do
5
+ resource { FactoryBot.build(:exhibit) }
6
+ role { 'curator' }
7
+ user
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :search, class: 'Spotlight::Search' do
5
+ exhibit
6
+ sequence(:title) { |n| "Exhibit Search #{n}" }
7
+ sequence(:slug) { |n| "Search#{n}" }
8
+
9
+ after(:build) { |search| search.thumbnail = FactoryBot.create(:featured_image) }
10
+
11
+ factory :search_with_groups do
12
+ transient do
13
+ groups_count { 2 }
14
+ end
15
+ end
16
+
17
+ after(:create) do |search, evaluator|
18
+ create_list(:group, evaluator.groups_count, searches: [search]) if evaluator.respond_to?(:groups_count)
19
+ end
20
+ end
21
+
22
+ factory :published_search, parent: :search do
23
+ published { true }
24
+ end
25
+
26
+ factory :default_search, class: 'Spotlight::Search' do
27
+ exhibit
28
+ title { 'All exhibit items' }
29
+ long_description { 'All items in this exhibit.' }
30
+
31
+ after(:build) { |search| search.thumbnail = FactoryBot.create(:featured_image) }
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :tag, class: 'ActsAsTaggableOn::Tag' do
5
+ sequence(:name) { |n| "tag#{n}" }
6
+ end
7
+
8
+ factory :tagging, class: 'ActsAsTaggableOn::Tagging' do
9
+ sequence(:tag) { |n| FactoryBot.create(:tag, name: "tagging#{n}") }
10
+ tagger { FactoryBot.create(:exhibit) }
11
+ taggable { FactoryBot.create(:exhibit) }
12
+ context { :tags }
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :translation do
5
+ locale { 'en' }
6
+ exhibit
7
+ end
8
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ FactoryBot.define do
4
+ factory :user do
5
+ sequence(:email) { |n| "user#{n}@example.com" }
6
+ password { 'insecure' }
7
+ factory :site_admin do
8
+ after(:create) do |user, _evaluator|
9
+ user.roles.create role: 'admin', resource: Spotlight::Site.instance
10
+ end
11
+ end
12
+
13
+ factory :named_exhibit_roles do
14
+ transient do
15
+ exhibit { FactoryBot.create(:exhibit) }
16
+ role { nil }
17
+ end
18
+
19
+ after(:create) do |user, evaluator|
20
+ user.roles.create role: evaluator.role, resource: evaluator.exhibit if evaluator.role
21
+ end
22
+
23
+ factory :exhibit_admin do
24
+ transient do
25
+ role { 'admin' }
26
+ end
27
+ end
28
+
29
+ factory :exhibit_curator do
30
+ transient do
31
+ role { 'curator' }
32
+ end
33
+ end
34
+ end
35
+
36
+ trait :with_exhibit_role do
37
+ transient do
38
+ exhibit { FactoryBot.create(:exhibit) }
39
+ role { nil }
40
+ end
41
+
42
+ after(:create) do |user, evaluator|
43
+ user.roles.create role: evaluator.role, resource: evaluator.exhibit if evaluator.role
44
+ end
45
+ end
46
+
47
+ factory :exhibit_visitor do
48
+ end
49
+ end
50
+ end
Binary file
Binary file
@@ -0,0 +1,57 @@
1
+ Item ID,Item Title,Visibility
2
+ bm387cy2596,L'AMERIQVE,true
3
+ cz507zk0531,NEW MEXICO,true
4
+ dq287tq6352,L'AMERIQUE,false
5
+ ds525vw8509,"Mappa mondo and Figura prima del capitolo IV., ossia della divisione della terra",true
6
+ dx157dh4345,KAART der REYZE van drie Schepen naar het ZUYDLAND in de Jaaren 1721 en 1722,true
7
+ dy396mt9665,a Map of the Middle Part of AMERICA,true
8
+ fh912bx9878,[Americas],true
9
+ gk446cj2442,[World map],true
10
+ gt736xf9712,HEMISPHERE OCCIDENTAL DU GLOBE TERRESTRE contenant L'AMERIQUE SEPTENT.LE et L'AMERIQUE M.LE et P.tie des TERRES ARCTIQUES et ANTARCTIQUES Subdivisées en leurs Regions.,true
11
+ gv664gb7394,SITVS TERRÆ CIRCVLIS COELESTIBVS CIRCVNDATÆ.,true
12
+ gw298sq0504,"PLANISPHÆRIVM BRAHEVM, Sive Structura MVNDI TOTIVS, EX HYPOTHESI TYCHONIS BRAHEI IN PLANO DELINEATA. [Amstelodami : Apud Joannem Janssonium, 1660].",true
13
+ jp266yb7109,AMERICA,false
14
+ jr961xz9944,AMERICA SEPTENTRIONALIS,true
15
+ jy409qg0248,Novissima et Accuratissima TOTIUS AMERICÆ DESCRIPTIO.,true
16
+ kw406zk5778,[America],true
17
+ kw703rh2327,"Mappe-monde pour connoitre les progŕes & les conquestes les plus remarquables des Provinces-Vnies, ainsy que celles des Compagnies d'Orient et d'Occident et les païs quelles possédent dans l'un et dans l'autre hemisphere and Atlas historique, ou, nouvelle introduction à l’histoire, à la chronologie & à la géographie ancienne & moderne",true
18
+ mw236cd6430,"AMERIQUE SEPTENTRIONALE divisée en ses principales parties, ou sont distingués les vns des autres LES ESTATS suivant qu'ils appartiennent presentemet aux FRANÇOIS, CASTILLANS, ANGLOIS, SUEDOIS, DANOIS, HOLLANDOIS. Tirée des Relations de toutes ces Nations Par le Sr. Sanson, Geographe Ordinaire du Roy",true
19
+ np731wc7689,L'AMERIQUE | Suivant les dernieres | Observations de l'Acade= | mie Royale des Sciences Seventh of 18 States,true
20
+ nq874ts4848,"Introduction a la Geographie Avec une Description Historique Sur Touttes les parties de la Terre
21
+ Title page",true
22
+ nr766vt0518,GEOGRAPHISCHE UNIVERSAL - ZEIG UND SCHLAG-UHR : WEERELD-BEELDIGH WYS EN SLAG WERK,true
23
+ nz081wv9348,AMERIQUE SEPTENTRIONALE Par N. Sanson Geographe Ord.re du Roy. Reveue et changée en plusieurs endroits suivant les Memoires les plus recents augmentée et corrigée en cette seconde edition,true
24
+ pm812zf5263,AMERICÆ,true
25
+ ps921pn8250,PLANISPHERE URANO-GEOGRAPHIQUE c'estadire LES SPHERES CELESTE et TERRESTRE mises en plan.,false
26
+ pt603pv6417,"A Map of the WORLD with the Ships DUKE & DUTCHESS Tract Round it, from 1708 to 1711. Second of 2 States",true
27
+ qb677kc3995,L'AMERIQVE autrement Le NOVVEAV MONDE et INDES OCCIDENTALES,true
28
+ qt469cf8909,"Pascaart vertoonende de Zeecusten van Chili, Peru, Hispania, Nova, Nova Granada, en California.",true
29
+ rc221bv1386,[Armenian map of the world],true
30
+ rj993fh5469,"A New Map of the World Shewing the Course of Sr. Francis Drake, William Shouten and Capt. William Dampiers Voyages Round it.",true
31
+ rx614sw9194,AMERICÆ nova discriptio.,true
32
+ rz043dh7915,MAR DEL ZUR HISPANIS MARE PACIFICUM.,true
33
+ rz818vx8201,'t Noorder deel van WEST-INDIEN,true
34
+ sb904gg2771,Planisphaerium terrestre cum utroque coelesti hemisphaerio ... = Vlakke ared-kloot met het beide hemelsch half-rond,true
35
+ sd345mz1879,A MAP of AMERICA from the latest and best Observations,true
36
+ sn161bw2027,"Pas-caart van Zuyd-Zee, tusschen California en ilhas de Ladrones and La Atlas del mundo o el mundo aguado",true
37
+ sn343fc0807,AMERICQVE SEPTENTRIONALE,true
38
+ sp821gh4463,[World],true
39
+ sw106rc9347,AMERIQUE SEPTENTRIONALE,true
40
+ sx619yv5558,"Recentissima NOVI ORBIS, Sive AMERICÆ SEPTENTRIONALIS et MERIDIONALIS TABULA",true
41
+ tg729zw9405,NOVA TOTIVS AMERICÆ DESCRIPTIO.,true
42
+ vb000vb1451,AMERICA,true
43
+ vw323gf4937,AMERICA with those known parts in that unknowne worlde both people and manner of buildings Discribed and inlarged by I.S.Ano.1626,false
44
+ vy180gj7659,L'AMERIQUE Suivant les dernieres observations de l'Acad. Royale des Sciences.,true
45
+ wb806ct0449,A Generall Chart of the | SOUTH SEA | from the River of Plate to | Dampiers Streights on ye Coast | of NEW GUINEA,true
46
+ wt855xd4818,CONTINENT ARCTIQVE,true
47
+ xd327cm9378,"Mapa mundi, con los meridianos, y paralelos, iguales como los del globo tere- y arreglado a las mejores, y ultimas relaciones",true
48
+ yh941cp6284,Orbis terrarum tabula recens emendata et in lucem edita,true
49
+ ym733yc1437,"[Maps of the world] and A new and universal dictionary of arts and sciences: ... With an introductory preface, ... And illustrated with a great number of copper-plates, engraven by the best hands",true
50
+ yn959jw9550,A New Map of North AMERICA According to the Newest Observations.,true
51
+ ys360dp2191,TYPUS SELENOGRAPHICUS LUNÆ PHASES ET ASPECTUS VARIOS ADUMBRANS.,true
52
+ zn001wm6450,L'AMERIQVE autrement Le NOVVEAV MONDE et INDES OCCIDENTALES,true
53
+ zn845sh3664,PLANISPHERE REPRESENTANT TOUTE L'ETENDUE DU MONDE. DANS L'ORDRE QU'ON A SUIVI DANS CE LIVRE. NB. LES CHIFFRES SE RAPORTENT AUX CARTES ET AUX PAGES DES DESCRIPTIONS.,true
54
+ zq083qg2931,[Pacific Ocean],true
55
+ zr014mj0786,A New and Exact Map of ASIA According to the Best Observations,true
56
+ zs247rr8237,"AMERIQUE SEPTENTRIONALE divisée en ses principales parties, ou sont distingués les vns des autres LES ESTATS suivant qu'ils appartiennent presentemet aux FRANÇOIS, CASTILLANS, ANGLOIS, SUEDOIS, DANOIS, HOLLANDOIS. Tirée des Relations de toutes ces Nations Par le Sr. Sanson, Geographe Ordinaire du Roy",true
57
+ zv316zr9542,AMERIQUE SEPTENTRIONALE,false
@@ -0,0 +1,4 @@
1
+ url,full_title_tesim,spotlight_upload_description_tesim,spotlight_upload_attribution_tesim,spotlight_upload_date_tesim
2
+ http://lorempixel.com/800/500/,A random image,A random 800 by 500 image from lorempixel,lorempixel.com,2015
3
+ http://lorempixel.com/900/600/,Another random image,A random 900 by 600 image from lorempixel,lorempixel.com,2014
4
+ http://lorempixel.com/900/600/,Yet another random image to test UTF8 text,A random 900 by 600 image from lorempixel and some UTF8: Hüsker Dü,lorempixel.com,2016
@@ -0,0 +1,58 @@
1
+
2
+ {
3
+ "@context":"http://iiif.io/api/presentation/2/context.json",
4
+ "@id":"https://purl.stanford.edu/gk446cj2442/iiif/manifest",
5
+ "@type":"sc:Manifest",
6
+ "label":"[World map",
7
+ "attribution":"This work has been identified as being free of known restrictions under copyright law, including all related and neighboring rights. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.",
8
+ "seeAlso":{
9
+ "@id":"https://purl.stanford.edu/gk446cj2442.mods",
10
+ "format":"application/mods+xml"
11
+ },
12
+ "thumbnail":{
13
+ "@id":"https://stacks.stanford.edu/image/iiif/gk446cj2442%2Fgk446cj2442_05_0001/full/!400,400/0/default.jpg",
14
+ "@type":"dctypes:Image",
15
+ "format":"image/jpeg",
16
+ "service":{
17
+ "@context":"http://iiif.io/api/image/2/context.json",
18
+ "@id":"https://stacks.stanford.edu/image/iiif/gk446cj2442%2Fgk446cj2442_05_0001",
19
+ "profile":"http://iiif.io/api/image/2/level1.json"
20
+ }
21
+ },
22
+ "sequences":[
23
+ {
24
+ "@id":"https://purl.stanford.edu/gk446cj2442#sequence-1",
25
+ "@type":"sc:Sequence",
26
+ "label":"Current order",
27
+ "canvases":[
28
+ {
29
+ "@id":"https://purl.stanford.edu/gk446cj2442/iiif/canvas/gk446cj2442_1",
30
+ "@type":"sc:Canvas",
31
+ "label":"mclaughlin_gk446cj2442",
32
+ "height":3943,
33
+ "width":4956,
34
+ "images":[
35
+ {
36
+ "@id":"https://purl.stanford.edu/gk446cj2442/iiif/annotation/gk446cj2442_1",
37
+ "@type":"oa:Annotation",
38
+ "motivation":"sc:painting",
39
+ "resource":{
40
+ "@id":"https://stacks.stanford.edu/image/iiif/gk446cj2442%2Fgk446cj2442_05_0001/full/full/0/default.jpg",
41
+ "@type":"dctypes:Image",
42
+ "format":"image/jpeg",
43
+ "height":3943,
44
+ "width":4956,
45
+ "service":{
46
+ "@context":"http://iiif.io/api/image/2/context.json",
47
+ "@id":"https://stacks.stanford.edu/image/iiif/gk446cj2442%2Fgk446cj2442_05_0001",
48
+ "profile":"http://iiif.io/api/image/2/level1.json"
49
+ }
50
+ },
51
+ "on":"https://purl.stanford.edu/gk446cj2442/iiif/canvas/gk446cj2442_1"
52
+ }
53
+ ]
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ }