hyrax 4.0.0.beta2 → 4.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +66 -54
  3. data/.dassie/Gemfile +1 -1
  4. data/.dassie/app/controllers/catalog_controller.rb +1 -1
  5. data/.dassie/config/initializers/hyrax.rb +4 -0
  6. data/.github/SUPPORT.md +2 -3
  7. data/.github/workflows/main.yml +4 -4
  8. data/.github/workflows/release.yml +10 -4
  9. data/.koppie/Gemfile +1 -2
  10. data/.koppie/app/controllers/catalog_controller.rb +1 -1
  11. data/.koppie/config/authorities/licenses.yml +7 -7
  12. data/.koppie/config/initializers/file_services.rb +4 -0
  13. data/.koppie/db/schema.rb +2 -2
  14. data/.koppie/yarn.lock +1 -1
  15. data/CONTAINERS.md +2 -2
  16. data/CONTRIBUTING.md +2 -2
  17. data/Dockerfile +21 -9
  18. data/README.md +24 -97
  19. data/app/assets/stylesheets/hyrax/_catalog.scss +4 -0
  20. data/app/assets/stylesheets/hyrax/_forms.scss +4 -0
  21. data/app/controllers/concerns/hyrax/controller.rb +1 -23
  22. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +1 -0
  23. data/app/controllers/hyrax/dashboard/collections_controller.rb +1 -1
  24. data/app/controllers/hyrax/downloads_controller.rb +16 -1
  25. data/app/controllers/hyrax/file_sets_controller.rb +9 -2
  26. data/app/controllers/hyrax/my/works_controller.rb +3 -1
  27. data/app/controllers/hyrax/transfers_controller.rb +4 -1
  28. data/app/controllers/hyrax/workflow_actions_controller.rb +3 -2
  29. data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
  30. data/app/forms/hyrax/forms/file_set_form.rb +8 -35
  31. data/app/forms/hyrax/forms/pcdm_object_form.rb +46 -0
  32. data/app/forms/hyrax/forms/resource_form.rb +9 -34
  33. data/app/helpers/hyrax/hyrax_helper_behavior.rb +1 -1
  34. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +1 -1
  35. data/app/jobs/characterize_job.rb +3 -2
  36. data/app/jobs/valkyrie_create_derivatives_job.rb +0 -2
  37. data/app/models/concerns/hyrax/ability.rb +1 -1
  38. data/app/models/concerns/hyrax/collection_behavior.rb +0 -47
  39. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  40. data/app/models/concerns/hyrax/suppressible.rb +0 -8
  41. data/app/models/file_download_stat.rb +4 -4
  42. data/app/models/hyrax/collection_type.rb +0 -16
  43. data/app/models/hyrax/file_metadata.rb +5 -12
  44. data/app/models/hyrax/file_set.rb +1 -9
  45. data/app/models/hyrax/statistic.rb +4 -4
  46. data/app/models/sipity.rb +27 -6
  47. data/app/presenters/hyrax/collection_presenter.rb +1 -1
  48. data/app/presenters/hyrax/iiif_manifest_presenter.rb +14 -4
  49. data/app/presenters/hyrax/work_show_presenter.rb +1 -1
  50. data/app/presenters/hyrax/workflow_presenter.rb +1 -1
  51. data/app/search_builders/hyrax/collection_search_builder.rb +1 -0
  52. data/app/search_builders/hyrax/filter_suppressed_with_roles.rb +1 -1
  53. data/app/services/hyrax/admin_set_service.rb +1 -1
  54. data/app/services/hyrax/collections/nested_collection_query_service.rb +2 -2
  55. data/app/services/hyrax/database_migrator.rb +1 -1
  56. data/app/services/hyrax/edit_permissions_service.rb +21 -3
  57. data/app/services/hyrax/restriction_service.rb +1 -1
  58. data/app/services/hyrax/solr_query_service.rb +10 -2
  59. data/app/services/hyrax/solr_service.rb +22 -16
  60. data/app/services/hyrax/thumbnail_path_service.rb +10 -2
  61. data/app/services/hyrax/valkyrie_persist_derivatives.rb +26 -15
  62. data/app/services/hyrax/valkyrie_upload.rb +23 -30
  63. data/app/services/hyrax/visibility_propagator.rb +5 -5
  64. data/app/services/hyrax/workflow/status_list_service.rb +1 -1
  65. data/app/views/hyrax/base/_attribute_rows.html.erb +2 -0
  66. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +1 -1
  67. data/app/views/hyrax/file_sets/_permission.html.erb +1 -1
  68. data/app/views/hyrax/file_sets/edit.html.erb +1 -1
  69. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +1 -1
  70. data/app/views/hyrax/file_sets/media_display/_default.html.erb +1 -1
  71. data/app/views/hyrax/file_sets/media_display/_image.html.erb +1 -1
  72. data/app/views/hyrax/file_sets/media_display/_office_document.html.erb +1 -1
  73. data/app/views/hyrax/file_sets/media_display/_pdf.html.erb +1 -1
  74. data/app/views/hyrax/file_sets/media_display/_video.html.erb +1 -1
  75. data/app/views/hyrax/uploads/_js_templates.html.erb +8 -8
  76. data/app/views/hyrax/uploads/_js_templates_branding.html.erb +2 -2
  77. data/app/views/hyrax/users/_vitals.html.erb +4 -4
  78. data/chart/hyrax/Chart.yaml +7 -7
  79. data/chart/hyrax/README.md +5 -0
  80. data/chart/hyrax/templates/_helpers.tpl +14 -6
  81. data/chart/hyrax/templates/cron-embargo.yaml +1 -1
  82. data/chart/hyrax/templates/cron-lease.yaml +1 -1
  83. data/chart/hyrax/templates/deployment-worker.yaml +2 -2
  84. data/chart/hyrax/templates/extra-list.yaml +8 -0
  85. data/chart/hyrax/templates/secrets.yaml +3 -3
  86. data/chart/hyrax/values.yaml +22 -15
  87. data/config/locales/hyrax.de.yml +7 -7
  88. data/config/locales/hyrax.es.yml +7 -7
  89. data/config/locales/hyrax.fr.yml +8 -8
  90. data/config/locales/hyrax.it.yml +7 -7
  91. data/config/locales/hyrax.pt-BR.yml +7 -7
  92. data/config/locales/hyrax.zh.yml +8 -8
  93. data/config/metadata/file_set_metadata.yaml +130 -0
  94. data/documentation/MAINTENANCE.md +77 -0
  95. data/documentation/developing-your-hyrax-based-app.md +2 -2
  96. data/documentation/legacyREADME.md +2 -2
  97. data/hyrax.gemspec +4 -4
  98. data/lib/generators/hyrax/templates/catalog_controller.rb +1 -1
  99. data/lib/hyrax/configuration.rb +5 -0
  100. data/lib/hyrax/engine.rb +0 -1
  101. data/lib/hyrax/transactions/container.rb +0 -2
  102. data/lib/hyrax/transactions/steps/save_collection_banner.rb +1 -1
  103. data/lib/hyrax/transactions/steps/save_collection_logo.rb +1 -1
  104. data/lib/hyrax/version.rb +1 -1
  105. data/lib/valkyrie/indexing/solr/indexing_adapter.rb +1 -1
  106. data/lib/wings/active_fedora_converter/file_metadata_node.rb +1 -1
  107. data/samvera-fall-TM3.svg +376 -0
  108. data/template.rb +1 -1
  109. metadata +36 -45
  110. data/app/conversions/power_converters/polymorphic_type.rb +0 -9
  111. data/app/conversions/power_converters/sipity_action.rb +0 -11
  112. data/app/conversions/power_converters/sipity_action_name.rb +0 -10
  113. data/app/conversions/power_converters/sipity_agent.rb +0 -9
  114. data/app/conversions/power_converters/sipity_entity.rb +0 -14
  115. data/app/conversions/power_converters/sipity_role.rb +0 -10
  116. data/app/conversions/power_converters/sipity_workflow_id.rb +0 -17
  117. data/app/conversions/power_converters/sipity_workflow_state.rb +0 -13
  118. data/app/conversions/power_converters.rb +0 -7
