iiif_print 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.env +5 -0
  4. data/.fcrepo_wrapper +4 -0
  5. data/.github/release.yml +20 -0
  6. data/.github/workflows/branches.yml +24 -0
  7. data/.github/workflows/build-lint-test-action.yaml +33 -0
  8. data/.github/workflows/release_labels.yml +25 -0
  9. data/.gitignore +52 -0
  10. data/.rubocop.yml +177 -0
  11. data/.solr_wrapper +8 -0
  12. data/.travis.yml +49 -0
  13. data/CONTRIBUTING.md +181 -0
  14. data/Dockerfile +15 -0
  15. data/Gemfile +52 -0
  16. data/LICENSE +203 -0
  17. data/README.md +203 -0
  18. data/Rakefile +38 -0
  19. data/app/actors/iiif_print/actors/file_set_actor_decorator.rb +56 -0
  20. data/app/assets/config/iiif_print_manifest.js +2 -0
  21. data/app/assets/images/iiif_print/.keep +0 -0
  22. data/app/assets/javascripts/iiif_print/autocomplete_fix.js +33 -0
  23. data/app/assets/javascripts/iiif_print/ocr_search.js.erb +6 -0
  24. data/app/assets/javascripts/iiif_print.js +3 -0
  25. data/app/assets/stylesheets/iiif_print/_iiif_print.scss +4 -0
  26. data/app/assets/stylesheets/iiif_print/_issue_search.scss +13 -0
  27. data/app/assets/stylesheets/iiif_print/_issues_calendar.scss +18 -0
  28. data/app/assets/stylesheets/iiif_print/_newspapers_search.scss +38 -0
  29. data/app/assets/stylesheets/iiif_print/_search_results.scss +6 -0
  30. data/app/helpers/hyrax/iiif_helper.rb +22 -0
  31. data/app/helpers/iiif_print/application_helper.rb +5 -0
  32. data/app/helpers/iiif_print_helper.rb +64 -0
  33. data/app/indexers/concerns/iiif_print/child_indexer.rb +34 -0
  34. data/app/indexers/concerns/iiif_print/file_set_indexer.rb +29 -0
  35. data/app/mailers/iiif_print/application_mailer.rb +8 -0
  36. data/app/models/concerns/iiif_print/set_child_flag.rb +29 -0
  37. data/app/models/concerns/iiif_print/solr/document.rb +47 -0
  38. data/app/models/iiif_print/application_record.rb +6 -0
  39. data/app/models/iiif_print/derivative_attachment.rb +8 -0
  40. data/app/models/iiif_print/iiif_search_response_decorator.rb +17 -0
  41. data/app/models/iiif_print/ingest_file_relation.rb +14 -0
  42. data/app/models/iiif_print/pending_relationship.rb +7 -0
  43. data/app/presenters/iiif_print/iiif_manifest_presenter_behavior.rb +10 -0
  44. data/app/presenters/iiif_print/iiif_manifest_presenter_factory_behavior.rb +33 -0
  45. data/app/presenters/iiif_print/work_show_presenter_decorator.rb +29 -0
  46. data/app/renderers/hyrax/renderers/faceted_attribute_renderer_decorator.rb +18 -0
  47. data/app/search_builders/concerns/iiif_print/exclude_models.rb +17 -0
  48. data/app/search_builders/concerns/iiif_print/highlight_search_params.rb +14 -0
  49. data/app/services/iiif_print/manifest_builder_service_behavior.rb +97 -0
  50. data/app/services/iiif_print/pluggable_derivative_service.rb +120 -0
  51. data/app/views/catalog/_snippets_more.html.erb +16 -0
  52. data/app/views/hyrax/base/_representative_media.html.erb +9 -0
  53. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +8 -0
  54. data/app/views/hyrax/file_sets/_actions.html.erb +45 -0
  55. data/bin/rails +13 -0
  56. data/config/fcrepo_wrapper_test.yml +5 -0
  57. data/config/initializers/assets.rb +2 -0
  58. data/config/locales/iiif_print.de.yml +148 -0
  59. data/config/locales/iiif_print.en.yml +119 -0
  60. data/config/locales/iiif_print.es.yml +148 -0
  61. data/config/locales/iiif_print.fr.yml +149 -0
  62. data/config/locales/iiif_print.it.yml +142 -0
  63. data/config/locales/iiif_print.pt-BR.yml +148 -0
  64. data/config/locales/iiif_print.zh.yml +142 -0
  65. data/config/solr_wrapper_test.yml +9 -0
  66. data/config/test-fixture/solr-config/_rest_managed.json +3 -0
  67. data/config/test-fixture/solr-config/admin-extra.html +31 -0
  68. data/config/test-fixture/solr-config/elevate.xml +36 -0
  69. data/config/test-fixture/solr-config/mapping-ISOLatin1Accent.txt +246 -0
  70. data/config/test-fixture/solr-config/protwords.txt +21 -0
  71. data/config/test-fixture/solr-config/schema.xml +366 -0
  72. data/config/test-fixture/solr-config/scripts.conf +24 -0
  73. data/config/test-fixture/solr-config/solrconfig.xml +322 -0
  74. data/config/test-fixture/solr-config/spellings.txt +2 -0
  75. data/config/test-fixture/solr-config/stopwords.txt +58 -0
  76. data/config/test-fixture/solr-config/stopwords_en.txt +58 -0
  77. data/config/test-fixture/solr-config/synonyms.txt +31 -0
  78. data/config/test-fixture/solr-config/xslt/example.xsl +132 -0
  79. data/config/test-fixture/solr-config/xslt/example_atom.xsl +67 -0
  80. data/config/test-fixture/solr-config/xslt/example_rss.xsl +66 -0
  81. data/config/test-fixture/solr-config/xslt/luke.xsl +337 -0
  82. data/config/vendor/fits.xml +55 -0
  83. data/config/vendor/imagemagick-6-policy.xml +76 -0
  84. data/db/migrate/20181214181358_create_iiif_print_derivative_attachments.rb +12 -0
  85. data/db/migrate/20190107165909_create_iiif_print_ingest_file_relations.rb +11 -0
  86. data/db/migrate/20230109000000_create_iiif_print_pending_relationships.rb +11 -0
  87. data/docker-compose.yml +129 -0
  88. data/iiif_print.gemspec +43 -0
  89. data/lib/generators/iiif_print/assets_generator.rb +29 -0
  90. data/lib/generators/iiif_print/catalog_controller_generator.rb +32 -0
  91. data/lib/generators/iiif_print/install_generator.rb +52 -0
  92. data/lib/generators/iiif_print/templates/config/initializers/iiif_print.rb +22 -0
  93. data/lib/generators/iiif_print/templates/iiif_print.scss +1 -0
  94. data/lib/iiif_print/base_derivative_service.rb +113 -0
  95. data/lib/iiif_print/blacklight_iiif_search/annotation_decorator.rb +84 -0
  96. data/lib/iiif_print/catalog_search_builder.rb +31 -0
  97. data/lib/iiif_print/configuration.rb +99 -0
  98. data/lib/iiif_print/data/fileset_helper.rb +25 -0
  99. data/lib/iiif_print/data/path_helper.rb +40 -0
  100. data/lib/iiif_print/data/work_derivatives.rb +323 -0
  101. data/lib/iiif_print/data/work_file.rb +92 -0
  102. data/lib/iiif_print/data/work_files.rb +199 -0
  103. data/lib/iiif_print/data.rb +35 -0
  104. data/lib/iiif_print/engine.rb +77 -0
  105. data/lib/iiif_print/errors.rb +9 -0
  106. data/lib/iiif_print/image_tool.rb +119 -0
  107. data/lib/iiif_print/jobs/application_job.rb +8 -0
  108. data/lib/iiif_print/jobs/child_works_from_pdf_job.rb +107 -0
  109. data/lib/iiif_print/jobs/create_relationships_job.rb +78 -0
  110. data/lib/iiif_print/jp2_derivative_service.rb +118 -0
  111. data/lib/iiif_print/jp2_image_metadata.rb +81 -0
  112. data/lib/iiif_print/lineage_service.rb +41 -0
  113. data/lib/iiif_print/metadata.rb +125 -0
  114. data/lib/iiif_print/pdf_derivative_service.rb +42 -0
  115. data/lib/iiif_print/split_pdfs/child_work_creation_from_pdf_service.rb +75 -0
  116. data/lib/iiif_print/split_pdfs/pages_into_images_service.rb +130 -0
  117. data/lib/iiif_print/split_pdfs/pdf_image_extraction_service.rb +85 -0
  118. data/lib/iiif_print/text_extraction/alto_reader.rb +123 -0
  119. data/lib/iiif_print/text_extraction/hocr_reader.rb +172 -0
  120. data/lib/iiif_print/text_extraction/page_ocr.rb +87 -0
  121. data/lib/iiif_print/text_extraction/render_alto.rb +84 -0
  122. data/lib/iiif_print/text_extraction/word_coords_builder.rb +38 -0
  123. data/lib/iiif_print/text_extraction.rb +11 -0
  124. data/lib/iiif_print/text_extraction_derivative_service.rb +47 -0
  125. data/lib/iiif_print/text_formats_from_alto_service.rb +77 -0
  126. data/lib/iiif_print/tiff_derivative_service.rb +50 -0
  127. data/lib/iiif_print/version.rb +3 -0
  128. data/lib/iiif_print/works_controller_behavior.rb +9 -0
  129. data/lib/iiif_print.rb +136 -0
  130. data/lib/tasks/set_child_works.rake +22 -0
  131. data/spec/.keep.txt +1 -0
  132. data/spec/factories/ability.rb +6 -0
  133. data/spec/factories/newspaper_issue.rb +7 -0
  134. data/spec/factories/newspaper_page.rb +7 -0
  135. data/spec/factories/newspaper_page_solr_document.rb +12 -0
  136. data/spec/factories/newspaper_title.rb +8 -0
  137. data/spec/factories/uploaded_pdf_file.rb +9 -0
  138. data/spec/factories/uploaded_txt_file.rb +9 -0
  139. data/spec/factories/user.rb +13 -0
  140. data/spec/fixtures/files/4.1.07.jp2 +0 -0
  141. data/spec/fixtures/files/4.1.07.tiff +0 -0
  142. data/spec/fixtures/files/README.md +7 -0
  143. data/spec/fixtures/files/alto-2-0.xsd +714 -0
  144. data/spec/fixtures/files/broken-truncated.pdf +0 -0
  145. data/spec/fixtures/files/credits.md +16 -0
  146. data/spec/fixtures/files/lowres-gray-via-ndnp-sample.tiff +0 -0
  147. data/spec/fixtures/files/minimal-1-page.pdf +0 -0
  148. data/spec/fixtures/files/minimal-2-page.pdf +0 -0
  149. data/spec/fixtures/files/minimal-alto.xml +31 -0
  150. data/spec/fixtures/files/ndnp-alto-sample.xml +24 -0
  151. data/spec/fixtures/files/ndnp-sample1-json.json +1 -0
  152. data/spec/fixtures/files/ndnp-sample1-txt.txt +1 -0
  153. data/spec/fixtures/files/ndnp-sample1.pdf +0 -0
  154. data/spec/fixtures/files/ocr_alto.xml +202 -0
  155. data/spec/fixtures/files/ocr_alto_scaled_4pts_per_px.xml +202 -0
  156. data/spec/fixtures/files/ocr_color.tiff +0 -0
  157. data/spec/fixtures/files/ocr_gray.jp2 +0 -0
  158. data/spec/fixtures/files/ocr_gray.tiff +0 -0
  159. data/spec/fixtures/files/ocr_mono.tiff +0 -0
  160. data/spec/fixtures/files/ocr_mono_text_hocr.html +78 -0
  161. data/spec/fixtures/files/page1.tiff +0 -0
  162. data/spec/fixtures/files/sample-4page-issue.pdf +0 -0
  163. data/spec/fixtures/files/sample-color-newsletter.pdf +0 -0
  164. data/spec/fixtures/files/thumbnail.jpg +0 -0
  165. data/spec/helpers/hyrax/iiif_helper_spec.rb +65 -0
  166. data/spec/helpers/iiif_print_helper_spec.rb +43 -0
  167. data/spec/iiif_print/base_derivative_service_spec.rb +11 -0
  168. data/spec/iiif_print/blacklight_iiif_search/annotation_decorator_spec.rb +51 -0
  169. data/spec/iiif_print/catalog_search_builder_spec.rb +60 -0
  170. data/spec/iiif_print/configuration_spec.rb +67 -0
  171. data/spec/iiif_print/data/work_derivatives_spec.rb +245 -0
  172. data/spec/iiif_print/data/work_file_spec.rb +99 -0
  173. data/spec/iiif_print/data/work_files_spec.rb +237 -0
  174. data/spec/iiif_print/image_tool_spec.rb +109 -0
  175. data/spec/iiif_print/jobs/child_works_from_pdf_job_spec.rb +30 -0
  176. data/spec/iiif_print/jobs/create_relationships_job_spec.rb +17 -0
  177. data/spec/iiif_print/jp2_image_metadata_spec.rb +37 -0
  178. data/spec/iiif_print/lineage_service_spec.rb +13 -0
  179. data/spec/iiif_print/metadata_spec.rb +115 -0
  180. data/spec/iiif_print/split_pdfs/pages_into_images_service_spec.rb +6 -0
  181. data/spec/iiif_print/text_extraction/alto_reader_spec.rb +49 -0
  182. data/spec/iiif_print/text_extraction/hocr_reader_spec.rb +45 -0
  183. data/spec/iiif_print/text_extraction/page_ocr_spec.rb +84 -0
  184. data/spec/iiif_print/text_extraction/render_alto_spec.rb +54 -0
  185. data/spec/iiif_print/text_extraction/word_coords_builder_spec.rb +44 -0
  186. data/spec/iiif_print_spec.rb +51 -0
  187. data/spec/misc_shared.rb +111 -0
  188. data/spec/models/iiif_print/derivative_attachment_spec.rb +37 -0
  189. data/spec/models/iiif_print/ingest_file_relation_spec.rb +56 -0
  190. data/spec/models/solr_document_spec.rb +14 -0
  191. data/spec/presenters/iiif_print/iiif_manifest_presenter_behavior_spec.rb +19 -0
  192. data/spec/presenters/iiif_print/iiif_manifest_presenter_factory_behavior_spec.rb +49 -0
  193. data/spec/services/iiif_print/jp2_derivative_service_spec.rb +59 -0
  194. data/spec/services/iiif_print/pdf_derivative_service_spec.rb +66 -0
  195. data/spec/services/iiif_print/pluggable_derivative_service_spec.rb +178 -0
  196. data/spec/services/iiif_print/text_extraction_derivative_service_spec.rb +82 -0
  197. data/spec/services/iiif_print/text_formats_from_alto_service_spec.rb +127 -0
  198. data/spec/services/iiif_print/tiff_derivative_service_spec.rb +65 -0
  199. data/spec/spec_helper.rb +181 -0
  200. data/spec/support/controller_level_helpers.rb +28 -0
  201. data/spec/support/iiif_print_models.rb +127 -0
  202. data/spec/test_app_templates/blacklight.yml +9 -0
  203. data/spec/test_app_templates/fedora.yml +15 -0
  204. data/spec/test_app_templates/lib/generators/test_app_generator.rb +40 -0
  205. data/spec/test_app_templates/redis.yml +9 -0
  206. data/spec/test_app_templates/solr/conf/schema.xml +362 -0
  207. data/spec/test_app_templates/solr/conf/solrconfig.xml +322 -0
  208. data/spec/test_app_templates/solr.yml +7 -0
  209. data/tasks/iiif_print_dev.rake +34 -0
  210. data/tmp/.keep +0 -0
  211. metadata +605 -0
