hyrax 5.0.1 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
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: