diff --git a/Gemfile b/Gemfile index 44cd9543f..99a0a4009 100644 --- a/Gemfile +++ b/Gemfile @@ -10,21 +10,29 @@ end # This gem is a dependency of BE. gem 'bigdecimal', '1.3.5' +# Needed for Hyrax 3.x +gem 'dry-monads', '1.4.0' + +# Needed for solr_wrapper to run x86_darwin architecture +gem 'http', '5.1.0' +gem 'llhttp-ffi', '0.4.0' # 0.5.0 is broken for x86_darwin architecture + # For BrowseEverything to work with Hyrax 2.x then we need to pin BE gem 'browse-everything', '1.1.0' gem 'bulkrax', '~> 4.3.0' gem 'hydra-remote_identifier', github: 'uclibs/hydra-remote_identifier', branch: 'scholar-datacite' gem 'kaltura', '0.1.1' +gem "okcomputer", "~> 1.18.4" gem 'rack', '2.2.3' gem 'sidekiq-limit_fetch' gem 'willow_sword', github: 'notch8/willow_sword' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem 'rails', '~> 5.2.4.6' +gem 'rails', '~> 5.2.8.1' # Use sqlite3 as the database for Active Record -gem 'sqlite3', '1.3.13' +# gem 'sqlite3' # Use Puma as the app server -gem 'puma', '~> 4.3.8' +gem 'puma', '~> 5.6' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets @@ -34,6 +42,13 @@ gem 'coffee-rails', '~> 4.2' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby +# https://github.com/samvera/hyrax/pull/5612 +# "Version 6 of tinymce-rails causes uglifier to error during assets:precompile" +# This seems to be a hyrax 3.4.1 problem, the next release will have this pin +# in hyrax itself so can be removed +# gem 'tinymce-rails', '~> 5.10' +# gem 'uglifier', '~> 4.2' + # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks @@ -52,10 +67,10 @@ gem 'jbuilder', '~> 2.5' gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'active_attr' -gem 'active-fedora', '~>12.2.4' +gem 'active-fedora' gem 'bootstrap-sass', '~> 3.4.1' gem 'brakeman' -gem 'bundler', '~> 1.17' +gem 'bundler' gem 'bundler-audit' gem 'change_manager', git: "https://github.com/uclibs/change_manager.git", ref: 'd8e1b552740df00922a0a40796999c4e2a0cb8b6' gem 'devise', '~> 4.6.0' @@ -66,7 +81,7 @@ gem 'equivalent-xml' gem 'grape' gem 'grape_on_rails_routes' gem 'hydra-role-management' -gem 'hyrax', '2.9.6' +gem 'hyrax', '3.6.0' gem 'mysql2', '~> 0.4.10' gem 'omniauth-openid' gem 'omniauth-shibboleth' diff --git a/Gemfile.lock b/Gemfile.lock index 9d8300ec7..35aebad1c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -55,109 +55,107 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (5.2.4.6) - actionpack (= 5.2.4.6) + actioncable (5.2.8.1) + actionpack (= 5.2.8.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.4.6) - actionpack (= 5.2.4.6) - actionview (= 5.2.4.6) - activejob (= 5.2.4.6) + actionmailer (5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.4.6) - actionview (= 5.2.4.6) - activesupport (= 5.2.4.6) + actionpack (5.2.8.1) + actionview (= 5.2.8.1) + activesupport (= 5.2.8.1) rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.4.6) - activesupport (= 5.2.4.6) + actionview (5.2.8.1) + activesupport (= 5.2.8.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.3) - active-fedora (12.2.4) + active-fedora (13.3.0) active-triples (>= 0.11.0, < 2.0.0) - activemodel (>= 4.2.10, < 5.3) - activesupport (>= 4.2.4, < 5.3) + activemodel (>= 5.1) + activesupport (>= 5.1) deprecation faraday (~> 0.12) - faraday-encoding (= 0.0.4) + faraday-encoding (>= 0.0.5) ldp (>= 0.7.0, < 2) - rdf-vocab (< 3.1.5) rsolr (>= 1.1.2, < 3) ruby-progressbar (~> 1.0) - active-triples (1.1.1) + active-triples (1.2.0) activemodel (>= 3.0.0) activesupport (>= 3.0.0) rdf (>= 2.0.2, < 4.0) rdf-vocab (>= 2.0, < 4.0) - active_attr (0.15.4) - actionpack (>= 3.0.2, < 7.1) - activemodel (>= 3.0.2, < 7.1) - activesupport (>= 3.0.2, < 7.1) + active_attr (0.16.0) + actionpack (>= 3.0.2, < 7.2) + activemodel (>= 3.0.2, < 7.2) + activesupport (>= 3.0.2, < 7.2) active_encode (0.8.2) rails sprockets (< 4) - activejob (5.2.4.6) - activesupport (= 5.2.4.6) + activejob (5.2.8.1) + activesupport (= 5.2.8.1) globalid (>= 0.3.6) - activemodel (5.2.4.6) - activesupport (= 5.2.4.6) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (5.2.8.1) + activesupport (= 5.2.8.1) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (5.2.4.6) - activemodel (= 5.2.4.6) - activesupport (= 5.2.4.6) + activerecord (5.2.8.1) + activemodel (= 5.2.8.1) + activesupport (= 5.2.8.1) arel (>= 9.0) - activerecord-import (1.4.0) + activerecord-import (1.8.1) activerecord (>= 4.2) - activestorage (5.2.4.6) - actionpack (= 5.2.4.6) - activerecord (= 5.2.4.6) - marcel (~> 0.3.1) - activesupport (5.2.4.6) + activestorage (5.2.8.1) + actionpack (= 5.2.8.1) + activerecord (= 5.2.8.1) + marcel (~> 1.0.0) + activesupport (5.2.8.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) - airbrussh (1.4.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + airbrussh (1.5.3) sshkit (>= 1.6.1, != 1.7.0) almond-rails (0.3.0) rails (>= 4.2) - amazing_print (1.4.0) arel (9.0.0) ast (2.4.2) - autoprefixer-rails (10.4.7.0) + autoprefixer-rails (10.4.19.0) execjs (~> 2) - awesome_nested_set (3.5.0) - activerecord (>= 4.0.0, < 7.1) - aws-eventstream (1.2.0) - aws-partitions (1.626.0) - aws-sdk-core (3.142.0) - aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.525.0) - aws-sigv4 (~> 1.1) + awesome_nested_set (3.7.0) + activerecord (>= 4.0.0, < 8.0) + aws-eventstream (1.3.0) + aws-partitions (1.978.0) + aws-sdk-core (3.209.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.58.0) - aws-sdk-core (~> 3, >= 3.127.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.114.0) - aws-sdk-core (~> 3, >= 3.127.0) + aws-sdk-kms (1.94.0) + aws-sdk-core (~> 3, >= 3.207.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.166.0) + aws-sdk-core (~> 3, >= 3.207.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.4) + aws-sigv4 (~> 1.5) aws-sdk-xray (1.4.0) aws-sdk-core (~> 3) aws-sigv4 (~> 1.0) - aws-sigv4 (1.5.1) + aws-sigv4 (1.10.0) aws-eventstream (~> 1, >= 1.0.2) - aws-xray-sdk (0.13.0) + aws-xray-sdk (0.16.0) aws-sdk-xray (~> 1.4.0) multi_json (~> 1) axiom-types (0.1.1) @@ -168,12 +166,14 @@ GEM babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) - bagit (0.4.4) + bagit (0.4.6) docopt (~> 0.5.0) validatable (~> 1.6) + base64 (0.2.0) bcp47 (0.3.3) i18n - bcrypt (3.1.18) + bcrypt (3.1.20) + bcrypt (3.1.20-java) bigdecimal (1.3.5) bindex (0.8.1) bixby (5.0.2) @@ -207,7 +207,7 @@ GEM bootstrap_form (5.1.0) actionpack (>= 5.2) activemodel (>= 5.2) - brakeman (5.3.1) + brakeman (5.4.1) breadcrumbs_on_rails (3.0.1) browse-everything (1.1.0) addressable (~> 2.5) @@ -221,8 +221,8 @@ GEM signet (~> 0.8) sprockets (~> 3.7) typhoeus - builder (3.2.4) - bulkrax (4.3.0) + builder (3.3.0) + bulkrax (4.3.1) bagit (~> 0.4) coderay iso8601 (~> 0.9.0) @@ -236,19 +236,19 @@ GEM rdf (>= 2.0.2, < 4.0) rubyzip simple_form - bundler-audit (0.9.1) + bundler-audit (0.9.2) bundler (>= 1.2.0, < 3) thor (~> 1.0) byebug (11.1.3) cancancan (1.17.0) - capistrano (3.17.1) + capistrano (3.19.1) airbrussh (>= 1.0.0) i18n rake (>= 10.0.0) sshkit (>= 1.9.0) capistrano-bundler (1.6.0) capistrano (~> 3.1) - capistrano-rails (1.6.2) + capistrano-rails (1.6.3) capistrano (~> 3.1) capistrano-bundler (>= 1.1, < 3) capistrano-rvm (0.1.2) @@ -264,14 +264,14 @@ GEM capybara-maleficent (0.3.0) activesupport (>= 4.2.0) capybara (>= 2.13, < 4.0) - carrierwave (1.3.2) + carrierwave (1.3.4) activemodel (>= 4.0.0) activesupport (>= 4.0.0) mime-types (>= 1.16) - ssrf_filter (~> 1.0) + ssrf_filter (~> 1.0, < 1.1.0) childprocess (0.9.0) ffi (~> 1.0, >= 1.0.11) - clamby (1.6.8) + clamby (1.6.11) clipboard-rails (1.7.1) coderay (1.1.3) coercible (1.0.0) @@ -283,23 +283,30 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.1.10) - connection_pool (2.2.5) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) coveralls_reborn (0.28.0) simplecov (~> 0.22.0) term-ansicolor (~> 1.7) thor (~> 1.2) tins (~> 1.32) - crack (0.4.5) + crack (1.0.0) + bigdecimal rexml crass (1.0.6) - database_cleaner (2.0.1) - database_cleaner-active_record (~> 2.0.0) - database_cleaner-active_record (2.0.1) + csv (3.3.0) + database_cleaner (2.0.2) + database_cleaner-active_record (>= 2, < 3) + database_cleaner-active_record (2.2.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) + date (3.3.4) + date (3.3.4-java) declarative (0.0.20) + declarative-builder (0.1.0) + declarative-option (< 0.2.0) + declarative-option (0.1.0) deprecation (1.1.0) activesupport descendants_tracker (0.0.4) @@ -310,13 +317,18 @@ GEM railties (>= 4.1.0, < 6.0) responders warden (~> 1.2.3) - devise-guests (0.8.1) + devise-guests (0.8.3) devise - diff-lcs (1.5.0) - docile (1.4.0) + diff-lcs (1.5.1) + disposable (0.4.7) + declarative (>= 0.0.9, < 1.0.0) + declarative-builder (< 0.2.0) + declarative-option (< 0.2.0) + representable (>= 2.4.0, <= 3.1.0) + uber (< 0.2.0) + docile (1.4.1) docopt (0.5.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) dotenv (2.8.1) dotenv-rails (2.8.1) dotenv (= 2.8.1) @@ -331,90 +343,99 @@ GEM dropbox_api (0.1.21) faraday (< 3.0) oauth2 (~> 1.1) - dry-configurable (0.15.0) - concurrent-ruby (~> 1.0) + dry-configurable (0.16.1) dry-core (~> 0.6) - dry-container (0.10.1) + zeitwerk (~> 2.6) + dry-container (0.11.0) concurrent-ruby (~> 1.0) - dry-core (0.8.1) + dry-core (0.9.1) concurrent-ruby (~> 1.0) + zeitwerk (~> 2.6) dry-equalizer (0.3.0) - dry-events (0.3.0) + dry-events (0.2.0) concurrent-ruby (~> 1.0) - dry-core (~> 0.5, >= 0.5) + dry-core (~> 0.4) + dry-equalizer (~> 0.2) dry-inflector (0.3.0) dry-initializer (3.1.1) - dry-logic (1.2.0) + dry-logic (1.3.0) concurrent-ruby (~> 1.0) - dry-core (~> 0.5, >= 0.5) + dry-core (~> 0.9, >= 0.9) + zeitwerk (~> 2.6) dry-matcher (0.9.0) dry-core (~> 0.4, >= 0.4.8) dry-monads (1.4.0) concurrent-ruby (~> 1.0) dry-core (~> 0.7) - dry-schema (1.10.2) + dry-schema (1.11.3) concurrent-ruby (~> 1.0) - dry-configurable (~> 0.13, >= 0.13.0) - dry-core (~> 0.5, >= 0.5) + dry-configurable (~> 0.16, >= 0.16) + dry-core (~> 0.9, >= 0.9) dry-initializer (~> 3.0) - dry-logic (~> 1.0) - dry-types (~> 1.5) - dry-struct (1.4.0) - dry-core (~> 0.5, >= 0.5) - dry-types (~> 1.5) + dry-logic (~> 1.3) + dry-types (~> 1.6) + zeitwerk (~> 2.6) + dry-struct (1.5.2) + dry-core (~> 0.9, >= 0.9) + dry-types (~> 1.6) ice_nine (~> 0.11) + zeitwerk (~> 2.6) dry-transaction (0.13.3) dry-container (>= 0.2.8) dry-events (>= 0.1.0) dry-matcher (>= 0.7.0) dry-monads (>= 0.4.0) - dry-types (1.5.1) + dry-types (1.6.1) concurrent-ruby (~> 1.0) dry-container (~> 0.3) - dry-core (~> 0.5, >= 0.5) + dry-core (~> 0.9, >= 0.9) dry-inflector (~> 0.1, >= 0.1.2) - dry-logic (~> 1.0, >= 1.0.2) - dry-validation (1.8.1) + dry-logic (~> 1.3, >= 1.3) + zeitwerk (~> 2.6) + dry-validation (1.9.0) concurrent-ruby (~> 1.0) dry-container (~> 0.7, >= 0.7.1) - dry-core (~> 0.5, >= 0.5) + dry-core (~> 0.9, >= 0.9) dry-initializer (~> 3.0) - dry-schema (~> 1.8, >= 1.8.0) - ebnf (2.3.1) - amazing_print (~> 1.4) + dry-schema (~> 1.11, >= 1.11.0) + zeitwerk (~> 2.6) + ebnf (2.3.5) htmlentities (~> 4.3) rdf (~> 3.2) scanf (~> 1.0) sxp (~> 1.2) - unicode-types (~> 1.7) - email_validator (2.2.3) + unicode-types (~> 1.8) + email_validator (2.2.4) activemodel equivalent-xml (0.6.0) nokogiri (>= 1.4.3) - erubi (1.11.0) - ethon (0.15.0) + erubi (1.13.0) + ethon (0.16.0) ffi (>= 1.15.0) - execjs (2.8.1) + execjs (2.9.1) factory_bot (4.11.1) activesupport (>= 3.0.0) factory_bot_rails (4.11.1) factory_bot (~> 4.11.1) railties (>= 3.0.0) - faraday (0.17.5) + faraday (0.17.6) multipart-post (>= 1.2, < 3) - faraday-encoding (0.0.4) + faraday-encoding (0.0.6) faraday faraday_middleware (0.14.0) faraday (>= 0.7.4, < 1.0) fcrepo_wrapper (0.9.0) ruby-progressbar - ffi (1.15.5) - ffi-compiler (1.0.1) - ffi (>= 1.0.0) + ffi (1.17.0) + ffi (1.17.0-java) + ffi (1.17.0-x64-mingw32) + ffi (1.17.0-x86-mingw32) + ffi-compiler (1.3.2) + ffi (>= 1.15.5) rake figaro (1.2.0) thor (>= 0.14.0, < 2) - flipflop (2.7.0) + flipflop (2.7.1) activesupport (>= 4.0) terminal-table (>= 1.8) flot-rails (0.0.7) @@ -422,13 +443,15 @@ GEM font-awesome-rails (4.7.0.8) railties (>= 3.2, < 8.0) gems (1.2.0) - geocoder (1.8.0) - globalid (1.0.0) + geocoder (1.8.3) + base64 (>= 0.1.0) + csv (>= 3.0.0) + globalid (1.1.0) activesupport (>= 5.0) google-api-client (0.53.0) google-apis-core (~> 0.1) google-apis-generator (~> 0.1) - google-apis-core (0.7.0) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -436,19 +459,18 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick - google-apis-discovery_v1 (0.11.0) - google-apis-core (>= 0.7, < 2.a) - google-apis-drive_v3 (0.27.0) - google-apis-core (>= 0.7, < 2.a) - google-apis-generator (0.9.0) + google-apis-discovery_v1 (0.14.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-drive_v3 (0.46.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-generator (0.12.0) activesupport (>= 5.0) gems (~> 1.2) - google-apis-core (>= 0.7, < 2.a) + google-apis-core (>= 0.11.0, < 2.a) google-apis-discovery_v1 (~> 0.5) thor (>= 0.20, < 2.a) - google-apis-sheets_v4 (0.17.0) - google-apis-core (>= 0.7, < 2.a) + google-apis-sheets_v4 (0.26.0) + google-apis-core (>= 0.11.0, < 2.a) google_drive (3.0.7) google-apis-drive_v3 (>= 0.5.0, < 1.0.0) google-apis-sheets_v4 (>= 0.4.0, < 1.0.0) @@ -461,8 +483,8 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (~> 0.15) - grape (1.6.2) - activesupport + grape (2.0.0) + activesupport (>= 5) builder dry-types (>= 1.1) mustermann-grape (~> 1.0.0) @@ -470,24 +492,27 @@ GEM rack-accept grape_on_rails_routes (0.3.2) rails (>= 3.1.1) - haml (5.2.2) - temple (>= 0.8.0) + haml (6.3.0) + temple (>= 0.8.2) + thor tilt - hashdiff (1.0.1) + hashdiff (1.1.1) hashie (5.0.0) hiredis (0.6.3) + hiredis (0.6.3-java) htmlentities (4.3.4) http (5.1.0) addressable (~> 2.8) http-cookie (~> 1.0) http-form_data (~> 2.2) llhttp-ffi (~> 0.4.0) - http-cookie (1.0.5) + http-cookie (1.0.7) domain_name (~> 0.5) http-form_data (2.3.0) http_logger (0.7.0) - httparty (0.20.0) - mime-types (~> 3.0) + httparty (0.22.0) + csv + mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) httpclient (2.8.3) hydra-access-controls (11.0.7) @@ -523,49 +548,55 @@ GEM hydra-access-controls (= 11.0.7) hydra-core (= 11.0.7) rails (>= 5.2, < 6.1) - hydra-pcdm (1.1.0) - active-fedora (>= 10, < 14) + hydra-pcdm (1.3.0) + active-fedora (>= 10, < 15) mime-types (>= 1) - hydra-role-management (1.0.3) + rdf-vocab + hydra-role-management (1.1.0) blacklight bootstrap_form bundler (>= 1.5) cancancan json (>= 1.8) - hydra-works (1.2.0) - activesupport (>= 4.2.10, < 6.0) - hydra-derivatives (~> 3.0) + psych (~> 3.0) + hydra-works (2.1.0) + activesupport (>= 5.2, < 7.1) + hydra-derivatives (~> 3.6) hydra-file_characterization (~> 1.0) hydra-pcdm (>= 0.9) - hyrax (2.9.6) - active-fedora (>= 11.5.2, < 13) + hyrax (3.6.0) + active-fedora (~> 13.1, >= 13.1.2) almond-rails (~> 0.1) awesome_nested_set (~> 3.1) blacklight (~> 6.14) blacklight-gallery (~> 0.7) breadcrumbs_on_rails (~> 3.0) - browse-everything (>= 0.16) + browse-everything (>= 0.16, < 2.0) carrierwave (~> 1.0) clipboard-rails (~> 1.5) draper (~> 4.0) dry-equalizer (~> 0.2) - dry-struct (>= 0.1, < 2.0) + dry-events (~> 0.2.0) + dry-monads (< 1.5) + dry-struct (~> 1.0) dry-transaction (~> 0.11) - dry-validation (>= 0.9, < 2.0) + dry-validation (~> 1.3) flipflop (~> 2.3) flot-rails (~> 0.0.6) font-awesome-rails (~> 4.2) hydra-derivatives (~> 3.3) - hydra-editor (>= 3.3, < 6.0) - hydra-head (>= 10.6.1, < 12) - hydra-works (>= 0.16, < 2.0) - iiif_manifest (>= 0.3, < 0.6) + hydra-editor (~> 5.0, >= 5.0.4) + hydra-file_characterization (~> 1.1.2) + hydra-head (~> 11.0, >= 11.0.1) + hydra-works (>= 0.16) + iiif_manifest (>= 0.3, < 2.0) jquery-datatables-rails (~> 3.4) jquery-ui-rails (~> 6.0) + json-ld (< 3.2) json-schema kaminari_route_prefix (~> 0.1.1) legato (~> 0.3) - linkeddata (~> 3.1) + linkeddata mailboxer (~> 0.12) nest (~> 3.1) noid-rails (~> 3.0.0) @@ -573,59 +604,65 @@ GEM oauth2 (~> 1.2) posix-spawn power_converter (~> 0.1, >= 0.1.2) - pul_uv_rails (~> 2.0) - qa (>= 2.0, < 6.0) + psych (~> 3.3) + qa (~> 5.5, >= 5.5.1) rails (~> 5.0) rails_autolink (~> 1.1) rdf-rdfxml - rdf-vocab (< 3.1.5) + rdf-vocab (~> 3.0) + redis (~> 4.0) redis-namespace (~> 1.5) - redlock (>= 0.1.2) + redlock (>= 0.1.2, < 2.0) + reform (~> 2.3) + reform-rails (~> 0.2.0) retriable (>= 2.9, < 4.0) samvera-nesting_indexer (~> 2.0) sass-rails (~> 5.0) select2-rails (~> 3.5) signet - solrizer (>= 3.4, < 5) - tinymce-rails (~> 4.1) - i18n (1.12.0) + tinymce-rails (~> 5.10) + valkyrie (~> 2, >= 2.1.1) + i18n (1.14.6) concurrent-ruby (~> 1.0) ice_nine (0.11.2) iiif-image-api (0.2.0) activesupport - iiif_manifest (0.5.0) + iiif_manifest (1.6.0) activesupport (>= 4) iso8601 (0.9.1) - jbuilder (2.11.5) + jar-dependencies (0.4.1) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - jmespath (1.6.1) + jmespath (1.6.2) jquery-datatables-rails (3.4.0) actionpack (>= 3.1) jquery-rails railties (>= 3.1) sass-rails - jquery-rails (4.5.0) + jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.6.2) - json-canonicalization (0.3.0) - json-ld (3.2.3) + json (2.7.2) + json (2.7.2-java) + json-canonicalization (0.4.0) + json-ld (3.1.10) htmlentities (~> 4.3) - json-canonicalization (~> 0.3) + json-canonicalization (~> 0.2) link_header (~> 0.0, >= 0.0.8) - multi_json (~> 1.15) - rack (~> 2.2) - rdf (~> 3.2, >= 3.2.9) - json-ld-preloaded (3.2.0) - json-ld (~> 3.2) - rdf (~> 3.2) - json-schema (3.0.0) - addressable (>= 2.8) - jwt (2.5.0) + multi_json (~> 1.14) + rack (~> 2.0) + rdf (~> 3.1) + json-ld-preloaded (3.1.6) + json-ld (~> 3.1) + rdf (~> 3.1) + json-schema (5.0.0) + addressable (~> 2.8) + jwt (2.9.1) + base64 kaltura (0.1.1) hashie (>= 1.0.0) httparty (>= 0.7.8) @@ -644,8 +681,8 @@ GEM kaminari_route_prefix (0.1.1) kaminari (~> 1.0) language_list (1.2.1) - ld-patch (3.2.0) - ebnf (~> 2.2) + ld-patch (3.2.2) + ebnf (~> 2.3) rdf (~> 3.2) rdf-xsd (~> 3.2) sparql (~> 3.2) @@ -668,92 +705,112 @@ GEM legato (0.7.0) multi_json libxml-ruby (3.1.0) + libxml-ruby (3.1.0-x64-mingw32) link_header (0.0.8) - linkeddata (3.1.1) + linkeddata (3.1.6) equivalent-xml (~> 0.6) - json-ld (~> 3.1, >= 3.1.1) - json-ld-preloaded (~> 3.1, >= 3.1.1) - ld-patch (~> 3.1) - nokogiri (~> 1.10) - nokogumbo (~> 2.0) - rdf (~> 3.1, >= 3.1.1) + json-ld (~> 3.1, >= 3.1.10) + json-ld-preloaded (~> 3.1, >= 3.1.6) + ld-patch (~> 3.1, >= 3.1.3) + nokogiri (~> 1.12) + rdf (~> 3.1, >= 3.1.15) rdf-aggregate-repo (~> 3.1) - rdf-isomorphic (~> 3.1) + rdf-isomorphic (~> 3.1, >= 3.1.1) rdf-json (~> 3.1) - rdf-microdata (~> 3.1) - rdf-n3 (~> 3.1) + rdf-microdata (~> 3.1, >= 3.1.4) + rdf-n3 (~> 3.1, >= 3.1.2) rdf-normalize (~> 0.4) - rdf-rdfa (~> 3.1) - rdf-rdfxml (~> 3.1) - rdf-reasoner (~> 0.6) - rdf-tabular (~> 3.1) - rdf-trig (~> 3.1) - rdf-trix (~> 3.1) - rdf-turtle (~> 3.1) - rdf-vocab (~> 3.1, >= 3.1.2) - rdf-xsd (~> 3.1) - shex (~> 0.6) - sparql (~> 3.1) - sparql-client (~> 3.1) + rdf-ordered-repo (~> 3.1, >= 3.1.1) + rdf-rdfa (~> 3.1, >= 3.1.3) + rdf-rdfxml (~> 3.1, >= 3.1.1) + rdf-reasoner (~> 0.7, >= 0.7.2) + rdf-tabular (~> 3.1, >= 3.1.1) + rdf-trig (~> 3.1, >= 3.1.2) + rdf-trix (~> 3.1, >= 3.1.1) + rdf-turtle (~> 3.1, >= 3.1.3) + rdf-vocab (~> 3.1, >= 3.1.14) + rdf-xsd (~> 3.1, >= 3.1.1) + shacl (~> 0.1, >= 0.1.1) + shex (~> 0.6, >= 0.6.4) + sparql (~> 3.1, >= 3.1.8) + sparql-client (~> 3.1, >= 3.1.2) listen (3.0.8) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) llhttp-ffi (0.4.0) ffi-compiler (~> 1.0) rake (~> 13.0) - logger (1.5.1) - loofah (2.18.0) + logger (1.6.1) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp mailboxer (0.15.1) carrierwave (>= 0.5.8) rails (>= 5.0.0) mappy (0.1.0) activesupport - marcel (0.3.3) - mimemagic (~> 0.3.2) + marcel (1.0.4) matrix (0.4.2) memoist (0.16.2) - method_source (1.0.0) - mime-types (3.4.1) + method_source (1.1.0) + mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2022.0105) - mimemagic (0.3.10) - nokogiri (~> 1) - rake - mini_magick (4.11.0) - mini_mime (1.1.2) - mini_portile2 (2.8.0) - minitar (0.9) - minitest (5.16.3) + mime-types-data (3.2024.0903) + mini_magick (4.13.2) + mini_mime (1.1.5) + mini_portile2 (2.8.7) + minitar (0.12.1) + minitest (5.25.1) multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.2.3) - mustermann (3.0.0) + multipart-post (2.4.1) + mustermann (3.0.3) ruby2_keywords (~> 0.0.1) mustermann-grape (1.0.2) mustermann (>= 1.0.0) mysql2 (0.4.10) + mysql2 (0.4.10-x64-mingw32) + mysql2 (0.4.10-x86-mingw32) + mysql2 (0.4.10-x86-mswin32-60) nest (3.2.0) redic - net-http-persistent (4.0.1) + net-http-persistent (4.0.4) connection_pool (~> 2.2) - net-scp (1.2.1) - net-ssh (>= 2.6.5) - net-ssh (7.0.1) + net-imap (0.4.16) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-scp (4.0.0) + net-ssh (>= 2.6.5, < 8.0.0) + net-sftp (4.0.0) + net-ssh (>= 5.0.0, < 8.0.0) + net-smtp (0.5.0) + net-protocol + net-ssh (7.2.3) netrc (0.11.0) - nio4r (2.5.8) + nio4r (2.7.3) + nio4r (2.7.3-java) noid (0.9.0) noid-rails (3.0.3) actionpack (>= 5.0.0, < 7) noid (~> 0.9) - nokogiri (1.13.8) - mini_portile2 (~> 2.8.0) + nokogiri (1.15.6) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.15.6-java) + racc (~> 1.4) + nokogiri (1.15.6-x64-mingw32) + racc (~> 1.4) + nokogiri (1.15.6-x86-mingw32) racc (~> 1.4) - nokogumbo (2.0.5) - nokogiri (~> 1.8, >= 1.8.4) oai (1.1.0) builder (>= 3.1.0) faraday @@ -764,12 +821,13 @@ GEM version_gem (~> 1.1) oauth-tty (1.0.5) version_gem (~> 1.1, >= 1.1.1) - oauth2 (1.4.10) + oauth2 (1.4.11) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) multi_json (~> 1.3) multi_xml (~> 0.5) - rack (>= 1.2, < 3) + rack (>= 1.2, < 4) + okcomputer (1.18.5) omniauth (1.9.2) hashie (>= 3.4.6) rack (>= 1.6.2, < 3) @@ -788,72 +846,83 @@ GEM rails (> 3.2.0) orm_adapter (0.5.0) os (1.1.4) - parallel (1.22.1) - parser (3.1.2.1) + ostruct (0.6.0) + parallel (1.26.3) + parser (3.3.5.0) ast (~> 2.4.1) + racc parslet (2.0.0) posix-spawn (0.3.15) power_converter (0.1.2) - public_suffix (5.0.0) - pul_uv_rails (2.0.1) - puma (4.3.12) + psych (3.3.4) + psych (3.3.4-java) + jar-dependencies (>= 0.1.7) + public_suffix (5.1.1) + puma (5.6.9) nio4r (~> 2.0) - qa (5.9.0) + puma (5.6.9-java) + nio4r (~> 2.0) + qa (5.13.0) activerecord-import deprecation faraday (< 3.0, != 2.0.0) geocoder ldpath nokogiri (~> 1.6) - rails (>= 5.0, < 6.2) + rails (>= 5.0, < 8.0) rdf - racc (1.6.0) + racc (1.8.1) + racc (1.8.1-java) rack (2.2.3) rack-accept (0.4.5) rack (>= 0.4) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (2.2.2) + rack-protection (3.0.6) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) - rails (5.2.4.6) - actioncable (= 5.2.4.6) - actionmailer (= 5.2.4.6) - actionpack (= 5.2.4.6) - actionview (= 5.2.4.6) - activejob (= 5.2.4.6) - activemodel (= 5.2.4.6) - activerecord (= 5.2.4.6) - activestorage (= 5.2.4.6) - activesupport (= 5.2.4.6) + rails (5.2.8.1) + actioncable (= 5.2.8.1) + actionmailer (= 5.2.8.1) + actionpack (= 5.2.8.1) + actionview (= 5.2.8.1) + activejob (= 5.2.8.1) + activemodel (= 5.2.8.1) + activerecord (= 5.2.8.1) + activestorage (= 5.2.8.1) + activesupport (= 5.2.8.1) bundler (>= 1.3.0) - railties (= 5.2.4.6) + railties (= 5.2.8.1) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) - rails_autolink (1.1.6) - rails (> 3.1) - railties (5.2.4.6) - actionpack (= 5.2.4.6) - activesupport (= 5.2.4.6) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + rails_autolink (1.1.8) + actionview (> 3.1) + activesupport (> 3.1) + railties (> 3.1) + railties (5.2.8.1) + actionpack (= 5.2.8.1) + activesupport (= 5.2.8.1) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) rainbow (3.1.1) - rake (13.0.6) + rake (13.2.1) rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) - rdf (3.2.9) + rdf (3.2.12) link_header (~> 0.0, >= 0.0.8) rdf-aggregate-repo (3.2.1) rdf (~> 3.2) @@ -861,29 +930,33 @@ GEM rdf (~> 3.2) rdf-json (3.2.0) rdf (~> 3.2) - rdf-microdata (3.1.1) + rdf-microdata (3.2.1) htmlentities (~> 4.3) - nokogiri (~> 1.10) - rdf (~> 3.1) - rdf-xsd (~> 3.1) + nokogiri (~> 1.13) + rdf (~> 3.2) + rdf-rdfa (~> 3.2) + rdf-xsd (~> 3.2) rdf-n3 (3.2.1) ebnf (~> 2.2) rdf (~> 3.2) sparql (~> 3.2) sxp (~> 1.2) - rdf-normalize (0.5.0) + rdf-normalize (0.6.1) rdf (~> 3.2) - rdf-rdfa (3.1.0) - haml (~> 5.1) + rdf-ordered-repo (3.2.1) + rdf (~> 3.2, >= 3.2.1) + rdf-rdfa (3.2.3) + haml (>= 5.2, < 7) htmlentities (~> 4.3) - rdf (~> 3.1) - rdf-aggregate-repo (~> 3.1) - rdf-xsd (~> 3.1) - rdf-rdfxml (3.1.1) + rdf (~> 3.2) + rdf-aggregate-repo (~> 3.2) + rdf-vocab (~> 3.2) + rdf-xsd (~> 3.2) + rdf-rdfxml (3.2.2) + builder (~> 3.2) htmlentities (~> 4.3) - rdf (~> 3.1) - rdf-rdfa (~> 3.1) - rdf-xsd (~> 3.1) + rdf (~> 3.2) + rdf-xsd (~> 3.2) rdf-reasoner (0.8.0) rdf (~> 3.2) rdf-xsd (~> 3.2) @@ -904,56 +977,78 @@ GEM rdf-turtle (3.2.1) ebnf (~> 2.3) rdf (~> 3.2) - rdf-vocab (3.1.4) - rdf (~> 3.1) + rdf-vocab (3.2.7) + rdf (~> 3.2, >= 3.2.4) rdf-xsd (3.2.1) rdf (~> 3.2) rexml (~> 3.2) redic (1.5.3) hiredis redis (4.5.1) - redis-namespace (1.9.0) + redis-namespace (1.11.0) redis (>= 4) - redlock (1.3.0) + redlock (1.3.2) redis (>= 3.0.0, < 6.0) - regexp_parser (2.5.0) - representable (3.2.0) + reform (2.5.0) + disposable (>= 0.4.2, < 0.5.0) + representable (>= 2.4.0, < 3.1.0) + uber (< 0.2.0) + reform-rails (0.2.6) + activemodel (>= 5.0) + reform (>= 2.3.1, < 3.0.0) + regexp_parser (2.9.2) + representable (3.0.4) declarative (< 0.1.0) - trailblazer-option (>= 0.1.1, < 0.2.0) + declarative-option (< 0.2.0) uber (< 0.2.0) - request_store (1.5.1) + request_store (1.7.0) rack (>= 1.4) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.1) + actionpack (>= 5.2) + railties (>= 5.2) rest-client (2.0.2) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) + rest-client (2.0.2-x64-mingw32) + ffi (~> 1.9) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) + rest-client (2.0.2-x86-mingw32) + ffi (~> 1.9) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) + rest-client (2.0.2-x86-mswin32) + ffi (~> 1.9) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) retriable (3.1.2) - rexml (3.2.5) - riiif (2.4.0) + rexml (3.3.7) + riiif (2.6.0) deprecation (>= 1.0.0) iiif-image-api (>= 0.1.0) railties (>= 4.2, < 8) - rsolr (2.5.0) + rsolr (2.6.0) builder (>= 2.1.2) faraday (>= 0.9, < 3, != 2.0.0) - rspec-activemodel-mocks (1.1.0) + rspec-activemodel-mocks (1.2.0) activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + rspec-core (3.13.1) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) + rspec-support (~> 3.13.0) rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.11.1) + rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) + rspec-support (~> 3.13.0) rspec-rails (5.1.2) actionpack (>= 5.2) activesupport (>= 5.2) @@ -964,8 +1059,8 @@ GEM rspec-support (~> 3.10) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.11.0) - rspec_junit_formatter (0.5.1) + rspec-support (3.13.1) + rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) rubocop (1.28.2) parallel (~> 1.10) @@ -976,9 +1071,9 @@ GEM rubocop-ast (>= 1.17.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.21.0) - parser (>= 3.1.1.0) - rubocop-performance (1.14.3) + rubocop-ast (1.32.3) + parser (>= 3.3.1.0) + rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) rubocop-rails (2.15.2) @@ -993,7 +1088,7 @@ GEM multipart-post oauth2 ruby-openid (2.9.2) - ruby-progressbar (1.11.0) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) rubyzip (1.3.0) samvera-nesting_indexer (2.0.0) @@ -1011,6 +1106,8 @@ GEM tilt (>= 1.1, < 3) sassc (2.4.0) ffi (~> 1.9) + sassc (2.4.0-x64-mingw32) + ffi (~> 1.9) sassc-rails (2.1.2) railties (>= 4.0.0) sassc (>= 2.0) @@ -1022,15 +1119,20 @@ GEM selenium-webdriver (3.12.0) childprocess (~> 0.5) rubyzip (~> 1.2) - shex (0.7.1) - ebnf (~> 2.2) + shacl (0.1.1) + json-ld (~> 3.1, >= 3.1.7) + rdf (~> 3.1, >= 3.1.8) + sparql (~> 3.1) + sxp (~> 1.1) + shex (0.6.4) + ebnf (~> 2.1, >= 2.2) htmlentities (~> 4.3) - json-ld (~> 3.2) - json-ld-preloaded (~> 3.2) - rdf (~> 3.2) - rdf-xsd (~> 3.2) - sparql (~> 3.2) - sxp (~> 1.2) + json-ld (~> 3.1) + json-ld-preloaded (~> 3.1) + rdf (~> 3.1) + rdf-xsd (~> 3.1) + sparql (~> 3.1) + sxp (~> 1.1) shoulda-matchers (3.1.3) activesupport (>= 4.0.0) show_me_the_cookies (6.0.0) @@ -1042,22 +1144,22 @@ GEM redis (~> 4.5, < 4.6.0) sidekiq-limit_fetch (3.4.0) sidekiq (>= 4) - signet (0.17.0) + signet (0.19.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simple_form (5.1.0) + simple_form (5.3.1) actionpack (>= 5.2) activemodel (>= 5.2) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov-lcov (0.8.0) simplecov_json_formatter (0.1.4) - slop (4.9.2) + slop (4.10.1) snaky_hash (2.0.1) hashie version_gem (~> 1.1, >= 1.1.1) @@ -1066,23 +1168,20 @@ GEM minitar retriable ruby-progressbar - solrizer (4.1.0) - activesupport - nokogiri - xml-simple - sparql (3.2.4) - builder (~> 3.2) - ebnf (~> 2.2, >= 2.3.1) + sparql (3.2.6) + builder (~> 3.2, >= 3.2.4) + ebnf (~> 2.3, >= 2.3.5) logger (~> 1.5) - rdf (~> 3.2, >= 3.2.8) - rdf-aggregate-repo (~> 3.2) + rdf (~> 3.2, >= 3.2.11) + rdf-aggregate-repo (~> 3.2, >= 3.2.1) rdf-xsd (~> 3.2) - sparql-client (~> 3.2, >= 3.2.1) - sxp (~> 1.2, >= 1.2.2) - sparql-client (3.2.1) - net-http-persistent (~> 4.0, >= 4.0.1) - rdf (~> 3.2, >= 3.2.6) - sprockets (3.7.2) + sparql-client (~> 3.2, >= 3.2.2) + sxp (~> 1.2, >= 1.2.4) + sparql-client (3.2.2) + net-http-persistent (~> 4.0, >= 4.0.2) + rdf (~> 3.2, >= 3.2.11) + sprockets (3.7.5) + base64 concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-es6 (0.9.2) @@ -1093,28 +1192,32 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.3.13) - sshkit (1.21.3) + sshkit (1.23.1) + base64 net-scp (>= 1.1.2) + net-sftp (>= 2.1.2) net-ssh (>= 2.8.0) - ssrf_filter (1.1.1) - sxp (1.2.2) - matrix + ostruct + ssrf_filter (1.0.8) + sxp (1.2.4) + matrix (~> 0.4) rdf (~> 3.2) sync (0.5.0) - temple (0.8.2) - term-ansicolor (1.7.1) + temple (0.10.3) + term-ansicolor (1.11.2) tins (~> 1.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.2.1) + thor (1.3.2) thread_safe (0.3.6) - tilt (2.0.11) - tins (1.32.1) + thread_safe (0.3.6-java) + tilt (2.4.0) + timeout (0.4.1) + tins (1.33.0) + bigdecimal sync - tinymce-rails (4.9.11) + tinymce-rails (5.10.9) railties (>= 3.1.1) - trailblazer-option (0.1.2) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) @@ -1122,21 +1225,36 @@ GEM actionpack (>= 3.1) jquery-rails railties (>= 3.1) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) - tzinfo (1.2.10) + tzinfo (1.2.11) thread_safe (~> 0.1) + tzinfo-data (1.2024.2) + tzinfo (>= 1.0.0) uber (0.1.0) - uglifier (4.2.0) + uglifier (4.2.1) execjs (>= 0.3.0, < 3) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (2.2.0) - unicode-types (1.7.0) + unicode-display_width (2.6.0) + unicode-types (1.10.0) validatable (1.6.7) - vcr (6.1.0) - version_gem (1.1.3) + valkyrie (2.2.0) + activemodel + activesupport + disposable (~> 0.4.5) + draper + dry-struct + dry-types (~> 1.0) + faraday (< 1.0) + json + json-ld + railties + rdf (~> 3.0, >= 3.0.10) + rdf-vocab + reform (~> 2.2) + reform-rails + vcr (6.3.1) + base64 + version_gem (1.1.4) virtus (2.0.0) axiom-types (~> 0.1) coercible (~> 1.0) @@ -1152,24 +1270,28 @@ GEM nokogiri (~> 1.6) rubyzip (~> 1.0) selenium-webdriver (~> 3.0) - webmock (3.18.1) + webmock (3.23.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - webrick (1.7.0) - websocket-driver (0.7.5) + websocket-driver (0.7.6) + websocket-extensions (>= 0.1.0) + websocket-driver (0.7.6-java) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - xml-simple (1.1.9) - rexml xpath (3.2.0) nokogiri (~> 1.8) + zeitwerk (2.6.18) PLATFORMS + java ruby + x64-mingw32 + x86-mingw32 + x86-mswin32 DEPENDENCIES - active-fedora (~> 12.2.4) + active-fedora active_attr aws-xray-sdk bigdecimal (= 1.3.5) @@ -1178,7 +1300,7 @@ DEPENDENCIES brakeman browse-everything (= 1.1.0) bulkrax (~> 4.3.0) - bundler (~> 1.17) + bundler bundler-audit byebug capistrano (~> 3.10) @@ -1196,25 +1318,29 @@ DEPENDENCIES devise-guests (~> 0.6) devise-multi_auth! dotenv-rails + dry-monads (= 1.4.0) equivalent-xml factory_bot_rails (~> 4.11.1) fcrepo_wrapper grape grape_on_rails_routes + http (= 5.1.0) hydra-remote_identifier! hydra-role-management - hyrax (= 2.9.6) + hyrax (= 3.6.0) jbuilder (~> 2.5) jquery-rails kaltura (= 0.1.1) listen (~> 3.0.5) + llhttp-ffi (= 0.4.0) mysql2 (~> 0.4.10) + okcomputer (~> 1.18.4) omniauth-openid omniauth-shibboleth orcid! - puma (~> 4.3.8) + puma (~> 5.6) rack (= 2.2.3) - rails (~> 5.2.4.6) + rails (~> 5.2.8.1) rails-controller-testing rest-client riiif (~> 2.0) @@ -1233,7 +1359,6 @@ DEPENDENCIES sidekiq-limit_fetch simplecov-lcov solr_wrapper (>= 0.3) - sqlite3 (= 1.3.13) turbolinks (~> 5) tzinfo-data uglifier (>= 1.3.0) @@ -1244,4 +1369,4 @@ DEPENDENCIES willow_sword! BUNDLED WITH - 2.1.4 + 2.4.22 diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index 1eb7d9966..d765ccc40 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -175,7 +175,7 @@ def self.modified_field end config.add_search_field('description') do |field| - field.label = "Abstract or Summary" + field.label = "Description" solr_name = solr_name("description", :stored_searchable) field.solr_local_parameters = { qf: solr_name, diff --git a/app/controllers/concerns/hyrax/works_controller_behavior.rb b/app/controllers/concerns/hyrax/works_controller_behavior.rb deleted file mode 100644 index 8d15838e7..000000000 --- a/app/controllers/concerns/hyrax/works_controller_behavior.rb +++ /dev/null @@ -1,36 +0,0 @@ -# frozen_string_literal: true - -require 'iiif_manifest' -require Hyrax::Engine.root.join('app/controllers/concerns/hyrax/works_controller_behavior.rb') - -module Hyrax - module WorksControllerBehavior - def create - fix_field_that_ends_with_double_quote('description') - fix_field_that_ends_with_double_quote('note') - if actor.create(actor_environment) - after_create_response - else - respond_to do |wants| - wants.html do - build_form - render 'new', status: :unprocessable_entity - end - wants.json { render_json_response(response_type: :unprocessable_entity, options: { errors: curation_concern.errors }) } - end - end - end - - private - - # add a space to the end of the field when the field ends in a double quote - # fileds that end in a double quote throw an error - def fix_field_that_ends_with_double_quote(field_name) - params[work_type][field_name] = params[work_type][field_name].gsub(/"$/, '" ') - end - - def work_type - curation_concern.class.to_s.underscore - end - end -end diff --git a/app/controllers/concerns/scholar/works_controller_behavior.rb b/app/controllers/concerns/scholar/works_controller_behavior.rb deleted file mode 100644 index 3156d4491..000000000 --- a/app/controllers/concerns/scholar/works_controller_behavior.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true -# Generated via -# `rails generate hyrax:work GenericWork` - -module Scholar - module WorksControllerBehavior - include ChangeManager::ChangeManagerHelper - - def create - super - # the to_s_u method must be implemented for every model - editors = params.to_unsafe_hash[curation_concern.class.to_s_u][:permissions_attributes] - queue_notifications_for_editors(editors) if editors - end - - def update - # get editor name and add to params - editors = removed_user_name_and_id - super - queue_notifications_for_editors(editors) if editors - end - end -end diff --git a/app/controllers/display_users_controller.rb b/app/controllers/display_users_controller.rb index 744824e21..c3e51fa76 100644 --- a/app/controllers/display_users_controller.rb +++ b/app/controllers/display_users_controller.rb @@ -9,7 +9,7 @@ def index def search(query) clause = query.blank? ? nil : "%" + query.downcase.strip + "%" - base = ::User.where(*base_query) + base = ::User.all if clause.present? base = base.where("#{Devise.authentication_keys.first} like lower(?) OR display_name like lower(?) diff --git a/app/controllers/hyrax/articles_controller.rb b/app/controllers/hyrax/articles_controller.rb index 70c60fdf8..dfc765373 100644 --- a/app/controllers/hyrax/articles_controller.rb +++ b/app/controllers/hyrax/articles_controller.rb @@ -7,7 +7,6 @@ module Hyrax class ArticlesController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::Article diff --git a/app/controllers/hyrax/datasets_controller.rb b/app/controllers/hyrax/datasets_controller.rb index 0c26feb06..bbac2ae3c 100644 --- a/app/controllers/hyrax/datasets_controller.rb +++ b/app/controllers/hyrax/datasets_controller.rb @@ -7,7 +7,6 @@ module Hyrax class DatasetsController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::Dataset diff --git a/app/controllers/hyrax/documents_controller.rb b/app/controllers/hyrax/documents_controller.rb index bd5a5ae2b..1e1fd378c 100644 --- a/app/controllers/hyrax/documents_controller.rb +++ b/app/controllers/hyrax/documents_controller.rb @@ -7,7 +7,6 @@ module Hyrax class DocumentsController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::Document diff --git a/app/controllers/hyrax/etds_controller.rb b/app/controllers/hyrax/etds_controller.rb index 842f725f4..7706da18c 100644 --- a/app/controllers/hyrax/etds_controller.rb +++ b/app/controllers/hyrax/etds_controller.rb @@ -7,7 +7,6 @@ module Hyrax class EtdsController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::Etd diff --git a/app/controllers/hyrax/generic_works_controller.rb b/app/controllers/hyrax/generic_works_controller.rb index c28379da2..3b1c09079 100644 --- a/app/controllers/hyrax/generic_works_controller.rb +++ b/app/controllers/hyrax/generic_works_controller.rb @@ -7,7 +7,6 @@ module Hyrax class GenericWorksController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::GenericWork diff --git a/app/controllers/hyrax/images_controller.rb b/app/controllers/hyrax/images_controller.rb index b231bade2..1afe94ae9 100644 --- a/app/controllers/hyrax/images_controller.rb +++ b/app/controllers/hyrax/images_controller.rb @@ -7,7 +7,6 @@ module Hyrax class ImagesController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::Image diff --git a/app/controllers/hyrax/media_controller.rb b/app/controllers/hyrax/media_controller.rb index 5c7e0570b..d8174ce7b 100644 --- a/app/controllers/hyrax/media_controller.rb +++ b/app/controllers/hyrax/media_controller.rb @@ -7,7 +7,6 @@ module Hyrax class MediaController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::Medium # Use this line if you want to use a custom presenter diff --git a/app/controllers/hyrax/student_works_controller.rb b/app/controllers/hyrax/student_works_controller.rb index 6e0185e8d..f1607ed3e 100644 --- a/app/controllers/hyrax/student_works_controller.rb +++ b/app/controllers/hyrax/student_works_controller.rb @@ -7,7 +7,6 @@ module Hyrax class StudentWorksController < ApplicationController # Adds Hyrax behaviors to the controller. include Hyrax::WorksControllerBehavior - include Scholar::WorksControllerBehavior include Hyrax::BreadcrumbsForWorks self.curation_concern_type = ::StudentWork diff --git a/app/forms/hyrax/article_form.rb b/app/forms/hyrax/article_form.rb index c1e7a0693..9782e4cfb 100644 --- a/app/forms/hyrax/article_form.rb +++ b/app/forms/hyrax/article_form.rb @@ -16,7 +16,7 @@ class ArticleForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type] + self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description license] diff --git a/app/forms/hyrax/dataset_form.rb b/app/forms/hyrax/dataset_form.rb index 2444152b4..03b1a83a1 100644 --- a/app/forms/hyrax/dataset_form.rb +++ b/app/forms/hyrax/dataset_form.rb @@ -17,7 +17,7 @@ class DatasetForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type] + self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description license] diff --git a/app/forms/hyrax/document_form.rb b/app/forms/hyrax/document_form.rb index d9943c57d..fef2dfd8e 100644 --- a/app/forms/hyrax/document_form.rb +++ b/app/forms/hyrax/document_form.rb @@ -16,7 +16,7 @@ class DocumentForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type] + self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description license] diff --git a/app/forms/hyrax/etd_form.rb b/app/forms/hyrax/etd_form.rb index 31ad77b4c..0e3c74205 100644 --- a/app/forms/hyrax/etd_form.rb +++ b/app/forms/hyrax/etd_form.rb @@ -17,7 +17,7 @@ class EtdForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type publisher] + self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type publisher alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description advisor license] diff --git a/app/forms/hyrax/forms/batch_upload_form.rb b/app/forms/hyrax/forms/batch_upload_form.rb index 7bfef60d6..2dd0aa167 100644 --- a/app/forms/hyrax/forms/batch_upload_form.rb +++ b/app/forms/hyrax/forms/batch_upload_form.rb @@ -15,6 +15,8 @@ class BatchUploadForm < Hyrax::Forms::WorkForm committee_member note geo_subject doi doi_assignment_strategy existing_identifier college department genre degree advisor] + self.terms -= %i[title resource_type alternative_title abstract access_right rights_notes] + def self.model_attributes(_) attrs = super attrs[:title] = Array(attrs[:title]) if attrs[:title] diff --git a/app/forms/hyrax/generic_work_form.rb b/app/forms/hyrax/generic_work_form.rb index 2ba4cd31b..48b5458fb 100644 --- a/app/forms/hyrax/generic_work_form.rb +++ b/app/forms/hyrax/generic_work_form.rb @@ -17,7 +17,7 @@ class GenericWorkForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type] + self.terms -= %i[rights_statement keyword source contributor based_near identifier resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description license] @@ -38,6 +38,18 @@ def self.model_attributes(_) attrs end + # def self.model_attributes(attributes) + # attrs = super + # return attrs unless attributes[:title] + + # attrs[:title] = Array(attributes[:title]) + # return attrs if attributes[:alternate_title].nil? + # Array(attributes[:alternate_title]).each do |value| + # attrs["title"] << value if value != "" + # end + # attrs + # end + def title super.first || "" end diff --git a/app/forms/hyrax/image_form.rb b/app/forms/hyrax/image_form.rb index 63dee7e2f..5687d2a36 100644 --- a/app/forms/hyrax/image_form.rb +++ b/app/forms/hyrax/image_form.rb @@ -17,7 +17,7 @@ class ImageForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor identifier based_near resource_type] + self.terms -= %i[rights_statement keyword source contributor identifier based_near resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description license] diff --git a/app/forms/hyrax/medium_form.rb b/app/forms/hyrax/medium_form.rb index 42681c953..de32836f1 100644 --- a/app/forms/hyrax/medium_form.rb +++ b/app/forms/hyrax/medium_form.rb @@ -18,7 +18,7 @@ class MediumForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor identifier based_near resource_type] + self.terms -= %i[rights_statement keyword source contributor identifier based_near resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description license] diff --git a/app/forms/hyrax/student_work_form.rb b/app/forms/hyrax/student_work_form.rb index c96835319..6a91c8654 100644 --- a/app/forms/hyrax/student_work_form.rb +++ b/app/forms/hyrax/student_work_form.rb @@ -18,7 +18,7 @@ class StudentWorkForm < Hyrax::Forms::WorkForm self.terms += %i[college department] ## Removing terms that we don't use - self.terms -= %i[rights_statement keyword source contributor identifier based_near resource_type] + self.terms -= %i[rights_statement keyword source contributor identifier based_near resource_type alternative_title abstract access_right rights_notes] ## Setting custom required fields self.required_fields = %i[title creator college department description advisor license] diff --git a/app/indexers/hyrax/collection_indexer.rb b/app/indexers/hyrax/collection_indexer.rb index 6ad665146..acbd805d4 100644 --- a/app/indexers/hyrax/collection_indexer.rb +++ b/app/indexers/hyrax/collection_indexer.rb @@ -4,19 +4,19 @@ class CollectionIndexer < Hydra::PCDM::CollectionIndexer include Hyrax::IndexesThumbnails include SortableTitleIndexer - STORED_LONG = Solrizer::Descriptor.new(:long, :stored) + STORED_LONG = ActiveFedora::Indexing::Descriptor.new(:long, :stored) self.thumbnail_path_service = Hyrax::CollectionThumbnailPathService def generate_solr_document super.tap do |solr_doc| # Makes Collections show under the "Collections" tab - Solrizer.set_field(solr_doc, 'generic_type', 'Collection', :facetable) + ActiveFedora.index_field_mapper.set_field(solr_doc, 'generic_type', 'Collection', :facetable) # Index the size of the collection in bytes - solr_doc[Solrizer.solr_name(:bytes, STORED_LONG)] = object.bytes + solr_doc[ActiveFedora.index_field_mapper.solr_name(:bytes, STORED_LONG)] = object.bytes solr_doc['thumbnail_path_ss'] = thumbnail_path solr_doc['visibility_ssi'] = object.visibility - Solrizer.insert_field(solr_doc, 'sort_title', sortable_title(object.title.first), :stored_sortable) if object.title.present? + # Solrizer.insert_field(solr_doc, 'sort_title', sortable_title(object.title.first), :stored_sortable) if object.title.present? object.in_collections.each do |col| (solr_doc['member_of_collection_ids_ssim'] ||= []) << col.id diff --git a/app/indexers/hyrax/work_indexer.rb b/app/indexers/hyrax/work_indexer.rb index 610a19a1b..4862520be 100644 --- a/app/indexers/hyrax/work_indexer.rb +++ b/app/indexers/hyrax/work_indexer.rb @@ -11,19 +11,21 @@ def generate_solr_document solr_doc['member_ids_ssim'] = object.member_ids solr_doc['member_of_collections_ssim'] = object.member_of_collections.map(&:first_title) solr_doc['member_of_collection_ids_ssim'] = object.member_of_collections.map(&:id) - Solrizer.set_field(solr_doc, 'generic_type', 'Work', :facetable) + # solr_doc['generic_type_sim'] = ['Work'] + ActiveFedora.index_field_mapper.set_field(solr_doc, 'generic_type', 'Work', :facetable) # This enables us to return a Work when we have a FileSet that matches # the search query. While at the same time allowing us not to return Collections # when a work in the collection matches the query. solr_doc['file_set_ids_ssim'] = solr_doc['member_ids_ssim'] solr_doc['visibility_ssi'] = object.visibility - solr_doc[Solrizer.solr_name('date_created', :facetable)] = object.date_created + solr_doc[ActiveFedora.index_field_mapper.solr_name('date_created', :facetable)] = object.date_created admin_set_label = object.admin_set.to_s solr_doc['admin_set_sim'] = admin_set_label solr_doc['admin_set_tesim'] = admin_set_label - Solrizer.insert_field(solr_doc, 'sort_title', sortable_title(object.title.first), :stored_sortable) if object.title.present? + # Still need to figure out how to remove Solrizer + # ActiveFedora.index_field_mapper.insert_field(solr_doc, 'sort_title', sortable_title(object.title.first), :stored_sortable) if object.title.present? end end end diff --git a/app/models/basic_collection_metadata.rb b/app/models/basic_collection_metadata.rb index d5cd4003a..877203305 100644 --- a/app/models/basic_collection_metadata.rb +++ b/app/models/basic_collection_metadata.rb @@ -13,6 +13,12 @@ module BasicCollectionMetadata property :creator, predicate: ::RDF::Vocab::DC11.creator property :contributor, predicate: ::RDF::Vocab::DC11.contributor + # added with hyrax 3.0 + property :alternative_title, predicate: ::RDF::Vocab::DC.alternative + property :abstract, predicate: ::RDF::Vocab::DC.abstract + property :rights_notes, predicate: ::RDF::URI.new('http://purl.org/dc/elements/1.1/rights'), multiple: true + property :access_right, predicate: ::RDF::Vocab::DC.accessRights + # override the predicate for description to match past versions of Scholar property :description, predicate: ::RDF::Vocab::DC11.description property :publisher, predicate: ::RDF::Vocab::DC11.publisher diff --git a/app/models/concerns/hyrax/basic_metadata.rb b/app/models/concerns/hyrax/basic_metadata.rb index 5e9bd6aee..835e4426e 100644 --- a/app/models/concerns/hyrax/basic_metadata.rb +++ b/app/models/concerns/hyrax/basic_metadata.rb @@ -19,6 +19,12 @@ module BasicMetadata # override the predicate for description to match past versions of Scholar property :description, predicate: ::RDF::URI.new('http://purl.org/dc/terms/description') + # added with hyrax 3.0 + property :alternative_title, predicate: ::RDF::Vocab::DC.alternative + property :abstract, predicate: ::RDF::Vocab::DC.abstract + property :rights_notes, predicate: ::RDF::URI.new('http://purl.org/dc/elements/1.1/rights'), multiple: true + property :access_right, predicate: ::RDF::Vocab::DC.accessRights + property :keyword, predicate: ::RDF::Vocab::DC11.relation # Used for a license property :license, predicate: ::RDF::Vocab::DC.rights diff --git a/app/models/solr_document.rb b/app/models/solr_document.rb index 987ff61be..2b990a6e7 100644 --- a/app/models/solr_document.rb +++ b/app/models/solr_document.rb @@ -25,75 +25,89 @@ class SolrDocument use_extension(Hydra::ContentNegotiation) + # Added for Hyrax 3 + + def alternative_title + self[ActiveFedora.index_field_mapper.solr_name('alternate_title')] + end + + def abstract + self[ActiveFedora.index_field_mapper.solr_name('abstract')] + end + + def rights_notes + self[ActiveFedora.index_field_mapper.solr_name('rights_notes')] + end + # Added for All Work Types def alternate_title - self[Solrizer.solr_name('alternate_title')] + self[ActiveFedora.index_field_mapper.solr_name('alternate_title')] end def advisor - self[Solrizer.solr_name('advisor')] + self[ActiveFedora.index_field_mapper.solr_name('advisor')] end def committee_member - self[Solrizer.solr_name('committee_member')] + self[ActiveFedora.index_field_mapper.solr_name('committee_member')] end def required_software - self[Solrizer.solr_name('required_software')] + self[ActiveFedora.index_field_mapper.solr_name('required_software')] end def time_period - self[Solrizer.solr_name('time_period')] + self[ActiveFedora.index_field_mapper.solr_name('time_period')] end def note - self[Solrizer.solr_name('note')] + self[ActiveFedora.index_field_mapper.solr_name('note')] end # Added for Article Work Type def journal_title - self[Solrizer.solr_name('journal_title')] + self[ActiveFedora.index_field_mapper.solr_name('journal_title')] end def issn - self[Solrizer.solr_name('issn')] + self[ActiveFedora.index_field_mapper.solr_name('issn')] end # Added for StudentWork, Document, and Image work types def genre - self[Solrizer.solr_name('genre')] + self[ActiveFedora.index_field_mapper.solr_name('genre')] end def geo_subject - self[Solrizer.solr_name('geo_subject')] + self[ActiveFedora.index_field_mapper.solr_name('geo_subject')] end def degree - self[Solrizer.solr_name('degree')] + self[ActiveFedora.index_field_mapper.solr_name('degree')] end # Complex metadata fields that we be implemented later. # def doi - # self[Solrizer.solr_name('doi')] + # self[ActiveFedora.index_field_mapper.solr_name('doi')] # end def college - self[Solrizer.solr_name('college')] + self[ActiveFedora.index_field_mapper.solr_name('college')] end def department - self[Solrizer.solr_name('department')] + self[ActiveFedora.index_field_mapper.solr_name('department')] end def doi - self[Solrizer.solr_name('doi')] + self[ActiveFedora.index_field_mapper.solr_name('doi')] end def etd_publisher - self[Solrizer.solr_name('etd_publisher')] + self[ActiveFedora.index_field_mapper.solr_name('etd_publisher')] end end diff --git a/app/services/hyrax/default_middleware_stack.rb b/app/services/hyrax/default_middleware_stack.rb index 15c661ac9..cb050c814 100644 --- a/app/services/hyrax/default_middleware_stack.rb +++ b/app/services/hyrax/default_middleware_stack.rb @@ -1,13 +1,20 @@ # frozen_string_literal: true module Hyrax + ## + # Defines the Hyrax "Actor Stack", used in creation of works when using + # +ActiveFedora+. + # + # @note this stack, and the Actor classes it calls, is not used when + # +Valkyrie+ models are defined by the application. in that context, + # this behavior is replaced by `Hyrax::Transactions::Container`. + # + # @see Hyrax::CurationConcern.actor + # @see Hyrax::WorksControllerBehavior#create + # @see Hyrax::WorksControllerBehavior#update class DefaultMiddlewareStack # rubocop:disable Metrics/MethodLength def self.build_stack ActionDispatch::MiddlewareStack.new.tap do |middleware| - # Wrap everything in a database transaction, if the save of the resource - # fails then roll back any database AdminSetChangeSet - middleware.use Hyrax::Actors::TransactionalRequest - # Ensure you are mutating the most recent version middleware.use Hyrax::Actors::OptimisticLockValidator @@ -16,6 +23,7 @@ def self.build_stack # Attach files uploaded in the form to the UploadsController middleware.use Hyrax::Actors::CreateWithFilesActor + # Add/remove the resource to/from a collection middleware.use Hyrax::Actors::CollectionsMembershipActor @@ -34,7 +42,7 @@ def self.build_stack # Decode the private/public/institution on the form into permisisons on # the model middleware.use Hyrax::Actors::InterpretVisibilityActor - + # # Handles transfering ownership of works from one user to another middleware.use Hyrax::Actors::TransferRequestActor @@ -50,14 +58,11 @@ def self.build_stack # Destroys the feature tag in the database when the work is destroyed middleware.use Hyrax::Actors::FeaturedWorkActor - # Persist the metadata changes on the resource - middleware.use Hyrax::Actors::ModelActor - # Implement DOI Minting middleware.use Hyrax::Actors::MintDoiActor - # Start the workflow for this work - middleware.use Hyrax::Actors::InitializeWorkflowActor + # Persist the metadata changes on the resource + middleware.use Hyrax::Actors::ModelActor end end # rubocop:enable Metrics/MethodLength diff --git a/app/views/_toolbar.html.erb b/app/views/_toolbar.html.erb index 88a61e90a..abbac6fb9 100644 --- a/app/views/_toolbar.html.erb +++ b/app/views/_toolbar.html.erb @@ -13,7 +13,7 @@ <% end %>