iiif_print 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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