hyrax 5.0.1 → 5.0.3

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 (247) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +7 -176
  3. data/.dassie/.env +8 -3
  4. data/.dassie/Gemfile +13 -2
  5. data/.dassie/app/controllers/hyrax/generic_work_resources_controller.rb +17 -0
  6. data/.dassie/app/controllers/hyrax/generic_works_controller.rb +7 -1
  7. data/.dassie/app/forms/generic_work_resource_form.rb +20 -0
  8. data/.dassie/app/indexers/generic_work_resource_indexer.rb +16 -0
  9. data/.dassie/app/models/admin_set_resource.rb +9 -0
  10. data/.dassie/app/models/collection_resource.rb +2 -0
  11. data/.dassie/app/models/file_set.rb +2 -0
  12. data/.dassie/app/models/generic_work_resource.rb +10 -0
  13. data/.dassie/app/views/hyrax/generic_work_resources/_generic_work_resource.html.erb +2 -0
  14. data/.dassie/config/analytics.yml +6 -1
  15. data/.dassie/config/application.rb +24 -0
  16. data/.dassie/config/initializers/hyrax.rb +13 -3
  17. data/.dassie/config/initializers/wings.rb +109 -0
  18. data/.dassie/config/metadata/generic_work_resource.yaml +22 -0
  19. data/.dassie/config/valkyrie_index.yml +4 -10
  20. data/.dassie/db/migrate/20240506070809_valkyrie_id_to_string.rb +5 -0
  21. data/.dassie/db/schema.rb +2 -2
  22. data/.dassie/spec/indexers/generic_work_resource_indexer_spec.rb +13 -0
  23. data/.dassie/spec/models/generic_work_resource_spec.rb +12 -0
  24. data/.dassie/spec/views/generic_work_resources/_generic_work_resource.html.erb_spec.rb +7 -0
  25. data/.dockerignore +6 -4
  26. data/.github/release.yml +3 -0
  27. data/.github/workflows/lint-build-test.yml +130 -0
  28. data/.github/workflows/test-results.yml +40 -0
  29. data/.koppie/.env +7 -5
  30. data/.koppie/Gemfile +12 -1
  31. data/.koppie/config/analytics.yml +6 -1
  32. data/.koppie/config/environments/test.rb +2 -0
  33. data/.koppie/config/initializers/1_valkyrie.rb +6 -2
  34. data/.koppie/config/solr.yml +1 -1
  35. data/.regen +1 -1
  36. data/.rubocop.yml +5 -0
  37. data/Dockerfile +16 -36
  38. data/Gemfile +2 -0
  39. data/app/assets/javascripts/hydra-editor/field_manager.es6 +187 -0
  40. data/app/assets/javascripts/hyrax/analytics_events.js +48 -24
  41. data/app/assets/javascripts/hyrax/collapse.js +4 -4
  42. data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +2 -0
  43. data/app/assets/javascripts/hyrax/search.js +2 -3
  44. data/app/assets/javascripts/hyrax/select_work_type.es6 +3 -1
  45. data/app/assets/javascripts/hyrax/uploader.js +20 -18
  46. data/app/assets/javascripts/hyrax.js +1 -0
  47. data/app/assets/stylesheets/_bootstrap-default-overrides.scss +4 -0
  48. data/app/assets/stylesheets/hyrax/_card.scss +4 -0
  49. data/app/assets/stylesheets/hyrax/_catalog.scss +21 -0
  50. data/app/assets/stylesheets/hyrax/_collections.scss +1 -1
  51. data/app/assets/stylesheets/hyrax/_facets.scss +15 -3
  52. data/app/assets/stylesheets/hyrax/_featured.scss +4 -0
  53. data/app/assets/stylesheets/hyrax/_form.scss +4 -0
  54. data/app/assets/stylesheets/hyrax/_forms.scss +2 -1
  55. data/app/assets/stylesheets/hyrax/_nestable.scss +9 -8
  56. data/app/assets/stylesheets/hyrax/_select_work_type.scss +12 -0
  57. data/app/assets/stylesheets/hyrax/_styles.scss +4 -0
  58. data/app/assets/stylesheets/hyrax/_work-show.scss +3 -0
  59. data/app/controllers/concerns/hyrax/singular_subresource_controller.rb +7 -2
  60. data/app/controllers/concerns/hyrax/valkyrie_downloads_controller_behavior.rb +11 -2
  61. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +9 -2
  62. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -2
  63. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +7 -8
  64. data/app/controllers/hyrax/dashboard/collections_controller.rb +2 -1
  65. data/app/controllers/hyrax/downloads_controller.rb +24 -3
  66. data/app/controllers/hyrax/file_sets_controller.rb +32 -6
  67. data/app/controllers/hyrax/my/works_controller.rb +20 -0
  68. data/app/controllers/hyrax/stats_controller.rb +1 -1
  69. data/app/controllers/hyrax/uploads_controller.rb +28 -2
  70. data/app/forms/hyrax/forms/admin/appearance.rb +1 -1
  71. data/app/forms/hyrax/forms/admin/collection_type_form.rb +1 -7
  72. data/app/forms/hyrax/forms/pcdm_collection_form.rb +9 -0
  73. data/app/forms/hyrax/forms/work_embargo_form.rb +6 -0
  74. data/app/forms/hyrax/forms/work_lease_form.rb +6 -0
  75. data/app/indexers/concerns/hyrax/location_indexer.rb +2 -2
  76. data/app/indexers/hyrax/indexers/file_set_indexer.rb +4 -0
  77. data/app/indexers/hyrax/indexers/resource_indexer.rb +1 -0
  78. data/app/indexers/hyrax/valkyrie_indexer.rb +3 -5
  79. data/app/jobs/migrate_files_to_valkyrie_job.rb +109 -0
  80. data/app/jobs/migrate_resources_job.rb +34 -0
  81. data/app/jobs/valkyrie_create_derivatives_job.rb +2 -1
  82. data/app/models/admin_set.rb +1 -0
  83. data/app/models/concerns/hyrax/ar_resource.rb +104 -0
  84. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +2 -1
  85. data/app/models/concerns/hyrax/solr_document_behavior.rb +13 -2
  86. data/app/models/concerns/hyrax/valkyrie_lazy_migration.rb +82 -0
  87. data/app/models/file_download_stat.rb +1 -1
  88. data/app/models/file_view_stat.rb +1 -1
  89. data/app/models/hyrax/collection_type.rb +12 -4
  90. data/app/models/hyrax/file_metadata.rb +19 -0
  91. data/app/models/hyrax/file_set.rb +25 -0
  92. data/app/models/hyrax/model_registry.rb +2 -3
  93. data/app/models/hyrax/resource.rb +5 -0
  94. data/app/models/hyrax/statistic.rb +12 -37
  95. data/app/presenters/hyrax/file_set_presenter.rb +2 -1
  96. data/app/presenters/hyrax/file_usage.rb +3 -3
  97. data/app/presenters/hyrax/iiif_manifest_presenter.rb +2 -1
  98. data/app/presenters/hyrax/member_presenter_factory.rb +7 -1
  99. data/app/presenters/hyrax/menu_presenter.rb +1 -1
  100. data/app/presenters/hyrax/stats_usage_presenter.rb +2 -1
  101. data/app/presenters/hyrax/work_show_presenter.rb +13 -17
  102. data/app/presenters/hyrax/work_usage.rb +5 -2
  103. data/app/search_builders/hyrax/expired_embargo_search_builder.rb +7 -1
  104. data/app/search_builders/hyrax/expired_lease_search_builder.rb +7 -1
  105. data/app/search_builders/hyrax/filter_by_type.rb +1 -3
  106. data/app/search_builders/hyrax/valkyrie_abstract_type_relation.rb +7 -2
  107. data/app/services/hyrax/access_control_list.rb +1 -1
  108. data/app/services/hyrax/admin_set_create_service.rb +16 -5
  109. data/app/services/hyrax/admin_set_service.rb +2 -1
  110. data/app/services/hyrax/analytics/ga4/base.rb +96 -0
  111. data/app/services/hyrax/analytics/ga4/events.rb +25 -0
  112. data/app/services/hyrax/analytics/ga4/events_daily.rb +36 -0
  113. data/app/services/hyrax/analytics/ga4/visits.rb +33 -0
  114. data/app/services/hyrax/analytics/ga4/visits_daily.rb +24 -0
  115. data/app/services/hyrax/analytics/ga4.rb +204 -0
  116. data/app/services/hyrax/analytics/google.rb +16 -2
  117. data/app/services/hyrax/analytics/matomo.rb +16 -3
  118. data/app/services/hyrax/analytics/results.rb +6 -0
  119. data/app/services/hyrax/custom_queries/find_access_control.rb +1 -1
  120. data/app/services/hyrax/custom_queries/find_by_date_range.rb +6 -23
  121. data/app/services/hyrax/custom_queries/find_collections_by_type.rb +2 -2
  122. data/app/services/hyrax/custom_queries/find_count_by.rb +3 -31
  123. data/app/services/hyrax/custom_queries/find_file_metadata.rb +2 -2
  124. data/app/services/hyrax/custom_queries/find_models_by_access.rb +5 -27
  125. data/app/services/hyrax/embargo_manager.rb +2 -1
  126. data/app/services/hyrax/listeners/file_listener.rb +2 -2
  127. data/app/services/hyrax/lock_manager.rb +6 -6
  128. data/app/services/hyrax/lockable.rb +4 -3
  129. data/app/services/hyrax/simple_schema_loader.rb +1 -1
  130. data/app/services/hyrax/solr_service.rb +22 -8
  131. data/app/services/hyrax/statistics/query_service.rb +1 -1
  132. data/app/services/hyrax/statistics/works/over_time.rb +1 -1
  133. data/app/services/hyrax/thumbnail_path_service.rb +2 -0
  134. data/app/services/hyrax/user_stat_importer.rb +5 -5
  135. data/app/services/hyrax/valkyrie_upload.rb +9 -7
  136. data/app/services/hyrax/versioning_service.rb +10 -2
  137. data/app/services/hyrax/work_query_service.rb +2 -2
  138. data/app/services/migrate_resource_service.rb +55 -0
  139. data/app/views/_controls.html.erb +5 -5
  140. data/app/views/_masthead.html.erb +1 -1
  141. data/app/views/catalog/_search_form.html.erb +9 -16
  142. data/app/views/catalog/_thumbnail_list_collection.html.erb +1 -1
  143. data/app/views/catalog/_thumbnail_list_default.html.erb +2 -2
  144. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +4 -4
  145. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +1 -1
  146. data/app/views/hyrax/admin/collection_types/_form.html.erb +4 -4
  147. data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
  148. data/app/views/hyrax/admin/features/index.html.erb +1 -1
  149. data/app/views/hyrax/base/_file_manager_actions.html.erb +1 -1
  150. data/app/views/hyrax/base/_file_manager_member.html.erb +7 -4
  151. data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
  152. data/app/views/hyrax/base/_form_files.html.erb +1 -1
  153. data/app/views/hyrax/base/_form_member_of_collections.html.erb +4 -0
  154. data/app/views/hyrax/base/_show_actions.html.erb +7 -8
  155. data/app/views/hyrax/base/_work_button_row.html.erb +1 -1
  156. data/app/views/hyrax/batch_select/_add_button.html.erb +1 -1
  157. data/app/views/hyrax/content_blocks/_form.html.erb +3 -3
  158. data/app/views/hyrax/dashboard/_sidebar.html.erb +1 -1
  159. data/app/views/hyrax/dashboard/_user_activity.html.erb +2 -2
  160. data/app/views/hyrax/dashboard/collections/_form.html.erb +4 -4
  161. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +6 -4
  162. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +1 -1
  163. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
  164. data/app/views/hyrax/dashboard/show_admin.html.erb +18 -19
  165. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
  166. data/app/views/hyrax/embargoes/_list_expired_active_embargoes.html.erb +7 -7
  167. data/app/views/hyrax/file_sets/_actions.html.erb +9 -1
  168. data/app/views/hyrax/file_sets/_permission_form.html.erb +4 -2
  169. data/app/views/hyrax/file_sets/_show_actions.html.erb +1 -1
  170. data/app/views/hyrax/homepage/_featured.html.erb +1 -1
  171. data/app/views/hyrax/homepage/_recent_document.html.erb +2 -2
  172. data/app/views/hyrax/leases/_list_expired_active_leases.html.erb +6 -6
  173. data/app/views/hyrax/my/collections/_list_collections.html.erb +1 -1
  174. data/app/views/hyrax/my/collections/_tabs.html.erb +1 -1
  175. data/app/views/hyrax/pages/_form.html.erb +8 -8
  176. data/app/views/hyrax/transfers/_received.html.erb +1 -1
  177. data/app/views/hyrax/uploads/create.json.jbuilder +2 -2
  178. data/app/views/hyrax/users/_activity_log.html.erb +15 -9
  179. data/app/views/hyrax/users/_user_row.html.erb +6 -3
  180. data/app/views/hyrax/users/_vitals.html.erb +3 -2
  181. data/app/views/layouts/_head_tag_content.html.erb +2 -0
  182. data/app/views/shared/_appearance_styles.html.erb +5 -1
  183. data/app/views/shared/_ga4.html.erb +11 -0
  184. data/app/views/shared/_select_work_type_modal.html.erb +10 -1
  185. data/bin/db-migrate-seed.sh +3 -3
  186. data/bin/dev-entrypoint.sh +7 -2
  187. data/bin/{db-wait.sh → service-wait.sh} +1 -1
  188. data/bin/worker-entrypoint.sh +8 -0
  189. data/chart/hyrax/templates/deployment-worker.yaml +2 -2
  190. data/config/locales/hyrax.en.yml +4 -2
  191. data/config/metadata/basic_metadata.yaml +20 -0
  192. data/config/metadata/hyrax_internal_metadata.yaml +1 -1
  193. data/docker-compose-dassie.yml +167 -0
  194. data/docker-compose-koppie.yml +21 -36
  195. data/docker-compose-sirenia.yml +50 -44
  196. data/docker-compose.yml +2 -183
  197. data/documentation/developing-your-hyrax-based-app.md +2 -2
  198. data/hyrax.gemspec +5 -4
  199. data/lib/freyja/custom_query_container.rb +5 -0
  200. data/lib/freyja/metadata_adapter.rb +32 -0
  201. data/lib/freyja/persister.rb +42 -0
  202. data/lib/freyja/query_service.rb +20 -0
  203. data/lib/freyja/resource_factory.rb +8 -0
  204. data/lib/freyja.rb +14 -0
  205. data/lib/frigg/custom_query_container.rb +5 -0
  206. data/lib/frigg/metadata_adapter.rb +22 -0
  207. data/lib/frigg/persister.rb +33 -0
  208. data/lib/frigg/query_service.rb +15 -0
  209. data/lib/frigg.rb +13 -0
  210. data/lib/generators/hyrax/install_generator.rb +5 -0
  211. data/lib/generators/hyrax/templates/config/analytics.yml +6 -1
  212. data/lib/generators/hyrax/templates/config/initializers/1_valkyrie.rb +6 -2
  213. data/lib/generators/hyrax/templates/config/valkyrie_index.yml +1 -1
  214. data/lib/goddess/custom_query_container.rb +71 -0
  215. data/lib/goddess/metadata.rb +13 -0
  216. data/lib/goddess/query.rb +176 -0
  217. data/lib/hyrax/configuration.rb +83 -0
  218. data/lib/hyrax/engine.rb +2 -0
  219. data/lib/hyrax/form_fields.rb +1 -3
  220. data/lib/hyrax/name.rb +5 -0
  221. data/lib/hyrax/rubocop/custom_cops.rb +30 -0
  222. data/lib/hyrax/specs/capybara.rb +10 -6
  223. data/lib/hyrax/specs/shared_specs/factories/admin_sets.rb +2 -0
  224. data/lib/hyrax/specs/shared_specs/factories/hyrax_embargo.rb +4 -0
  225. data/lib/hyrax/specs/shared_specs/factories/hyrax_lease.rb +4 -0
  226. data/lib/hyrax/specs/shared_specs/factories/hyrax_work.rb +16 -2
  227. data/lib/hyrax/specs/shared_specs/hydra_works.rb +1 -1
  228. data/lib/hyrax/transactions/admin_set_destroy.rb +2 -1
  229. data/lib/hyrax/transactions/collection_destroy.rb +2 -1
  230. data/lib/hyrax/transactions/container.rb +9 -0
  231. data/lib/hyrax/transactions/steps/add_file_sets.rb +2 -1
  232. data/lib/hyrax/transactions/steps/delete_permission_template.rb +30 -0
  233. data/lib/hyrax/transactions/steps/delete_resource.rb +1 -1
  234. data/lib/hyrax/transactions/steps/save_collection_logo.rb +2 -1
  235. data/lib/hyrax/valkyrie_can_can_adapter.rb +8 -1
  236. data/lib/hyrax/version.rb +1 -1
  237. data/lib/wings/active_fedora_converter.rb +13 -5
  238. data/lib/wings/converter_value_mapper.rb +1 -0
  239. data/lib/wings/services/custom_queries/find_collections_by_type.rb +2 -1
  240. data/lib/wings/services/custom_queries/find_file_metadata.rb +2 -2
  241. data/lib/wings/setup.rb +12 -3
  242. data/lib/wings/transformer_value_mapper.rb +5 -1
  243. data/lib/wings/valkyrie/persister.rb +3 -1
  244. data/template.rb +1 -1
  245. metadata +77 -19
  246. data/.koppie/scripts/db-migrate-seed.sh +0 -9
  247. data/.koppie/scripts/entrypoint.sh +0 -10
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ # Wait for web app to avoid racing during bundle install
5
+ service-wait.sh web:3000
6
+
7
+ # Run the command
8
+ exec "$@"
@@ -20,7 +20,7 @@ spec:
20
20
  {{- include "hyrax.workerSelectorLabels" . | nindent 8 }}
21
21
  spec:
22
22
  initContainers:
23
- - name: db-wait
23
+ - name: service-wait
24
24
  image: "{{ .Values.worker.image.repository }}:{{ .Values.worker.image.tag | default .Chart.AppVersion }}"
25
25
  imagePullPolicy: {{ .Values.worker.image.pullPolicy }}
26
26
  envFrom:
@@ -35,7 +35,7 @@ spec:
35
35
  command:
36
36
  - sh
37
37
  - -c
38
- - db-wait.sh "$REDIS_HOST:6379"
38
+ - service-wait.sh "$REDIS_HOST:6379"
39
39
  {{- if .Values.worker.extraInitContainers }}
40
40
  {{- toYaml .Values.worker.extraInitContainers | nindent 8 }}
41
41
  {{- end }}
@@ -998,6 +998,7 @@ en:
998
998
  heading_actions:
999
999
  close: Close
1000
1000
  create_work: Create work
1001
+ select_admin_set: Deposit into admin set
1001
1002
  select_type_of_work: Select type of work
1002
1003
  manage_proxies: Manage Proxies
1003
1004
  managed:
@@ -1140,8 +1141,9 @@ en:
1140
1141
  graph_reports: Customized Graph Reports
1141
1142
  stats:
1142
1143
  collections: Collections created
