hyrax 2.8.0 → 2.9.5

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +8 -8
  3. data/.gitignore +1 -0
  4. data/.regen +1 -1
  5. data/README.md +1 -1
  6. data/app/assets/javascripts/hyrax.js +1 -0
  7. data/app/assets/javascripts/hyrax/autocomplete.es6 +29 -0
  8. data/app/assets/javascripts/hyrax/editor.es6 +9 -10
  9. data/app/assets/javascripts/hyrax/skip_to_content.js +15 -0
  10. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +18 -7
  11. data/app/controllers/hyrax/file_sets_controller.rb +6 -1
  12. data/app/controllers/hyrax/users_controller.rb +1 -1
  13. data/app/helpers/hyrax/hyrax_helper_behavior.rb +1 -0
  14. data/app/helpers/hyrax/work_form_helper.rb +48 -0
  15. data/app/jobs/embargo_expiry_job.rb +15 -0
  16. data/app/jobs/iiif_manifest_cache_prewarm_job.rb +16 -0
  17. data/app/jobs/lease_expiry_job.rb +15 -0
  18. data/app/models/concerns/hyrax/ability.rb +1 -1
  19. data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
  20. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  21. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +46 -0
  22. data/app/models/concerns/hyrax/solr_document_behavior.rb +10 -0
  23. data/app/presenters/hyrax/displays_image.rb +25 -21
  24. data/app/presenters/hyrax/iiif_manifest_presenter.rb +232 -0
  25. data/app/presenters/hyrax/member_presenter_factory.rb +1 -7
  26. data/app/services/hyrax/caching_iiif_manifest_builder.rb +53 -0
  27. data/app/services/hyrax/collection_types/permissions_service.rb +3 -3
  28. data/app/services/hyrax/collections/permissions_service.rb +1 -1
  29. data/app/services/hyrax/contextual_path.rb +1 -1
  30. data/app/services/hyrax/identifier/builder.rb +45 -0
  31. data/app/services/hyrax/identifier/dispatcher.rb +61 -0
  32. data/app/services/hyrax/identifier/registrar.rb +41 -0
  33. data/app/services/hyrax/manifest_builder_service.rb +88 -0
  34. data/app/services/hyrax/versioning_service.rb +9 -0
  35. data/app/views/hyrax/base/_form.html.erb +1 -1
  36. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
  37. data/app/views/hyrax/base/_form_progress.html.erb +4 -0
  38. data/app/views/hyrax/base/_form_visibility_error.html.erb +2 -0
  39. data/app/views/hyrax/base/_guts4form.html.erb +7 -1
  40. data/app/views/hyrax/base/_show_actions.html.erb +1 -1
  41. data/app/views/hyrax/batch_uploads/_form.html.erb +2 -2
  42. data/app/views/hyrax/dashboard/_sidebar.html.erb +1 -1
  43. data/config/features.rb +4 -0
  44. data/hyrax.gemspec +3 -2
  45. data/lib/generators/hyrax/templates/catalog_controller.rb +4 -0
  46. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +5 -0
  47. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
  48. data/lib/hyrax.rb +1 -0
  49. data/lib/hyrax/configuration.rb +23 -4
  50. data/lib/hyrax/engine.rb +1 -0
  51. data/lib/hyrax/specs/shared_specs.rb +1 -0
  52. data/lib/hyrax/specs/shared_specs/identifiers.rb +27 -0
  53. data/lib/hyrax/version.rb +1 -1
  54. data/template.rb +1 -1
  55. metadata +47 -8
data/lib/hyrax/engine.rb CHANGED
@@ -5,6 +5,7 @@ module Hyrax
5
5
  # These gems must be required outside of an initializer or they don't get loaded.
6
6
  require 'awesome_nested_set'
7
7
  require 'breadcrumbs_on_rails'
8
+ require 'draper'
8
9
  require 'jquery-ui-rails'
9
10
  require 'flot-rails'
10
11
  require 'almond-rails'
@@ -1,2 +1,3 @@
1
1
  require 'hyrax/specs/shared_specs/derivative_service'
2
+ require 'hyrax/specs/shared_specs/identifiers'
2
3
  require 'hyrax/specs/shared_specs/workflow_method'
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a Hyrax::Identifier::Builder' do
4
+ subject(:builder) { described_class.new }
5
+
6
+ describe '#build' do
7
+ it 'returns an identifier string' do
8
+ expect(builder.build(hint: 'moomin'))
9
+ .to respond_to :to_str
10
+ end
11
+ end
12
+ end
13
+
14
+ RSpec.shared_examples 'a Hyrax::Identifier::Registrar' do
15
+ subject(:registrar) { described_class.new(builder: builder) }
16
+ let(:builder) { instance_double(Hyrax::Identifier::Builder, build: 'moomin') }
17
+ let(:object) { instance_double(GenericWork, id: 'moomin_id') }
18
+
19
+ it { is_expected.to have_attributes(builder: builder) }
20
+
21
+ describe '#register!' do
22
+ it 'creates an identifier record' do
23
+ expect(registrar.register!(object: object).identifier)
24
+ .to respond_to :to_str
25
+ end
26
+ end
27
+ end
data/lib/hyrax/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hyrax
2
- VERSION = '2.8.0'.freeze
2
+ VERSION = '2.9.5'.freeze
3
3
  end