metadata ADDED
@@ -0,0 +1,605 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iiif_print
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Sean Upton
8
+ - Jacob Reed
9
+ - Brian McBride
10
+ - Eben English
11
+ - Kirk Wang
12
+ - LaRita Robinson
13
+ - Jeremy Friesen
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+ date: 2023-03-07 00:00:00.000000000 Z
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: blacklight_iiif_search
21
+ requirement: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
26
+ type: :runtime
27
+ prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: dry-monads
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 1.4.0
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 1.4.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: hyrax
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '2.5'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '4.0'
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '2.5'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '4.0'
67
+ - !ruby/object:Gem::Dependency
68
+ name: nokogiri
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.13.2
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 1.13.2
81
+ - !ruby/object:Gem::Dependency
82
+ name: rails
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '5.0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '5.0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rdf-vocab
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '3.0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '3.0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: bixby
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: database_cleaner
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '1.3'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '1.3'
137
+ - !ruby/object:Gem::Dependency
138
+ name: engine_cart
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '2.2'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '2.2'
151
+ - !ruby/object:Gem::Dependency
152
+ name: factory_bot
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '4.4'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '4.4'
165
+ - !ruby/object:Gem::Dependency
166
+ name: fcrepo_wrapper
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '0.5'
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: 0.5.1
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: '0.5'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: 0.5.1
185
+ - !ruby/object:Gem::Dependency
186
+ name: newspaper_works_fixtures
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: '0.3'
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 0.3.1
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '0.3'
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ version: 0.3.1
205
+ - !ruby/object:Gem::Dependency
206
+ name: rails-controller-testing
207
+ requirement: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - "~>"
210
+ - !ruby/object:Gem::Version
211
+ version: '1'
212
+ type: :development
213
+ prerelease: false
214
+ version_requirements: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - "~>"
217
+ - !ruby/object:Gem::Version
218
+ version: '1'
219
+ - !ruby/object:Gem::Dependency
220
+ name: rspec-rails
221
+ requirement: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - "~>"
224
+ - !ruby/object:Gem::Version
225
+ version: '3.1'
226
+ type: :development
227
+ prerelease: false
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - "~>"
231
+ - !ruby/object:Gem::Version
232
+ version: '3.1'
233
+ - !ruby/object:Gem::Dependency
234
+ name: rspec-activemodel-mocks
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ type: :development
241
+ prerelease: false
242
+ version_requirements: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ">="
245
+ - !ruby/object:Gem::Version
246
+ version: '0'
247
+ - !ruby/object:Gem::Dependency
248
+ name: shoulda-matchers
249
+ requirement: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - "~>"
252
+ - !ruby/object:Gem::Version
253
+ version: '3.1'
254
+ type: :development
255
+ prerelease: false
256
+ version_requirements: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - "~>"
259
+ - !ruby/object:Gem::Version
260
+ version: '3.1'
261
+ - !ruby/object:Gem::Dependency
262
+ name: solr_wrapper
263
+ requirement: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: '1.1'
268
+ - - "<"
269
+ - !ruby/object:Gem::Version
270
+ version: '3.0'
271
+ type: :development
272
+ prerelease: false
273
+ version_requirements: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '1.1'
278
+ - - "<"
279
+ - !ruby/object:Gem::Version
280
+ version: '3.0'
281
+ description: Gem/Engine for IIIF Print works in Hyrax-based Samvera Application.
282
+ email:
283
+ - sean.upton@utah.edu
284
+ - jacob.reed@utah.edu
285
+ - brian.mcbride@utah.edu
286
+ - eenglish@bpl.org
287
+ - kirk.wang@scientist.com
288
+ - larita@scientist.com
289
+ - jeremy.n.friesen@gmail.com
290
+ executables: []
291
+ extensions: []
292
+ extra_rdoc_files: []
293
+ files:
294
+ - ".coveralls.yml"
295
+ - ".env"
296
+ - ".fcrepo_wrapper"
297
+ - ".github/release.yml"
298
+ - ".github/workflows/branches.yml"
299
+ - ".github/workflows/build-lint-test-action.yaml"
300
+ - ".github/workflows/release_labels.yml"
301
+ - ".gitignore"
302
+ - ".rubocop.yml"
303
+ - ".solr_wrapper"
304
+ - ".travis.yml"
305
+ - CONTRIBUTING.md
306
+ - Dockerfile
307
+ - Gemfile
308
+ - LICENSE
309
+ - README.md
310
+ - Rakefile
311
+ - app/actors/iiif_print/actors/file_set_actor_decorator.rb
312
+ - app/assets/config/iiif_print_manifest.js
313
+ - app/assets/images/iiif_print/.keep
314
+ - app/assets/javascripts/iiif_print.js
315
+ - app/assets/javascripts/iiif_print/autocomplete_fix.js
316
+ - app/assets/javascripts/iiif_print/ocr_search.js.erb
317
+ - app/assets/stylesheets/iiif_print/_iiif_print.scss
318
+ - app/assets/stylesheets/iiif_print/_issue_search.scss
319
+ - app/assets/stylesheets/iiif_print/_issues_calendar.scss
320
+ - app/assets/stylesheets/iiif_print/_newspapers_search.scss
321
+ - app/assets/stylesheets/iiif_print/_search_results.scss
322
+ - app/helpers/hyrax/iiif_helper.rb
323
+ - app/helpers/iiif_print/application_helper.rb
324
+ - app/helpers/iiif_print_helper.rb
325
+ - app/indexers/concerns/iiif_print/child_indexer.rb
326
+ - app/indexers/concerns/iiif_print/file_set_indexer.rb
327
+ - app/mailers/iiif_print/application_mailer.rb
328
+ - app/models/concerns/iiif_print/set_child_flag.rb
329
+ - app/models/concerns/iiif_print/solr/document.rb
330
+ - app/models/iiif_print/application_record.rb
331
+ - app/models/iiif_print/derivative_attachment.rb
332
+ - app/models/iiif_print/iiif_search_response_decorator.rb
333
+ - app/models/iiif_print/ingest_file_relation.rb
334
+ - app/models/iiif_print/pending_relationship.rb
335
+ - app/presenters/iiif_print/iiif_manifest_presenter_behavior.rb
336
+ - app/presenters/iiif_print/iiif_manifest_presenter_factory_behavior.rb
337
+ - app/presenters/iiif_print/work_show_presenter_decorator.rb
338
+ - app/renderers/hyrax/renderers/faceted_attribute_renderer_decorator.rb
339
+ - app/search_builders/concerns/iiif_print/exclude_models.rb
340
+ - app/search_builders/concerns/iiif_print/highlight_search_params.rb
341
+ - app/services/iiif_print/manifest_builder_service_behavior.rb
342
+ - app/services/iiif_print/pluggable_derivative_service.rb
343
+ - app/views/catalog/_snippets_more.html.erb
344
+ - app/views/hyrax/base/_representative_media.html.erb
345
+ - app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb
346
+ - app/views/hyrax/file_sets/_actions.html.erb
347
+ - bin/rails
348
+ - config/fcrepo_wrapper_test.yml
349
+ - config/initializers/assets.rb
350
+ - config/locales/iiif_print.de.yml
351
+ - config/locales/iiif_print.en.yml
352
+ - config/locales/iiif_print.es.yml
353
+ - config/locales/iiif_print.fr.yml
354
+ - config/locales/iiif_print.it.yml
355
+ - config/locales/iiif_print.pt-BR.yml
356
+ - config/locales/iiif_print.zh.yml
357
+ - config/solr_wrapper_test.yml
358
+ - config/test-fixture/solr-config/_rest_managed.json
359
+ - config/test-fixture/solr-config/admin-extra.html
360
+ - config/test-fixture/solr-config/elevate.xml
361
+ - config/test-fixture/solr-config/mapping-ISOLatin1Accent.txt
362
+ - config/test-fixture/solr-config/protwords.txt
363
+ - config/test-fixture/solr-config/schema.xml
364
+ - config/test-fixture/solr-config/scripts.conf
365
+ - config/test-fixture/solr-config/solrconfig.xml
366
+ - config/test-fixture/solr-config/spellings.txt
367
+ - config/test-fixture/solr-config/stopwords.txt
368
+ - config/test-fixture/solr-config/stopwords_en.txt
369
+ - config/test-fixture/solr-config/synonyms.txt
370
+ - config/test-fixture/solr-config/xslt/example.xsl
371
+ - config/test-fixture/solr-config/xslt/example_atom.xsl
372
+ - config/test-fixture/solr-config/xslt/example_rss.xsl
373
+ - config/test-fixture/solr-config/xslt/luke.xsl
374
+ - config/vendor/fits.xml
375
+ - config/vendor/imagemagick-6-policy.xml
376
+ - db/migrate/20181214181358_create_iiif_print_derivative_attachments.rb
377
+ - db/migrate/20190107165909_create_iiif_print_ingest_file_relations.rb
378
+ - db/migrate/20230109000000_create_iiif_print_pending_relationships.rb
379
+ - docker-compose.yml
380
+ - iiif_print.gemspec
381
+ - lib/generators/iiif_print/assets_generator.rb
382
+ - lib/generators/iiif_print/catalog_controller_generator.rb
383
+ - lib/generators/iiif_print/install_generator.rb
384
+ - lib/generators/iiif_print/templates/config/initializers/iiif_print.rb
385
+ - lib/generators/iiif_print/templates/iiif_print.scss
386
+ - lib/iiif_print.rb
387
+ - lib/iiif_print/base_derivative_service.rb
388
+ - lib/iiif_print/blacklight_iiif_search/annotation_decorator.rb
389
+ - lib/iiif_print/catalog_search_builder.rb
390
+ - lib/iiif_print/configuration.rb
391
+ - lib/iiif_print/data.rb
392
+ - lib/iiif_print/data/fileset_helper.rb
393
+ - lib/iiif_print/data/path_helper.rb
394
+ - lib/iiif_print/data/work_derivatives.rb
395
+ - lib/iiif_print/data/work_file.rb
396
+ - lib/iiif_print/data/work_files.rb
397
+ - lib/iiif_print/engine.rb
398
+ - lib/iiif_print/errors.rb
399
+ - lib/iiif_print/image_tool.rb
400
+ - lib/iiif_print/jobs/application_job.rb
401
+ - lib/iiif_print/jobs/child_works_from_pdf_job.rb
402
+ - lib/iiif_print/jobs/create_relationships_job.rb
403
+ - lib/iiif_print/jp2_derivative_service.rb
404
+ - lib/iiif_print/jp2_image_metadata.rb
405
+ - lib/iiif_print/lineage_service.rb
406
+ - lib/iiif_print/metadata.rb
407
+ - lib/iiif_print/pdf_derivative_service.rb
408
+ - lib/iiif_print/split_pdfs/child_work_creation_from_pdf_service.rb
409
+ - lib/iiif_print/split_pdfs/pages_into_images_service.rb
410
+ - lib/iiif_print/split_pdfs/pdf_image_extraction_service.rb
411
+ - lib/iiif_print/text_extraction.rb
412
+ - lib/iiif_print/text_extraction/alto_reader.rb
413
+ - lib/iiif_print/text_extraction/hocr_reader.rb
414
+ - lib/iiif_print/text_extraction/page_ocr.rb
415
+ - lib/iiif_print/text_extraction/render_alto.rb
416
+ - lib/iiif_print/text_extraction/word_coords_builder.rb
417
+ - lib/iiif_print/text_extraction_derivative_service.rb
418
+ - lib/iiif_print/text_formats_from_alto_service.rb
419
+ - lib/iiif_print/tiff_derivative_service.rb
420
+ - lib/iiif_print/version.rb
421
+ - lib/iiif_print/works_controller_behavior.rb
422
+ - lib/tasks/set_child_works.rake
423
+ - spec/.keep.txt
424
+ - spec/factories/ability.rb
425
+ - spec/factories/newspaper_issue.rb
426
+ - spec/factories/newspaper_page.rb
427
+ - spec/factories/newspaper_page_solr_document.rb
428
+ - spec/factories/newspaper_title.rb
429
+ - spec/factories/uploaded_pdf_file.rb
430
+ - spec/factories/uploaded_txt_file.rb
431
+ - spec/factories/user.rb
432
+ - spec/fixtures/files/4.1.07.jp2
433
+ - spec/fixtures/files/4.1.07.tiff
434
+ - spec/fixtures/files/README.md
435
+ - spec/fixtures/files/alto-2-0.xsd
436
+ - spec/fixtures/files/broken-truncated.pdf
437
+ - spec/fixtures/files/credits.md
438
+ - spec/fixtures/files/lowres-gray-via-ndnp-sample.tiff
439
+ - spec/fixtures/files/minimal-1-page.pdf
440
+ - spec/fixtures/files/minimal-2-page.pdf
441
+ - spec/fixtures/files/minimal-alto.xml
442
+ - spec/fixtures/files/ndnp-alto-sample.xml
443
+ - spec/fixtures/files/ndnp-sample1-json.json
444
+ - spec/fixtures/files/ndnp-sample1-txt.txt
445
+ - spec/fixtures/files/ndnp-sample1.pdf
446
+ - spec/fixtures/files/ocr_alto.xml
447
+ - spec/fixtures/files/ocr_alto_scaled_4pts_per_px.xml
448
+ - spec/fixtures/files/ocr_color.tiff
449
+ - spec/fixtures/files/ocr_gray.jp2
450
+ - spec/fixtures/files/ocr_gray.tiff
451
+ - spec/fixtures/files/ocr_mono.tiff
452
+ - spec/fixtures/files/ocr_mono_text_hocr.html
453
+ - spec/fixtures/files/page1.tiff
454
+ - spec/fixtures/files/sample-4page-issue.pdf
455
+ - spec/fixtures/files/sample-color-newsletter.pdf
456
+ - spec/fixtures/files/thumbnail.jpg
457
+ - spec/helpers/hyrax/iiif_helper_spec.rb
458
+ - spec/helpers/iiif_print_helper_spec.rb
459
+ - spec/iiif_print/base_derivative_service_spec.rb
460
+ - spec/iiif_print/blacklight_iiif_search/annotation_decorator_spec.rb
461
+ - spec/iiif_print/catalog_search_builder_spec.rb
462
+ - spec/iiif_print/configuration_spec.rb
463
+ - spec/iiif_print/data/work_derivatives_spec.rb
464
+ - spec/iiif_print/data/work_file_spec.rb
465
+ - spec/iiif_print/data/work_files_spec.rb
466
+ - spec/iiif_print/image_tool_spec.rb
467
+ - spec/iiif_print/jobs/child_works_from_pdf_job_spec.rb
468
+ - spec/iiif_print/jobs/create_relationships_job_spec.rb
469
+ - spec/iiif_print/jp2_image_metadata_spec.rb
470
+ - spec/iiif_print/lineage_service_spec.rb
471
+ - spec/iiif_print/metadata_spec.rb
472
+ - spec/iiif_print/split_pdfs/pages_into_images_service_spec.rb
473
+ - spec/iiif_print/text_extraction/alto_reader_spec.rb
474
+ - spec/iiif_print/text_extraction/hocr_reader_spec.rb
475
+ - spec/iiif_print/text_extraction/page_ocr_spec.rb
476
+ - spec/iiif_print/text_extraction/render_alto_spec.rb
477
+ - spec/iiif_print/text_extraction/word_coords_builder_spec.rb
478
+ - spec/iiif_print_spec.rb
479
+ - spec/misc_shared.rb
480
+ - spec/models/iiif_print/derivative_attachment_spec.rb
481
+ - spec/models/iiif_print/ingest_file_relation_spec.rb
482
+ - spec/models/solr_document_spec.rb
483
+ - spec/presenters/iiif_print/iiif_manifest_presenter_behavior_spec.rb
484
+ - spec/presenters/iiif_print/iiif_manifest_presenter_factory_behavior_spec.rb
485
+ - spec/services/iiif_print/jp2_derivative_service_spec.rb
486
+ - spec/services/iiif_print/pdf_derivative_service_spec.rb
487
+ - spec/services/iiif_print/pluggable_derivative_service_spec.rb
488
+ - spec/services/iiif_print/text_extraction_derivative_service_spec.rb
489
+ - spec/services/iiif_print/text_formats_from_alto_service_spec.rb
490
+ - spec/services/iiif_print/tiff_derivative_service_spec.rb
491
+ - spec/spec_helper.rb
492
+ - spec/support/controller_level_helpers.rb
493
+ - spec/support/iiif_print_models.rb
494
+ - spec/test_app_templates/blacklight.yml
495
+ - spec/test_app_templates/fedora.yml
496
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
497
+ - spec/test_app_templates/redis.yml
498
+ - spec/test_app_templates/solr.yml
499
+ - spec/test_app_templates/solr/conf/schema.xml
500
+ - spec/test_app_templates/solr/conf/solrconfig.xml
501
+ - tasks/iiif_print_dev.rake
502
+ - tmp/.keep
503
+ homepage: https://github.com/samvera-labs/iiif_print
504
+ licenses:
505
+ - Apache-2.0
506
+ metadata: {}
507
+ post_install_message:
508
+ rdoc_options: []
509
+ require_paths:
510
+ - lib
511
+ required_ruby_version: !ruby/object:Gem::Requirement
512
+ requirements:
513
+ - - ">="
514
+ - !ruby/object:Gem::Version
515
+ version: '0'
516
+ required_rubygems_version: !ruby/object:Gem::Requirement
517
+ requirements:
518
+ - - ">="
519
+ - !ruby/object:Gem::Version
520
+ version: '0'
521
+ requirements: []
522
+ rubygems_version: 3.1.6
523
+ signing_key:
524
+ specification_version: 4
525
+ summary: iiif_print is a Rails Engine gem providing model and administrative functions
526
+ to Hyrax-based Samvera applications, for management of (primarily scanned) content.
527
+ test_files:
528
+ - spec/.keep.txt
529
+ - spec/factories/ability.rb
530
+ - spec/factories/newspaper_issue.rb
531
+ - spec/factories/newspaper_page.rb
532
+ - spec/factories/newspaper_page_solr_document.rb
533
+ - spec/factories/newspaper_title.rb
534
+ - spec/factories/uploaded_pdf_file.rb
535
+ - spec/factories/uploaded_txt_file.rb
536
+ - spec/factories/user.rb
537
+ - spec/fixtures/files/4.1.07.jp2
538
+ - spec/fixtures/files/4.1.07.tiff
539
+ - spec/fixtures/files/README.md
540
+ - spec/fixtures/files/alto-2-0.xsd
541
+ - spec/fixtures/files/broken-truncated.pdf
542
+ - spec/fixtures/files/credits.md
543
+ - spec/fixtures/files/lowres-gray-via-ndnp-sample.tiff
544
+ - spec/fixtures/files/minimal-1-page.pdf
545
+ - spec/fixtures/files/minimal-2-page.pdf
546
+ - spec/fixtures/files/minimal-alto.xml
547
+ - spec/fixtures/files/ndnp-alto-sample.xml
548
+ - spec/fixtures/files/ndnp-sample1-json.json
549
+ - spec/fixtures/files/ndnp-sample1-txt.txt
550
+ - spec/fixtures/files/ndnp-sample1.pdf
551
+ - spec/fixtures/files/ocr_alto.xml
552
+ - spec/fixtures/files/ocr_alto_scaled_4pts_per_px.xml
553
+ - spec/fixtures/files/ocr_color.tiff
554
+ - spec/fixtures/files/ocr_gray.jp2
555
+ - spec/fixtures/files/ocr_gray.tiff
556
+ - spec/fixtures/files/ocr_mono.tiff
557
+ - spec/fixtures/files/ocr_mono_text_hocr.html
558
+ - spec/fixtures/files/page1.tiff
559
+ - spec/fixtures/files/sample-4page-issue.pdf
560
+ - spec/fixtures/files/sample-color-newsletter.pdf
561
+ - spec/fixtures/files/thumbnail.jpg
562
+ - spec/helpers/hyrax/iiif_helper_spec.rb
563
+ - spec/helpers/iiif_print_helper_spec.rb
564
+ - spec/iiif_print/base_derivative_service_spec.rb
565
+ - spec/iiif_print/blacklight_iiif_search/annotation_decorator_spec.rb
566
+ - spec/iiif_print/catalog_search_builder_spec.rb
567
+ - spec/iiif_print/configuration_spec.rb
568
+ - spec/iiif_print/data/work_derivatives_spec.rb
569
+ - spec/iiif_print/data/work_file_spec.rb
570
+ - spec/iiif_print/data/work_files_spec.rb
571
+ - spec/iiif_print/image_tool_spec.rb
572
+ - spec/iiif_print/jobs/child_works_from_pdf_job_spec.rb
573
+ - spec/iiif_print/jobs/create_relationships_job_spec.rb
574
+ - spec/iiif_print/jp2_image_metadata_spec.rb
575
+ - spec/iiif_print/lineage_service_spec.rb
576
+ - spec/iiif_print/metadata_spec.rb
577
+ - spec/iiif_print/split_pdfs/pages_into_images_service_spec.rb
578
+ - spec/iiif_print/text_extraction/alto_reader_spec.rb
579
+ - spec/iiif_print/text_extraction/hocr_reader_spec.rb
580
+ - spec/iiif_print/text_extraction/page_ocr_spec.rb
581
+ - spec/iiif_print/text_extraction/render_alto_spec.rb
582
+ - spec/iiif_print/text_extraction/word_coords_builder_spec.rb
583
+ - spec/iiif_print_spec.rb
584
+ - spec/misc_shared.rb
585
+ - spec/models/iiif_print/derivative_attachment_spec.rb
586
+ - spec/models/iiif_print/ingest_file_relation_spec.rb
587
+ - spec/models/solr_document_spec.rb
588
+ - spec/presenters/iiif_print/iiif_manifest_presenter_behavior_spec.rb
589
+ - spec/presenters/iiif_print/iiif_manifest_presenter_factory_behavior_spec.rb
590
+ - spec/services/iiif_print/jp2_derivative_service_spec.rb
591
+ - spec/services/iiif_print/pdf_derivative_service_spec.rb
592
+ - spec/services/iiif_print/pluggable_derivative_service_spec.rb
593
+ - spec/services/iiif_print/text_extraction_derivative_service_spec.rb
594
+ - spec/services/iiif_print/text_formats_from_alto_service_spec.rb
595
+ - spec/services/iiif_print/tiff_derivative_service_spec.rb
596
+ - spec/spec_helper.rb
597
+ - spec/support/controller_level_helpers.rb
598
+ - spec/support/iiif_print_models.rb
599
+ - spec/test_app_templates/blacklight.yml
600
+ - spec/test_app_templates/fedora.yml
601
+ - spec/test_app_templates/lib/generators/test_app_generator.rb
602
+ - spec/test_app_templates/redis.yml
603
+ - spec/test_app_templates/solr.yml
604
+ - spec/test_app_templates/solr/conf/schema.xml
605
+ - spec/test_app_templates/solr/conf/solrconfig.xml