1143
- file_downloads: Download
1144
- file_views: View
1144
+ work_views: Metadata View
1145
+ file_downloads: File Download
1146
+ file_views: File View
1145
1147
  files: Files deposited
1146
1148
  heading: Your Statistics
1147
1149
  joined_on: Joined on
@@ -6,6 +6,7 @@ attributes:
6
6
  form:
7
7
  primary: false
8
8
  index_keys:
9
+ - "abstract_sim"
9
10
  - "abstract_tesim"
10
11
  predicate: http://purl.org/dc/terms/abstract
11
12
  access_right:
@@ -14,6 +15,7 @@ attributes:
14
15
  form:
15
16
  primary: false
16
17
  index_keys:
18
+ - "access_right_sim"
17
19
  - "access_right_tesim"
18
20
  predicate: http://purl.org/dc/terms/accessRights
19
21
  alternative_title:
@@ -22,6 +24,7 @@ attributes:
22
24
  form:
23
25
  primary: false
24
26
  index_keys:
27
+ - "alternative_title_sim"
25
28
  - "alternative_title_tesim"
26
29
  predicate: http://purl.org/dc/terms/alternative
27
30
  arkivo_checksum:
@@ -42,6 +45,11 @@ attributes:
42
45
  bibliographic_citation:
43
46
  type: string
44
47
  multiple: true
48
+ form:
49
+ primary: false
50
+ index_keys:
51
+ - "bibliographic_citation_sim"
52
+ - "bibliographic_citation_tesim"
45
53
  predicate: http://purl.org/dc/terms/bibliographicCitation
46
54
  contributor:
47
55
  type: string
@@ -59,6 +67,7 @@ attributes:
59
67
  required: true
60
68
  primary: true
61
69
  index_keys:
70
+ - "creator_sim"
62
71
  - "creator_tesim"
63
72
  predicate: http://purl.org/dc/elements/1.1/creator
64
73
  date_created:
@@ -67,6 +76,7 @@ attributes:
67
76
  form:
68
77
  primary: false
69
78
  index_keys:
79
+ - "date_created_sim"
70
80
  - "date_created_tesim"
71
81
  predicate: http://purl.org/dc/terms/created
72
82
  description:
@@ -75,6 +85,7 @@ attributes:
75
85
  form:
76
86
  primary: false
77
87
  index_keys:
88
+ - "description_sim"
78
89
  - "description_tesim"
79
90
  predicate: http://purl.org/dc/elements/1.1/description
80
91
  identifier:
@@ -83,6 +94,7 @@ attributes:
83
94
  form:
84
95
  primary: false
85
96
  index_keys:
97
+ - "identifier_sim"
86
98
  - "identifier_tesim"
87
99
  predicate: http://purl.org/dc/terms/identifier
88
100
  import_url:
@@ -103,6 +115,7 @@ attributes:
103
115
  form:
104
116
  primary: false
105
117
  index_keys:
118
+ - "publisher_sim"
106
119
  - "publisher_tesim"
107
120
  predicate: http://purl.org/dc/elements/1.1/publisher
108
121
  label:
@@ -110,6 +123,7 @@ attributes:
110
123
  form:
111
124
  primary: false
112
125
  index_keys:
126
+ - "label_sim"
113
127
  - "label_tesim"
114
128
  predicate: info:fedora/fedora-system:def/model#downloadFilename
115
129
  language:
@@ -118,6 +132,7 @@ attributes:
118
132
  form:
119
133
  primary: false
120
134
  index_keys:
135
+ - "language_sim"
121
136
  - "language_tesim"
122
137
  predicate: http://purl.org/dc/elements/1.1/language
123
138
  license:
@@ -126,6 +141,7 @@ attributes:
126
141
  form:
127
142
  primary: false
128
143
  index_keys:
144
+ - "license_sim"
129
145
  - "license_tesim"
130
146
  predicate: http://purl.org/dc/terms/license
131
147
  relative_path:
@@ -137,6 +153,7 @@ attributes:
137
153
  form:
138
154
  primary: false
139
155
  index_keys:
156
+ - "related_url_sim"
140
157
  - "related_url_tesim"
141
158
  predicate: http://www.w3.org/2000/01/rdf-schema#seeAlso
142
159
  resource_type:
@@ -154,6 +171,7 @@ attributes:
154
171
  form:
155
172
  primary: false
156
173
  index_keys:
174
+ - "rights_notes_sim"
157
175
  - "rights_notes_tesim"
158
176
  predicate: http://purl.org/dc/elements/1.1/rights
159
177
  rights_statement:
@@ -162,6 +180,7 @@ attributes:
162
180
  form:
163
181
  primary: true
164
182
  index_keys:
183
+ - "rights_statement_sim"
165
184
  - "rights_statement_tesim"
166
185
  predicate: http://www.europeana.eu/schemas/edm/rights
167
186
  source:
@@ -170,6 +189,7 @@ attributes:
170
189
  form:
171
190
  primary: false
172
191
  index_keys:
192
+ - "source_sim"
173
193
  - "source_tesim"
174
194
  predicate: http://purl.org/dc/terms/source
175
195
  subject:
@@ -14,7 +14,7 @@ attributes:
14
14
  compression:
15
15
  predicate: http://vocabulary.samvera.org/ns#compressionScheme
16
16
  created_at:
17
- predicate: http://purl.org/dc/terms/created
17
+ predicate: http://vocabulary.samvera.org/ns#created_at
18
18
  file_identifier:
19
19
  predicate: http://vocabulary.samvera.org/ns#fileIdentifier
20
20
  file_ids:
@@ -0,0 +1,167 @@
1
+ services:
2
+ web:
3
+ build:
4
+ context: .
5
+ target: hyrax-engine-dev
6
+ args:
7
+ - EXTRA_APK_PACKAGES=git less
8
+ - BUNDLE_GEMFILE=Gemfile.dassie
9
+ image: samvera/hyrax-dev
10
+ command: sh -c 'bundle exec puma -v -b tcp://0.0.0.0:3000'
11
+ stdin_open: true
12
+ tty: true
13
+ user: root
14
+ env_file:
15
+ - .dassie/.env
16
+ environment:
17
+ - RAILS_ROOT=/app/samvera/hyrax-webapp
18
+ depends_on:
19
+ - worker
20
+ - chrome
21
+ - fcrepo
22
+ - fits
23
+ - memcached
24
+ - postgres
25
+ - redis
26
+ - solr
27
+ ports:
28
+ - 3000:3000
29
+ - 9876:9876
30
+ volumes:
31
+ - ./bin:/app/samvera
32
+ - .dassie:/app/samvera/hyrax-webapp
33
+ - .:/app/samvera/hyrax-engine
34
+ - bundle:/app/bundle
35
+ - hyrax-derivatives:/app/samvera/hyrax-webapp/derivatives
36
+ - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
37
+ - rails-public:/app/samvera/hyrax-webapp/public
38
+ - rails-tmp:/app/samvera/hyrax-webapp/tmp
39
+ networks:
40
+ - hyrax
41
+
42
+ worker:
43
+ image: samvera/hyrax-dev
44
+ entrypoint: worker-entrypoint.sh
45
+ command: sh -c 'bundle exec sidekiq'
46
+ user: root
47
+ env_file:
48
+ - .dassie/.env
49
+ depends_on:
50
+ - fcrepo
51
+ - fits
52
+ - memcached
53
+ - postgres
54
+ - redis
55
+ - solr
56
+ volumes:
57
+ - ./bin:/app/samvera
58
+ - .dassie:/app/samvera/hyrax-webapp
59
+ - .:/app/samvera/hyrax-engine
60
+ - bundle:/app/bundle
61
+ - hyrax-derivatives:/app/samvera/hyrax-webapp/derivatives
62
+ - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
63
+ - rails-public:/app/samvera/hyrax-webapp/public
64
+ - rails-tmp:/app/samvera/hyrax-webapp/tmp
65
+ networks:
66
+ - hyrax
67
+
68
+ chrome:
69
+ image: selenium/standalone-chromium:4
70
+ environment:
71
+ # - START_XVFB=false
72
+ - SE_NODE_SESSION_TIMEOUT=800
73
+ - SE_ENABLE_TRACING=false
74
+ - SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP=true
75
+ - SE_BROWSER_ARGS_DISABLE_DSHM=--disable-dev-shm-usage
76
+ - SE_BROWSER_ARGS_HEADLESS=--headless=new
77
+ # logging:
78
+ # driver: none
79
+ volumes:
80
+ - /dev/shm:/dev/shm
81
+ shm_size: 2g
82
+ ports:
83
+ - "4445:4444"
84
+ - "5960:5900"
85
+ networks:
86
+ - hyrax
87
+
88
+ postgres:
89
+ image: postgres:15-alpine
90
+ environment:
91
+ - POSTGRES_USER=hyrax_user
92
+ - POSTGRES_PASSWORD=hyrax_password
93
+ - POSTGRES_DB=hyrax
94
+ - POSTGRES_HOST_AUTH_METHOD=trust
95
+ ports:
96
+ - "5432:5432"
97
+ volumes:
98
+ - db:/var/lib/postgresql/data
99
+ networks:
100
+ - hyrax
101
+
102
+ fcrepo:
103
+ image: ghcr.io/samvera/fcrepo4:4.7.5
104
+ volumes:
105
+ - fcrepo:/data:cached
106
+ ports:
107
+ - 8080:8080
108
+ networks:
109
+ - hyrax
110
+
111
+ fits:
112
+ image: ghcr.io/samvera/fitsservlet:1.6.0
113
+ ports:
114
+ - 8080
115
+ networks:
116
+ - hyrax
117
+
118
+ memcached:
119
+ image: bitnami/memcached
120
+ ports:
121
+ - '11211:11211'
122
+ networks:
123
+ - hyrax
124
+
125
+ redis:
126
+ image: bitnami/redis:6.2
127
+ env_file:
128
+ - .dassie/.env
129
+ volumes:
130
+ - redis:/bitnami/redis/data
131
+ networks:
132
+ - hyrax
133
+
134
+ solr:
135
+ image: solr:8.11
136
+ ports:
137
+ - 8983:8983
138
+ command:
139
+ - sh
140
+ - "-c"
141
+ - "precreate-core hyrax_test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-test /opt/solr/server/configsets/hyraxconf; precreate-core hyrax-valkyrie-dev /opt/solr/server/configsets/hyraxconf; solr-precreate hyrax /opt/solr/server/configsets/hyraxconf"
142
+ volumes:
143
+ - solr_home:/var/solr/data:cached
144
+ - .dassie/solr/conf:/opt/solr/server/configsets/hyraxconf
145
+ ulimits:
146
+ nofile:
147
+ soft: 65536
148
+ hard: 524288
149
+ networks:
150
+ - hyrax
151
+
152
+ volumes:
153
+ bundle:
154
+ db:
155
+ fcrepo:
156
+ hyrax-derivatives:
157
+ hyrax-uploads:
158
+ rails-public:
159
+ rails-tmp:
160
+ redis:
161
+ solr_home:
162
+
163
+ networks:
164
+ hyrax:
165
+ driver: bridge
166
+ driver_opts:
167
+ com.docker.network.bridge.name: br-hyrax
@@ -1,16 +1,14 @@
1
1
  # Requires Docker Compose v2
2
2
  name: koppie
3
3
  services:
4
- app: &app
4
+ web:
5
5
  build:
6
6
  context: .
7
7
  target: hyrax-engine-dev
8
8
  args:
9
9
  - EXTRA_APK_PACKAGES=git less
10
- - APP_PATH=.koppie
11
10
  - BUNDLE_GEMFILE=Gemfile.koppie
12
- image: samvera/koppie
13
- entrypoint: dev-entrypoint.sh
11
+ image: samvera/hyrax-dev
14
12
  command: sh -c 'bundle exec puma -v -b tcp://0.0.0.0:3000'
15
13
  stdin_open: true