@@ -595,7 +595,7 @@ fr:
595
595
  depositor: Déposant
596
596
  directions: Indépendamment des paramètres de visibilité pour ce travail, vous pouvez également le partager avec d'autres utilisateurs et groupes.
597
597
  group: Groupe
598
- permissions_save_note_html: Les autorisations ne sont <strong> pas </ strong> enregistrées tant que le & quot; Enregistrer & quot; bouton est enfoncé en bas de la page.
598
+ permissions_save_note_html: Les autorisations ne sont <strong> pas </strong> enregistrées tant que le & quot; Enregistrer & quot; bouton est enfoncé en bas de la page.
599
599
  use_add_button: Utilisez le bouton Ajouter pour donner accès à un %{account_label} à la fois (il sera ajouté à la liste ci-dessous). Sélectionnez l'utilisateur, par son nom ou par %{account_label} \. Ensuite, sélectionnez le niveau d'accès que vous souhaitez accorder et cliquez sur Ajouter ce %{account_label} pour terminer l'ajout de l'autorisation.
600
600
  form_thumbnail:
601
601
  help_html: Sélectionnez le fichier à utiliser comme vignette pour ce travail.
@@ -1411,14 +1411,14 @@ fr:
1411
1411
  count:
1412
1412
  collections:
1413
1413
  collections_listing: Liste des collections
1414
- in_repo: "<strong> Collections %{total_count} </ strong> dans le référentiel"
1415
- you_manage: "<strong> collections %{total_count} </ strong> que vous pouvez gérer dans le référentiel"
1416
- you_own: "<strong> collections %{total_count} </ strong> que vous possédez dans le référentiel"
1414
+ in_repo: "<strong> Collections %{total_count} </strong> dans le référentiel"
1415
+ you_manage: "<strong> collections %{total_count} </strong> que vous pouvez gérer dans le référentiel"
1416
+ you_own: "<strong> collections %{total_count} </strong> que vous possédez dans le référentiel"
1417
1417
  works:
1418
- in_repo: "<strong> %{total_count} fonctionne </ strong> dans le référentiel"
1418
+ in_repo: "<strong> %{total_count} fonctionne </strong> dans le référentiel"
1419
1419
  works_listing: Liste des travaux
1420
- you_manage: "<strong> %{total_count} fonctionne </ strong> vous pouvez gérer dans le référentiel"
1421
- you_own: "<strong> %{total_count} fonctionne </ strong> que vous possédez dans le référentiel"
1420
+ you_manage: "<strong> %{total_count} fonctionne </strong> vous pouvez gérer dans le référentiel"
1421
+ you_own: "<strong> %{total_count} fonctionne </strong> que vous possédez dans le référentiel"
1422
1422
  sort_and_per_page:
1423
1423
  number_of_results_to_display_per_page: Nombre de résultats à afficher par page
1424
1424
  nav_safety:
@@ -1839,4 +1839,4 @@ fr:
1839
1839
  html: <span class="badge badge-info required-tag">Champs obligatoires</span>
1840
1840
  total_view:
1841
1841
  one: Ce travail a 1 vue totale
1842
- other: Ce travail a zxzxxx0 vues au total
1842
+ other: Ce travail a zxzxxx0 vues au total
@@ -1410,14 +1410,14 @@ it:
1410
1410
  count:
1411
1411
  collections:
1412
1412
  collections_listing: Elenco delle collezioni
1413
- in_repo: "<strong> collezioni %{total_count} </ strong> nel repository"
1414
- you_manage: "<strong> collezioni %{total_count} </ strong> che puoi gestire nel repository"
1415
- you_own: "<strong> collezioni %{total_count} </ strong> che possiedi nel repository"
1413
+ in_repo: "<strong> collezioni %{total_count} </strong> nel repository"
1414
+ you_manage: "<strong> collezioni %{total_count} </strong> che puoi gestire nel repository"
1415
+ you_own: "<strong> collezioni %{total_count} </strong> che possiedi nel repository"
1416
1416
  works:
1417
- in_repo: "<strong> %{total_count} funziona </ strong> nel repository"
1417
+ in_repo: "<strong> %{total_count} funziona </strong> nel repository"
1418
1418
  works_listing: Elenco delle opere
1419
- you_manage: "<strong> %{total_count} funziona </ strong> che puoi gestire nel repository"
1420
- you_own: "<strong> %{total_count} funziona </ strong> nel repository"
1419
+ you_manage: "<strong> %{total_count} funziona </strong> che puoi gestire nel repository"
1420
+ you_own: "<strong> %{total_count} funziona </strong> nel repository"
1421
1421
  sort_and_per_page:
1422
1422
  number_of_results_to_display_per_page: Numero di risultati da visualizzare per pagina
1423
1423
  nav_safety:
@@ -1838,4 +1838,4 @@ it:
1838
1838
  html: <span class="badge badge-info required-tag">necessario</span>
1839
1839
  total_view:
1840
1840
  one: Quest'opera ha 1 vista totale
1841
- other: Questo lavoro ha %{count} visualizzazioni totali
1841
+ other: Questo lavoro ha %{count} visualizzazioni totali
@@ -1405,14 +1405,14 @@ pt-BR:
1405
1405
  count:
1406
1406
  collections:
1407
1407
  collections_listing: Listagem de coleções
1408
- in_repo: "<strong> coleções %{total_count} </ strong> no repositório"
1409
- you_manage: "<strong> %{total_count} coleções</ strong> que você pode curatelar no repositório"
1410
- you_own: "<strong> %{total_count} coleções </ strong> que você possui no repositório"
1408
+ in_repo: "<strong> coleções %{total_count} </strong> no repositório"
1409
+ you_manage: "<strong> %{total_count} coleções</strong> que você pode curatelar no repositório"
1410
+ you_own: "<strong> %{total_count} coleções </strong> que você possui no repositório"
1411
1411
  works:
1412
- in_repo: "<strong> %{total_count} obras </ strong> no repositório"
1412
+ in_repo: "<strong> %{total_count} obras </strong> no repositório"
1413
1413
  works_listing: Lista de obras
1414
- you_manage: "<strong> %{total_count} obras </ strong> que você pode curatelar no repositório"
1415
- you_own: "<strong> %{total_count} obras </ strong> que você possui no repositório"
1414
+ you_manage: "<strong> %{total_count} obras </strong> que você pode curatelar no repositório"
1415
+ you_own: "<strong> %{total_count} obras </strong> que você possui no repositório"
1416
1416
  sort_and_per_page:
1417
1417
  number_of_results_to_display_per_page: Número de resultados a serem exibidos por página
1418
1418
  nav_safety:
@@ -1833,4 +1833,4 @@ pt-BR:
1833
1833
  html: <span class="badge badge-info required-tag">obrigatórios</span>
1834
1834
  total_view:
1835
1835
  one: Este trabalho tem 1 visualização total
1836
- other: Este trabalho tem %{count} visualizações totais
1836
+ other: Este trabalho tem %{count} visualizações totais
@@ -592,7 +592,7 @@ zh:
592
592
  depositor: 储户
593
593
  directions: 无论此工作的可见性设置如何,您也可以与其他用户和组共享。
594
594
  group: 组
595
- permissions_save_note_html: 权限<strong> </ strong>保存,直到“保存”为止。按钮在页面底部按下。
595
+ permissions_save_note_html: 权限<strong> </strong>保存,直到“保存”为止。按钮在页面底部按下。
596
596
  use_add_button: 使用添加按钮一次可以访问一个%{account_label}(它将被添加到下面的列表中)。按名称或%{account_label} \选择用户。然后选择您要授予的访问级别,并单击“添加此%{account_label}”以完成添加权限。
597
597
  form_thumbnail:
598
598
  help_html: 选择要用作此作品缩略图的文件。
@@ -1408,14 +1408,14 @@ zh:
1408
1408
  count:
1409
1409
  collections:
1410
1410
  collections_listing: 收藏清单
1411
- in_repo: 存储库中的<strong> %{total_count}集合</ strong>
1412
- you_manage: 您可以在存储库中管理<strong> %{total_count}集合</ strong>
1413
- you_own: 您在存储库中拥有<strong> %{total_count}集合</ strong>
1411
+ in_repo: 存储库中的<strong> %{total_count}集合</strong>
1412
+ you_manage: 您可以在存储库中管理<strong> %{total_count}集合</strong>
1413
+ you_own: 您在存储库中拥有<strong> %{total_count}集合</strong>
1414
1414
  works:
1415
- in_repo: 存储库中的<strong> %{total_count}有效</ strong>
1415
+ in_repo: 存储库中的<strong> %{total_count}有效</strong>
1416
1416
  works_listing: 作品清单
1417
- you_manage: 您可以在存储库中管理<strong> %{total_count}作品</ strong>
1418
- you_own: 您在存储库中拥有<strong> %{total_count}作品</ strong>
1417
+ you_manage: 您可以在存储库中管理<strong> %{total_count}作品</strong>
1418
+ you_own: 您在存储库中拥有<strong> %{total_count}作品</strong>
1419
1419
  sort_and_per_page:
1420
1420
  number_of_results_to_display_per_page: 每页显示的结果数
1421
1421
  nav_safety:
@@ -1836,4 +1836,4 @@ zh:
1836
1836
  html: <span class="badge badge-info required-tag">需要的</span>
1837
1837
  total_view:
1838
1838
  one: 该作品共有 1 次浏览
1839
- other: 此作品总浏览量为 %{count}
1839
+ other: 此作品总浏览量为 %{count}
@@ -0,0 +1,130 @@
1
+ # This is the metadata used for `Hyrax::FileSet`s.` It is similar to
2
+ # `basic_metadata.yaml`, but not exactly the same.
3
+ #
4
+ # Terms which are already present in `core_metadata.yaml` are not repeated here.
5
+ attributes:
6
+ # Required attributes:
7
+ creator:
8
+ type: string
9
+ multiple: true
10
+ form:
11
+ required: true
12
+ primary: true
13
+ index_keys:
14
+ - "creator_tesim"
15
+ license:
16
+ type: string
17
+ multiple: true
18
+ form:
19
+ required: true
20
+ primary: true
21
+
22
+ # Other attributes:
23
+ abstract:
24
+ type: string
25
+ multiple: true
26
+ # form:
27
+ # primary: false
28
+ # missing: access_right
29
+ # missing: alternative_title
30
+ based_near:
31
+ type: string
32
+ multiple: true
33
+ form:
34
+ primary: false
35
+ index_keys:
36
+ - "based_near_sim"
37
+ - "based_near_tesim"
38
+ # missing: bibliograpic_citation
39
+ contributor:
40
+ type: string
41
+ multiple: true
42
+ form:
43
+ primary: false
44
+ # required: creator
45
+ date_created:
46
+ type: date_time
47
+ multiple: true
48
+ form:
49
+ primary: false
50
+ index_keys:
51
+ - "date_created_tesim"
52
+ description:
53
+ type: string
54
+ multiple: true
55
+ form:
56
+ primary: false
57
+ index_keys:
58
+ - "description_tesim"
59
+ identifier:
60
+ type: string
61
+ multiple: true
62
+ form:
63
+ primary: false
64
+ # missing: import_url
65
+ keyword:
66
+ type: string
67
+ multiple: true
68
+ form:
69
+ primary: false
70
+ index_keys:
71
+ - "keyword_sim"
72
+ - "keyword_tesim"
73
+ # missing: publisher
74
+ label:
75
+ type: string
76
+ # form:
77
+ # primary: false
78
+ language:
79
+ type: string
80
+ multiple: true
81
+ form:
82
+ primary: false
83
+ # required: license
84
+ publisher:
85
+ type: string
86
+ multiple: true
87
+ form:
88
+ primary: false
89
+ related_url:
90
+ type: string
91
+ multiple: true
92
+ form:
93
+ primary: false
94
+ index_keys:
95
+ - "related_url_tesim"
96
+ relative_path:
97
+ type: string
98
+ resource_type:
99
+ type: string
100
+ multiple: true
101
+ # form:
102
+ # primary: false
103
+ index_keys:
104
+ - "resource_type_sim"
105
+ - "resource_type_tesim"
106
+ rights_notes:
107
+ type: string
108
+ multiple: true
109
+ # form:
110
+ # primary: false
111
+ rights_statement:
112
+ type: string
113
+ multiple: true
114
+ # form:
115
+ # primary: true
116
+ index_keys:
117
+ - "rights_statement_tesim"
118
+ source:
119
+ type: string
120
+ multiple: true
121
+ # form:
122
+ # primary: false
123
+ subject:
124
+ type: string
125
+ multiple: true
126
+ form:
127
+ primary: false
128
+ index_keys:
129
+ - "subject_sim"
130
+ - "subject_tesim"
@@ -0,0 +1,77 @@
1
+ # Maintenance Policy for Hyrax
2
+ January 25, 2023
3
+
4
+ [Hyrax Maintenance Working Group](https://samvera.atlassian.net/wiki/spaces/samvera/pages/496632295/Hyrax+Maintenance+Working+Group)
5
+
6
+ ## Why do we need a policy?
7
+ A written policy prevents word-of-mouth policies which create confusion in the community.
8
+ A written policy also provides a transparent way to communicate our values to people who may
9
+ not work on the maintenance team consistently. It gives a basis to justify spending time on
10
+ something that isn’t in the product backlog.
11
+
12
+ Updated versions of JavaScript libraries, Ruby, and Ruby gems are released all the time.
13
+ If we don’t keep our applications up-to-date with the latest released versions of their
14
+ dependencies, we may end up with applications that rely on dependencies with known
15
+ vulnerabilities, bugs, or deprecated features.
16
+
17
+ Hyrax releases are managed in two groupings:
18
+ - Breaking changes which include new features with incompatible changes such as requiring
19
+ data migration, bug fixes or security fixes with incompatible changes.
20
+ - Non-breaking changes which have new features that can be introduced with feature flipper,
21
+ backwards compatibility, or that do not require data migration, bug fixes or security fixes
22
+ that do not require data migration.
23
+
24
+ ## Semantic Versioning
25
+
26
+ Hyrax follows [semver](https://semver.org/) for release versioning. All releases are handled in X.Y.Z format.
27
+
28
+ Current releases are at https://github.com/samvera/hyrax/releases
29
+
30
+ ### Major X
31
+ New features with incompatible changes such as requiring data migration, bug fixes or security
32
+ fixes with incompatible changes. Breaking changes are paired with deprecation notices in the
33
+ previous minor or major release.
34
+
35
+ ### Minor Y
36
+ New features that can be introduced with feature flipper, backwards compatibility, or that do not
37
+ require data migration. May also contain bug fixes or security fixes that do not require data migration.
38
+
39
+ ### Patch Z
40
+ Bug fixes or security fixes that do not require data migration. No new features.
41
+
42
+ ## Supported Versions
43
+ Supported versions are the highest currently released X version and then backwards to X-1. So when
44
+ Hyrax 4.0 is released, the latest Hyrax 3.y is supported but Hyrax 2.y is not. Extended support for
45
+ an otherwise unsupported version may be offered at the Product Owner or Technical Lead’s discretion.
46
+ See End-of-Life Versions below.
47
+
48
+ ## New features
49
+ New features that are added to the current release may be backported to supported past versions on
50
+ a case-by-case basis. New features that are not relevant to the current release can be added to a
51
+ supported past version.
52
+
53
+ ## Bug fixes
54
+ Bug fixes that are added to the current release may be backported to supported past versions on a
55
+ case-by-case basis.
56
+
57
+ ## Security fixes
58
+ The current major release will receive patches and new versions in case of a security fix. The last
59
+ release in the previous major version will also receive security updates. So when Hyrax 4.y has a
60
+ security fix applied, this security fix would also be applied to the latest Hyrax 3.y, but not to
61
+ Hyrax 2.y.
62
+
63
+ ## Dependency Management
64
+ Deprecated or end-of-life versions of dependencies used as part of building a Hyrax-based application
65
+ will be removed from the test suite to manage maintenance. If an outdated version of a dependency is
66
+ still supported that does not pose security issues, it may remain supported in the test suite.
67
+
68
+ ## End-of-Life Versions
69
+ End-of-life versions are X-1 versions behind the highest currently released X version. So when Hyrax 4.0
70
+ is released, Hyrax 2.y is end-of-life and no longer supported, but Hyrax 3.y is still supported and is
71
+ not end-of-life. Extended support for an otherwise unsupported version may be offered at the Product
72
+ Owner or Technical Lead’s discretion (e.g. many major releases in a short period of time).
73
+ See Supported Versions above.
74
+
75
+ End-of-Life versions of Hyrax will not be supported. Applying fixes (security or otherwise) will be
76
+ up to the implementing entity. We encourage updating to supported versions of Hyrax to receive updates
77
+ and security fixes.
@@ -30,7 +30,7 @@ A Hyrax-based application includes lots of dependencies. We provide a [Docker im
30
30
  You can also try [Running Hyrax-based application in local VM](https://github.com/samvera/hyrax/wiki/Hyrax-Development-Guide#running-hyrax-based-application-in-local-vm) which uses Ubuntu.
31
31
 
32
32
  This document contains instructions specific to setting up an app with __Hyrax
33
- v3.0.1__. If you are looking for instructions on installing a different
33
+ v4.0.0.rc1__. If you are looking for instructions on installing a different
34
34
  version, be sure to select the appropriate branch or tag from the drop-down
35
35
  menu above.
36
36
 
@@ -125,7 +125,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
125
125
  Generate a new Rails application using the template.
126
126
 
127
127
  ```
128
- rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v4.0.0.beta2/template.rb
128
+ rails _6.1.7.3_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/hyrax-v4.0.0.rc1/template.rb
129
129
  ```
130
130
 
131
131
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
@@ -50,7 +50,7 @@ The Samvera community is here to help. Please see our [support guide](../.github
50
50
  # Getting started
51
51
 
52
52
  This document contains instructions specific to setting up an app with __Hyrax
53
- v4.0.0.beta2__. If you are looking for instructions on installing a different
53
+ v4.0.0.rc1__. If you are looking for instructions on installing a different
54
54
  version, be sure to select the appropriate branch or tag from the drop-down
55
55
  menu above.
56
56
 
@@ -159,7 +159,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
159
159
  Generate a new Rails application using the template.
160
160
 
161
161
  ```
162
- rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.2/template.rb
162
+ rails _6.1.7.3_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/hyrax-v4.0.0.rc1/template.rb
163
163
  ```
164
164
 
165
165
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
data/hyrax.gemspec CHANGED
@@ -44,8 +44,8 @@ SUMMARY
44
44
  spec.add_dependency 'draper', '~> 4.0'
45
45
  spec.add_dependency 'dry-events', '~> 0.2.0'
46
46
  spec.add_dependency 'dry-equalizer', '~> 0.2'
47
+ spec.add_dependency 'dry-monads', '~> 1.5'
47
48
  spec.add_dependency 'dry-struct', '~> 1.0'
48
- spec.add_dependency 'dry-transaction', '~> 0.11'
49
49
  spec.add_dependency 'dry-validation', '~> 1.3'
50
50
  spec.add_dependency 'flipflop', '~> 2.3'
51
51
  # Pin more tightly because 0.x gems are potentially unstable
@@ -69,21 +69,21 @@ SUMMARY
69
69
  spec.add_dependency 'oauth2', '~> 1.2'
70
70
  spec.add_dependency 'openseadragon'
71
71
  spec.add_dependency 'posix-spawn'
72
- spec.add_dependency 'power_converter', '~> 0.1', '>= 0.1.2'
73
72
  spec.add_dependency 'qa', '~> 5.5', '>= 5.5.1' # questioning_authority
74
73
  spec.add_dependency 'rails_autolink', '~> 1.1'
75
74
  spec.add_dependency 'rdf-rdfxml' # controlled vocabulary importer
76
75
  spec.add_dependency 'rdf-vocab', '~> 3.0'
77
76
  spec.add_dependency 'redis', '~> 4.0'
78
77
  spec.add_dependency 'redis-namespace', '~> 1.5'
79
- spec.add_dependency 'redlock', '>= 0.1.2'
78
+ spec.add_dependency 'redlock', '>= 0.1.2', '< 2.0'
80
79
  spec.add_dependency 'reform', '~> 2.3'
81
80
  spec.add_dependency 'reform-rails', '~> 0.2.0'
82
81
  spec.add_dependency 'retriable', '>= 2.9', '< 4.0'
83
82
  spec.add_dependency 'samvera-nesting_indexer', '~> 2.0'
84
83
  spec.add_dependency 'signet'
85
84
  spec.add_dependency 'tinymce-rails', '~> 5.10'
86
- spec.add_dependency 'valkyrie', '~> 2', '>= 2.1.1'
85
+ spec.add_dependency 'valkyrie', '~> 3.0.1'
86
+ spec.add_dependency 'view_component', '~> 2.74.1' # Pin until blacklight is updated with workaround for https://github.com/ViewComponent/view_component/issues/1565
87
87
  spec.add_dependency 'sprockets', '~> 3.7'
88
88
  spec.add_dependency 'sass-rails', '~> 6.0'
89
89
  spec.add_dependency 'select2-rails', '~> 3.5'
@@ -19,7 +19,7 @@ class CatalogController < ApplicationController
19
19
 
20
20
  # Because too many times on Samvera tech people raise a problem regarding a failed query to SOLR.
21
21
  # Often, it's because they inadvertently exceeded the character limit of a GET request.
22
- config.http_method = :post
22
+ config.http_method = Hyrax.config.solr_default_method
23
23
 
24
24
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
25
25
  config.default_solr_params = {
@@ -846,6 +846,11 @@ module Hyrax
846
846
  @solr_select_path ||= ActiveFedora.solr_config.fetch(:select_path, 'select')
847
847
  end
848
848
 
849
+ attr_writer :solr_default_method
850
+ def solr_default_method
851
+ @solr_default_method ||= :post
852
+ end
853
+
849
854
  attr_writer :identifier_registrars
850
855
  def identifier_registrars
851
856
  @identifier_registrars ||= {}
data/lib/hyrax/engine.rb CHANGED
@@ -87,7 +87,6 @@ module Hyrax
87
87
  end
88
88
 
89
89
  initializer 'requires' do
90
- require 'power_converters'
91
90
  require 'wings' unless Hyrax.config.disable_wings
92
91
  end
93
92
 
@@ -1,6 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require "dry/transaction"
3
- require "dry/transaction/operation"
4
2
 
5
3
  module Hyrax
6
4
  module Transactions
@@ -9,7 +9,7 @@ module Hyrax
9
9
  # to be used as a the banner for the collection.
10
10
  #
11
11
  class SaveCollectionBanner
12
- include Dry::Transaction::Operation
12
+ include Dry::Monads[:result]
13
13
 
14
14
  ##
15
15
  # @param [Hyrax::ChangeSet] change_set
@@ -9,7 +9,7 @@ module Hyrax
9
9
  # to be used as logo(s) for the collection.
10
10
  #
11
11
  class SaveCollectionLogo
12
- include Dry::Transaction::Operation
12
+ include Dry::Monads[:result]
13
13
 
14
14
  ##
15
15
  # @param [Hyrax::ChangeSet] change_set
data/lib/hyrax/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Hyrax
3
- VERSION = '4.0.0.beta2'
3
+ VERSION = '4.0.0.rc1'
4
4
  end
@@ -62,7 +62,7 @@ module Valkyrie
62
62
  # generator now (if not, the application has bigger problems
63
63
  # than this missing configuration)
64
64
  bl_index = Blacklight.default_index.connection.uri
65
- rescue RuntimeError
65
+ rescue StandardError
66
66
  return {}
67
67
  end
68
68
 
@@ -9,7 +9,7 @@ module Wings
9
9
  # skip reserved attributes, we assume we don't need to translate valkyrie internals
10
10
  schema = resource_class.schema.reject do |key|
11
11
  resource_class.reserved_attributes.include?(key.name) ||
12
- key.name == :size
12
+ key.name == :size || key.name == :has_model
13
13
  end
14
14
 
15
15
  Wings::ActiveFedoraConverter.apply_properties(self, schema)