data/template.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # Hack for https://github.com/rails/rails/issues/35153
2
2
  gsub_file 'Gemfile', /^gem ["']sqlite3["']$/, 'gem "sqlite3", "~> 1.3.0"'
3
- gem 'hyrax', '2.6.0'
3
+ gem 'hyrax', '2.9.5'
4
4
  run 'bundle install'
5
5
  generate 'hyrax:install', '-f'
6
6
  rails_command 'db:migrate'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -11,10 +11,10 @@ authors:
11
11
  - Jeremy Friesen
12
12
  - Trey Pendragon
13
13
  - Esmé Cowles
14
- autorequire:
14
+ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-06-26 00:00:00.000000000 Z
17
+ date: 2021-05-07 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -162,6 +162,20 @@ dependencies:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
164
  version: '1.5'
165
+ - !ruby/object:Gem::Dependency
166
+ name: draper
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '4.0'
172
+ type: :runtime
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '4.0'
165
179
  - !ruby/object:Gem::Dependency
166
180
  name: dry-equalizer
167
181
  requirement: !ruby/object:Gem::Requirement
@@ -313,6 +327,9 @@ dependencies:
313
327
  - - ">="
314
328
  - !ruby/object:Gem::Version
315
329
  version: 10.6.1
330
+ - - "<"
331
+ - !ruby/object:Gem::Version
332
+ version: '12'
316
333
  type: :runtime
317
334
  prerelease: false
318
335
  version_requirements: !ruby/object:Gem::Requirement
@@ -320,6 +337,9 @@ dependencies:
320
337
  - - ">="
321
338
  - !ruby/object:Gem::Version
322
339
  version: 10.6.1
340
+ - - "<"
341
+ - !ruby/object:Gem::Version
342
+ version: '12'
323
343
  - !ruby/object:Gem::Dependency
324
344
  name: hydra-works
325
345
  requirement: !ruby/object:Gem::Requirement
@@ -566,16 +586,22 @@ dependencies:
566
586
  name: qa
567
587
  requirement: !ruby/object:Gem::Requirement
568
588
  requirements:
569
- - - "~>"
589
+ - - ">="
570
590
  - !ruby/object:Gem::Version
571
591
  version: '2.0'
592
+ - - "<"
593
+ - !ruby/object:Gem::Version
594
+ version: '6.0'
572
595
  type: :runtime
573
596
  prerelease: false
574
597
  version_requirements: !ruby/object:Gem::Requirement
575
598
  requirements:
576
- - - "~>"
599
+ - - ">="
577
600
  - !ruby/object:Gem::Version
578
601
  version: '2.0'
602
+ - - "<"
603
+ - !ruby/object:Gem::Version
604
+ version: '6.0'
579
605
  - !ruby/object:Gem::Dependency
580
606
  name: rails_autolink
581
607
  requirement: !ruby/object:Gem::Requirement
@@ -1273,6 +1299,7 @@ files:
1273
1299
  - app/assets/javascripts/hyrax/select_submit.js
1274
1300
  - app/assets/javascripts/hyrax/select_work_type.es6
1275
1301
  - app/assets/javascripts/hyrax/single_use_links_manager.js
1302
+ - app/assets/javascripts/hyrax/skip_to_content.js
1276
1303
  - app/assets/javascripts/hyrax/sort_and_per_page.es6
1277
1304
  - app/assets/javascripts/hyrax/sorting.js
1278
1305
  - app/assets/javascripts/hyrax/tabbed_form.es6
@@ -1460,6 +1487,7 @@ files:
1460
1487
  - app/helpers/hyrax/title_helper.rb
1461
1488
  - app/helpers/hyrax/trophy_helper.rb
1462
1489
  - app/helpers/hyrax/url_helper.rb
1490
+ - app/helpers/hyrax/work_form_helper.rb
1463
1491
  - app/indexers/concerns/hyrax/indexes_basic_metadata.rb
1464
1492
  - app/indexers/concerns/hyrax/indexes_linked_metadata.rb
1465
1493
  - app/indexers/hyrax/admin_set_indexer.rb
@@ -1487,6 +1515,7 @@ files:
1487
1515
  - app/jobs/content_update_event_job.rb
1488
1516
  - app/jobs/create_derivatives_job.rb
1489
1517
  - app/jobs/create_work_job.rb
1518
+ - app/jobs/embargo_expiry_job.rb
1490
1519
  - app/jobs/event_job.rb
1491
1520
  - app/jobs/file_set_attached_event_job.rb
1492
1521
  - app/jobs/fixity_check_job.rb
@@ -1497,11 +1526,13 @@ files:
1497
1526
  - app/jobs/hyrax/grant_read_to_members_job.rb
1498
1527
  - app/jobs/hyrax/revoke_edit_from_members_job.rb
1499
1528
  - app/jobs/hyrax/revoke_edit_job.rb
1529
+ - app/jobs/iiif_manifest_cache_prewarm_job.rb
1500
1530
  - app/jobs/import_export_job.rb
1501
1531
  - app/jobs/import_url_job.rb
1502
1532
  - app/jobs/ingest_job.rb
1503
1533
  - app/jobs/ingest_local_file_job.rb
1504
1534
  - app/jobs/inherit_permissions_job.rb
1535
+ - app/jobs/lease_expiry_job.rb
1505
1536
  - app/jobs/resolrize_job.rb
1506
1537
  - app/jobs/stream_notifications_job.rb
1507
1538
  - app/jobs/user_edit_profile_event_job.rb
@@ -1541,6 +1572,7 @@ files:
1541
1572
  - app/models/concerns/hyrax/solr_document/characterization.rb
1542
1573
  - app/models/concerns/hyrax/solr_document/export.rb
1543
1574
  - app/models/concerns/hyrax/solr_document/metadata.rb
1575
+ - app/models/concerns/hyrax/solr_document/ordered_members.rb
1544
1576
  - app/models/concerns/hyrax/solr_document_behavior.rb
1545
1577
  - app/models/concerns/hyrax/suppressible.rb
1546
1578
  - app/models/concerns/hyrax/user.rb
@@ -1619,6 +1651,7 @@ files:
1619
1651
  - app/presenters/hyrax/file_usage.rb
1620
1652
  - app/presenters/hyrax/fixity_status_presenter.rb
1621
1653
  - app/presenters/hyrax/homepage_presenter.rb
1654
+ - app/presenters/hyrax/iiif_manifest_presenter.rb
1622
1655
  - app/presenters/hyrax/inspect_work_presenter.rb
1623
1656
  - app/presenters/hyrax/lease_presenter.rb
1624
1657
  - app/presenters/hyrax/member_presenter_factory.rb
@@ -1705,6 +1738,7 @@ files:
1705
1738
  - app/services/hyrax/analytics.rb
1706
1739
  - app/services/hyrax/batch_create_failure_service.rb
1707
1740
  - app/services/hyrax/batch_create_success_service.rb
1741
+ - app/services/hyrax/caching_iiif_manifest_builder.rb
1708
1742
  - app/services/hyrax/change_content_depositor_service.rb
1709
1743
  - app/services/hyrax/collection_member_service.rb
1710
1744
  - app/services/hyrax/collection_size_service.rb
@@ -1733,6 +1767,9 @@ files:
1733
1767
  - app/services/hyrax/fixity_check_failure_service.rb
1734
1768
  - app/services/hyrax/form_metadata_service.rb
1735
1769
  - app/services/hyrax/graph_exporter.rb
1770
+ - app/services/hyrax/identifier/builder.rb
1771
+ - app/services/hyrax/identifier/dispatcher.rb
1772
+ - app/services/hyrax/identifier/registrar.rb
1736
1773
  - app/services/hyrax/iiif_authorization_service.rb
1737
1774
  - app/services/hyrax/import_url_failure_service.rb
1738
1775
  - app/services/hyrax/indexes_thumbnails.rb
@@ -1743,6 +1780,7 @@ files:
1743
1780
  - app/services/hyrax/local_file_service.rb
1744
1781
  - app/services/hyrax/lock_manager.rb
1745
1782
  - app/services/hyrax/lockable.rb
1783
+ - app/services/hyrax/manifest_builder_service.rb
1746
1784
  - app/services/hyrax/messenger_service.rb
1747
1785
  - app/services/hyrax/microdata.rb
1748
1786
  - app/services/hyrax/multiple_membership_checker.rb
@@ -2371,6 +2409,7 @@ files:
2371
2409
  - lib/hyrax/search_state.rb
2372
2410
  - lib/hyrax/specs/shared_specs.rb
2373
2411
  - lib/hyrax/specs/shared_specs/derivative_service.rb
2412
+ - lib/hyrax/specs/shared_specs/identifiers.rb
2374
2413
  - lib/hyrax/specs/shared_specs/workflow_method.rb
2375
2414
  - lib/hyrax/transactions.rb
2376
2415
  - lib/hyrax/transactions/container.rb
@@ -2419,7 +2458,7 @@ homepage: http://github.com/samvera/hyrax
2419
2458
  licenses:
2420
2459
  - Apache-2.0
2421
2460
  metadata: {}
2422
- post_install_message:
2461
+ post_install_message:
2423
2462
  rdoc_options: []
2424
2463
  require_paths:
2425
2464
  - lib
@@ -2434,8 +2473,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2434
2473
  - !ruby/object:Gem::Version
2435
2474
  version: '0'
2436
2475
  requirements: []
2437
- rubygems_version: 3.0.3
2438
- signing_key:
2476
+ rubygems_version: 3.1.6
2477
+ signing_key:
2439
2478
  specification_version: 4
2440
2479
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
2441
2480
  interface for common repository features. Hyrax offers the ability to create repository