16
14
  tty: true
@@ -20,8 +18,9 @@ services:
20
18
  environment:
21
19
  - RAILS_ROOT=/app/samvera/hyrax-webapp
22
20
  depends_on:
21
+ - worker
23
22
  - chrome
24
- - db_migrate
23
+ - fits
25
24
  - memcached
26
25
  - postgres
27
26
  - redis
@@ -43,15 +42,15 @@ services:
43
42
  networks:
44
43
  - koppie
45
44
 
46
- sidekiq:
47
- image: samvera/koppie
48
- entrypoint: dev-entrypoint.sh
45
+ worker:
46
+ image: samvera/hyrax-dev
47
+ entrypoint: worker-entrypoint.sh
49
48
  command: sh -c 'bundle exec sidekiq'
50
49
  user: root
51
50
  env_file:
52
51
  - .koppie/.env
53
52
  depends_on:
54
- - db_migrate
53
+ - fits
55
54
  - memcached
56
55
  - postgres
57
56
  - redis
@@ -69,43 +68,29 @@ services:
69
68
  networks:
70
69
  - koppie
71
70
 
72
- db_migrate:
73
- image: samvera/koppie
74
- user: root
75
- env_file:
76
- - .koppie/.env
77
- entrypoint: dev-entrypoint.sh
78
- command: db-migrate-seed.sh
79
- depends_on:
80
- - postgres
81
- - solr
82
- volumes:
83
- - ./bin:/app/samvera
84
- - .koppie:/app/samvera/hyrax-webapp
85
- - .:/app/samvera/hyrax-engine
86
- - bundle:/app/bundle
87
- - rails-public:/app/samvera/hyrax-webapp/public
88
- - rails-tmp:/app/samvera/hyrax-webapp/tmp
89
- networks:
90
- - koppie
91
-
92
71
  chrome:
93
- image: seleniarm/standalone-chromium:114.0
72
+ image: selenium/standalone-chromium:4
94
73
  environment:
95
- - START_XVFB=false
96
- logging:
97
- driver: none
74
+ # - START_XVFB=false
75
+ - SE_NODE_SESSION_TIMEOUT=800
76
+ - SE_ENABLE_TRACING=false
77
+ - SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP=true
78
+ - SE_BROWSER_ARGS_DISABLE_DSHM=--disable-dev-shm-usage
79
+ - SE_BROWSER_ARGS_HEADLESS=--headless=new
80
+ # logging:
81
+ # driver: none
98
82
  volumes:
99
83
  - /dev/shm:/dev/shm
100
- shm_size: 2G
84
+ shm_size: 2g
101
85
  ports:
102
86
  - "4446:4444"
103
87
  - "5961:5900"
88
+ - "7961:7900"
104
89
  networks:
105
90
  - koppie
106
91
 
107
92
  postgres:
108
- image: postgres:15
93
+ image: postgres:15-alpine
109
94
  env_file:
110
95
  - .koppie/.env
111
96
  ports:
@@ -145,7 +130,7 @@ services:
145
130
  command:
146
131
  - sh
147
132
  - "-c"
148
- - "precreate-core hydra-test /opt/solr/server/configsets/hyraxconf; solr-precreate koppie /opt/solr/server/configsets/hyraxconf"
133
+ - "precreate-core koppie-test /opt/solr/server/configsets/hyraxconf; solr-precreate koppie /opt/solr/server/configsets/hyraxconf"
149
134
  volumes:
150
135
  - solr_home:/var/solr/data:cached
151
136
  - .koppie/solr/conf:/opt/solr/server/configsets/hyraxconf
@@ -1,15 +1,14 @@
1
1
  # Requires Docker Compose v2
2
2
  name: sirenia
3
3
  services:
4
- app: &app
4
+ web:
5
5
  build:
6
6
  context: .
7
7
  target: hyrax-engine-dev
8
8
  args:
9
9
  - EXTRA_APK_PACKAGES=git less
10
- - APP_PATH=.koppie
11
- image: samvera/koppie
12
- entrypoint: dev-entrypoint.sh
10
+ - BUNDLE_GEMFILE=Gemfile.koppie
11
+ image: samvera/hyrax-dev
13
12
  command: sh -c 'bundle exec puma -v -b tcp://0.0.0.0:3000'
14
13
  stdin_open: true
15
14
  tty: true
@@ -22,8 +21,9 @@ services:
22
21
  - VALKYRIE_METADATA_ADAPTER=fedora_metadata
23
22
  - VALKYRIE_STORAGE_ADAPTER=fedora_storage
24
23
  depends_on:
24
+ - worker
25
25
  - chrome
26
- - db_migrate
26
+ - fits
27
27
  - memcached
28
28
  - postgres
29
29
  - redis
@@ -45,19 +45,20 @@ services:
45
45
  networks:
46
46
  - sirenia
47
47
 
48
- sidekiq:
49
- image: samvera/koppie
50
- entrypoint: dev-entrypoint.sh
48
+ worker:
49
+ image: samvera/hyrax-dev
50
+ entrypoint: worker-entrypoint.sh
51
51
  command: sh -c 'bundle exec sidekiq'
52
52
  user: root
53
53
  env_file:
54
54
  - .koppie/.env
55
55
  environment:
56
56
  - APP_NAME=sirenia
57
+ - RAILS_ROOT=/app/samvera/hyrax-webapp
57
58
  - VALKYRIE_METADATA_ADAPTER=fedora_metadata
58
59
  - VALKYRIE_STORAGE_ADAPTER=fedora_storage
59
60
  depends_on:
60
- - db_migrate
61
+ - fits
61
62
  - memcached
62
63
  - postgres
63
64
  - redis
@@ -75,47 +76,29 @@ services:
75
76
  networks:
76
77
  - sirenia
77
78
 
78
- db_migrate:
79
- image: samvera/koppie
80
- user: root
81
- env_file:
82
- - .koppie/.env
83
- environment:
84
- - APP_NAME=sirenia
85
- - VALKYRIE_METADATA_ADAPTER=fedora_metadata
86
- - VALKYRIE_STORAGE_ADAPTER=fedora_storage
87
- entrypoint: dev-entrypoint.sh
88
- command: db-migrate-seed.sh
89
- depends_on:
90
- - postgres
91
- - solr
92
- volumes:
93
- - ./bin:/app/samvera
94
- - .koppie:/app/samvera/hyrax-webapp
95
- - .:/app/samvera/hyrax-engine
96
- - bundle:/app/bundle
97
- - rails-public:/app/samvera/hyrax-webapp/public
98
- - rails-tmp:/app/samvera/hyrax-webapp/tmp
99
- networks:
100
- - sirenia
101
-
102
79
  chrome:
103
- image: seleniarm/standalone-chromium:114.0
80
+ image: selenium/standalone-chromium:4
104
81
  environment:
105
- - START_XVFB=false
106
- logging:
107
- driver: none
82
+ # - START_XVFB=false
83
+ - SE_NODE_SESSION_TIMEOUT=800
84
+ - SE_ENABLE_TRACING=false
85
+ - SE_ENABLE_BROWSER_LEFTOVERS_CLEANUP=true
86
+ - SE_BROWSER_ARGS_DISABLE_DSHM=--disable-dev-shm-usage
87
+ - SE_BROWSER_ARGS_HEADLESS=--headless=new
88
+ # logging:
89
+ # driver: none
108
90
  volumes:
109
91
  - /dev/shm:/dev/shm
110
- shm_size: 2G
92
+ shm_size: 2g
111
93
  ports:
112
94
  - "4447:4444"
113
95
  - "5962:5900"
96
+ - "7962:7900"
114
97
  networks:
115
98
  - sirenia
116
99
 
117
100
  postgres:
118
- image: postgres:15
101
+ image: postgres:15-alpine
119
102
  env_file:
120
103
  - .koppie/.env
121
104
  ports:
@@ -126,13 +109,16 @@ services:
126
109
  - sirenia
127
110
 
128
111
  fcrepo:
129
- image: fcrepo/fcrepo:6.4.0
112
+ image: fcrepo/fcrepo:6.5.1-RC3-tomcat9
130
113
  environment:
131
114
  - >-
132
115
  CATALINA_OPTS=-Dfcrepo.home=/fcrepo-home -Djava.awt.headless=true -Dfile.encoding=UTF-8
133
- -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
134
- -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
135
- - JAVA_OPTS=-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
116
+ -server -Xms1G -Xmx2G -XX:NewSize=256m -XX:MaxNewSize=1G
117
+ -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/mem
118
+ -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
119
+ -Dfcrepo.pid.minter.length=2 -Dfcrepo.pid.minter.count=4
120
+ -Dfcrepo.jms.enabled=false -Dfcrepo.metrics.enable=true
121
+ - JAVA_OPTS=-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Dfcrepo.pid.minter.length=2 -Dfcrepo.pid.minter.count=4
136
122
  volumes:
137
123
  - fcrepo:/fcrepo-home
138
124
  ports:
@@ -170,7 +156,7 @@ services:
170
156
  command:
171
157
  - sh
172
158
  - "-c"
173
- - "precreate-core hydra-test /opt/solr/server/configsets/hyraxconf; solr-precreate koppie /opt/solr/server/configsets/hyraxconf"
159
+ - "precreate-core koppie-test /opt/solr/server/configsets/hyraxconf; solr-precreate koppie /opt/solr/server/configsets/hyraxconf"
174
160
  volumes:
175
161
  - solr_home:/var/solr/data:cached
176
162
  - .koppie/solr/conf:/opt/solr/server/configsets/hyraxconf
@@ -181,6 +167,26 @@ services:
181
167
  networks:
182
168
  - sirenia
183
169
 
170
+ ## Fedora Metrics Tools https://wiki.lyrasis.org/display/FEDORA6x/Metrics
171
+ # prometheus:
172
+ # image: prom/prometheus:v2.55.1
173
+ # depends_on:
174
+ # - fcrepo
175
+ # ports:
176
+ # - "9090:9090"
177
+ # volumes:
178
+ # - ./prometheus.yml:/etc/prometheus/prometheus.yml
179
+ # networks:
180
+ # - sirenia
181
+ # grafana:
182
+ # image: grafana/grafana:11.3.1
183
+ # depends_on:
184
+ # - fcrepo
185
+ # ports:
186
+ # - "3500:3000"
187
+ # networks:
188
+ # - sirenia
189
+
184
190
  volumes:
185
191
  bundle:
186
192
  db: