diff --git a/.circleci/config.yml b/.circleci/config.yml index 39c1527ecb..aa02b113da 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ jobs: build: docker: # Primary container image where all steps run. - - image: avalonmediasystem/avalon:develop + - image: avalonmediasystem/avalon:7.5.0-dev-ruby3 environment: - DATABASE_URL=postgresql://postgres@localhost:5432/postgres - FEDORA_URL=http://localhost:8080/fcrepo/rest @@ -31,7 +31,7 @@ jobs: parameters: ruby_ver: description: 'Ruby version' - default: '2.7' + default: '3.1' type: 'string' solr_port: type: string @@ -140,7 +140,7 @@ jobs: default: 4 docker: # Primary container image where all steps run. - - image: avalonmediasystem/avalon:develop + - image: avalonmediasystem/avalon:7.5.0-dev-ruby3 working_directory: /home/app/avalon @@ -163,10 +163,10 @@ workflows: build_test_report: jobs: - build: - ruby_ver: '2.7' - name: 'Ruby2-7' + ruby_ver: '3.2' + name: 'Ruby3-2' parallelism: 4 - upload-coverage: parallelism: 4 requires: - - Ruby2-7 + - Ruby3-2 diff --git a/Dockerfile b/Dockerfile index 2463a6d1df..2d46bfb7bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Base stage for building gems -FROM ruby:2.7-bullseye as bundle +FROM ruby:3.2-bullseye as bundle LABEL stage=build LABEL project=avalon RUN apt-get update && apt-get upgrade -y build-essential && apt-get autoremove \ @@ -19,6 +19,9 @@ COPY Gemfile.lock ./Gemfile.lock RUN gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)" \ && bundle config build.nokogiri --use-system-libraries +ENV RUBY_THREAD_MACHINE_STACK_SIZE 8388608 +ENV RUBY_THREAD_VM_STACK_SIZE 8388608 + # Build development gems FROM bundle as bundle-dev @@ -30,7 +33,7 @@ RUN bundle config set --local without 'production' \ # Download binaries in parallel -FROM ruby:2.7-bullseye as download +FROM ruby:3.2-bullseye as download LABEL stage=build LABEL project=avalon RUN curl -L https://github.com/jwilder/dockerize/releases/download/v0.6.1/dockerize-linux-amd64-v0.6.1.tar.gz | tar xvz -C /usr/bin/ @@ -43,7 +46,7 @@ RUN apt-get -y update && apt-get install -y ffmpeg # Base stage for building final images -FROM ruby:2.7-slim-bullseye as base +FROM ruby:3.2-slim-bullseye as base LABEL stage=build LABEL project=avalon RUN echo "deb http://ftp.us.debian.org/debian/ bullseye main contrib non-free" > /etc/apt/sources.list.d/bullseye.list \ diff --git a/Gemfile b/Gemfile index 0d4ffe2ce3..a6733c68bb 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,9 @@ source 'https://rubygems.org' # Core rails gem 'bootsnap', require: false gem 'listen' -gem 'rails', '=6.0.6.1' +gem 'net-smtp', require: false +gem 'psych', '< 4' +gem 'rails', '=7.0.4.3' gem 'sprockets', '~>3.7.2' #gem 'sprockets-rails', require: 'sprockets/railtie' gem 'sqlite3' @@ -27,13 +29,13 @@ gem 'uglifier', '>= 1.3.0' gem 'webpacker' # Core Samvera -gem 'active-fedora', '~> 13.2', '>= 13.2.5' -gem 'active_fedora-datastreams', '~> 0.4' +gem 'active-fedora', '~> 14.0', '>= 14.0.1' +gem 'active_fedora-datastreams', '~> 0.5' gem 'hydra-head', '~> 12.0' -gem 'ldp', '~> 1.0.3' -gem 'noid-rails', '~> 3.0.1' +gem 'ldp', '~> 1.1.0' +gem 'noid-rails', '~> 3.1' +gem 'om', git: 'https://github.com/avalonmediasystem/om.git', tag: 'v3.2.0-ruby3' gem 'rdf-rdfxml' -gem 'rdf-vocab', '< 3.1.5' # Samvera version pins gem 'blacklight', '~> 7.25' @@ -51,11 +53,11 @@ gem 'avalon-about', git: 'https://github.com/avalonmediasystem/avalon-about.git' #gem 'bootstrap-sass', '< 3.4.1' # Pin to less than 3.4.1 due to change in behavior with popovers gem 'bootstrap-toggle-rails' gem 'bootstrap_form' -gem 'iiif_manifest', '~> 0.6' +gem 'iiif_manifest', '~> 1.3' gem 'rack-cors', require: 'rack/cors' gem 'rails_same_site_cookie' gem 'recaptcha', require: 'recaptcha/rails' -gem 'samvera-persona', '~> 0.3' +gem 'samvera-persona', '~> 0.4', '>= 0.4.1' gem 'speedy-af', '~> 0.3' # Avalon Components @@ -72,18 +74,18 @@ gem 'omniauth-lti', git: "https://github.com/avalonmediasystem/omniauth-lti.git" gem "omniauth-saml", "~> 2.0" # Media Access & Transcoding -gem 'active_encode', '~> 1.0', '>= 1.1.2' +gem 'active_encode', '~> 1.0', '>= 1.1.3' gem 'audio_waveform-ruby', '~> 1.0.7', require: 'audio_waveform' gem 'browse-everything', git: "https://github.com/avalonmediasystem/browse-everything.git", branch: 'v1.2-avalon' gem 'fastimage' gem 'media_element_add_to_playlist', git: 'https://github.com/avalonmediasystem/media-element-add-to-playlist.git', tag: 'avalon-r6.5' -gem 'mediainfo', git: "https://github.com/avalonmediasystem/mediainfo.git", branch: 'avalon_fixes' +gem 'mediainfo', git: "https://github.com/avalonmediasystem/mediainfo.git", tag: 'v0.7.1-avalon' gem 'rest-client', '~> 2.0' gem 'roo' gem 'wavefile', '~> 1.0.1' # Data Translation & Normalization -gem 'edtf' +gem 'edtf', '>= 3.1.1' gem 'iconv', '~> 1.0.6' gem 'marc' @@ -92,7 +94,7 @@ gem 'activejob-traffic_control' gem 'activejob-uniqueness' gem 'redis-rails' gem 'sidekiq', '~> 6.2' -gem 'sidekiq-cron', '~> 1.2', git: "https://github.com/avalonmediasystem/sidekiq-cron.git", tag: 'v1.2.1-avalon' +gem 'sidekiq-cron', '~> 1.9' # Coding Patterns gem 'config' @@ -112,7 +114,6 @@ group :development do # Use Bixby instead of rubocop directly gem 'bixby', require: false gem 'web-console' - gem 'xray-rails' end group :development, :test do @@ -144,7 +145,7 @@ group :test do gem 'shoulda-matchers' gem 'simplecov' gem 'webdrivers', '~> 3.0' - gem 'webmock', '~> 3.5.1' + gem 'webmock', '~> 3.5' end group :production do diff --git a/Gemfile.lock b/Gemfile.lock index 6fb6a6a090..271d12d1db 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -24,7 +24,7 @@ GIT GIT remote: https://github.com/avalonmediasystem/browse-everything.git - revision: 38610d19d36105ca9c311e0a641fdb43697fabea + revision: 51ac41d1631eba86b123222d9bfeef342f25ec56 branch: v1.2-avalon specs: browse-everything (1.2.0) @@ -48,11 +48,22 @@ GIT GIT remote: https://github.com/avalonmediasystem/mediainfo.git - revision: 11504137076169863509c1caaf3555ab65a4a64b - branch: avalon_fixes + revision: bea9479d33328c6b483ee19c008730f939d98266 + tag: v0.7.1-avalon specs: mediainfo (0.7.1) +GIT + remote: https://github.com/avalonmediasystem/om.git + revision: ffde890b4187a7d8be41ae387264cd6eb20b6ba8 + tag: v3.2.0-ruby3 + specs: + om (3.2.0) + activemodel (>= 5.1) + activesupport + nokogiri (>= 1.4.2) + solrizer (~> 3.3) + GIT remote: https://github.com/avalonmediasystem/omniauth-lti.git revision: 7534c44fc5a3c927aec57bbd3a15cbad37feec74 @@ -62,65 +73,65 @@ GIT ims-lti omniauth -GIT - remote: https://github.com/avalonmediasystem/sidekiq-cron.git - revision: 9bb8c76863aade7849a1a85a1232683e96c41c1f - tag: v1.2.1-avalon - specs: - sidekiq-cron (1.2.1) - fugit (~> 1.1) - sidekiq (>= 4.2.1) - GEM remote: https://rubygems.org/ specs: - actioncable (6.0.6.1) - actionpack (= 6.0.6.1) + actioncable (7.0.4.3) + actionpack (= 7.0.4.3) + activesupport (= 7.0.4.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.0.6.1) - actionpack (= 6.0.6.1) - activejob (= 6.0.6.1) - activerecord (= 6.0.6.1) - activestorage (= 6.0.6.1) - activesupport (= 6.0.6.1) + actionmailbox (7.0.4.3) + actionpack (= 7.0.4.3) + activejob (= 7.0.4.3) + activerecord (= 7.0.4.3) + activestorage (= 7.0.4.3) + activesupport (= 7.0.4.3) mail (>= 2.7.1) - actionmailer (6.0.6.1) - actionpack (= 6.0.6.1) - actionview (= 6.0.6.1) - activejob (= 6.0.6.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.4.3) + actionpack (= 7.0.4.3) + actionview (= 7.0.4.3) + activejob (= 7.0.4.3) + activesupport (= 7.0.4.3) mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp rails-dom-testing (~> 2.0) - actionpack (6.0.6.1) - actionview (= 6.0.6.1) - activesupport (= 6.0.6.1) - rack (~> 2.0, >= 2.0.8) + actionpack (7.0.4.3) + actionview (= 7.0.4.3) + activesupport (= 7.0.4.3) + rack (~> 2.0, >= 2.2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.0.6.1) - actionpack (= 6.0.6.1) - activerecord (= 6.0.6.1) - activestorage (= 6.0.6.1) - activesupport (= 6.0.6.1) + actiontext (7.0.4.3) + actionpack (= 7.0.4.3) + activerecord (= 7.0.4.3) + activestorage (= 7.0.4.3) + activesupport (= 7.0.4.3) + globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (6.0.6.1) - activesupport (= 6.0.6.1) + actionview (7.0.4.3) + activesupport (= 7.0.4.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - active-fedora (13.3.0) + active-fedora (14.0.1) active-triples (>= 0.11.0, < 2.0.0) activemodel (>= 5.1) activesupport (>= 5.1) deprecation - faraday (~> 0.12) + faraday (>= 1.0) faraday-encoding (>= 0.0.5) ldp (>= 0.7.0, < 2) 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) @@ -132,117 +143,121 @@ GEM active_elastic_job (3.2.0) aws-sdk-sqs (~> 1) rails (>= 5.2.6, < 7.1) - active_encode (1.1.2) + active_encode (1.1.3) addressable (~> 2.8) rails - active_fedora-datastreams (0.4.0) - active-fedora (>= 11.0.0.pre, < 14) - activemodel (< 6.1) + active_fedora-datastreams (0.5.0) + active-fedora (>= 11.0.0.pre) + activemodel (>= 5.2) nom-xml (>= 0.5.1) om (~> 3.1) - rdf (< 3.2) - rdf-rdfxml (~> 2.0) - activejob (6.0.6.1) - activesupport (= 6.0.6.1) + rdf (~> 3.2) + rdf-rdfxml (~> 3.2) + activejob (7.0.4.3) + activesupport (= 7.0.4.3) globalid (>= 0.3.6) activejob-traffic_control (0.1.3) activejob (>= 4.2) activesupport (>= 4.2) suo - activejob-uniqueness (0.2.2) - activejob (>= 4.2, < 7) + activejob-uniqueness (0.2.5) + activejob (>= 4.2, < 7.1) redlock (>= 1.2, < 2) - activemodel (6.0.6.1) - activesupport (= 6.0.6.1) - activerecord (6.0.6.1) - activemodel (= 6.0.6.1) - activesupport (= 6.0.6.1) + activemodel (7.0.4.3) + activesupport (= 7.0.4.3) + activerecord (7.0.4.3) + activemodel (= 7.0.4.3) + activesupport (= 7.0.4.3) activerecord-session_store (2.0.0) actionpack (>= 5.2.4.1) activerecord (>= 5.2.4.1) multi_json (~> 1.11, >= 1.11.2) rack (>= 2.0.8, < 3) railties (>= 5.2.4.1) - activestorage (6.0.6.1) - actionpack (= 6.0.6.1) - activejob (= 6.0.6.1) - activerecord (= 6.0.6.1) + activestorage (7.0.4.3) + actionpack (= 7.0.4.3) + activejob (= 7.0.4.3) + activerecord (= 7.0.4.3) + activesupport (= 7.0.4.3) marcel (~> 1.0) - activesupport (6.0.6.1) + mini_mime (>= 1.1.0) + activesupport (7.0.4.3) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - acts_as_list (1.0.4) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + acts_as_list (1.1.0) activerecord (>= 4.2) addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) - airbrussh (1.4.0) + airbrussh (1.4.1) sshkit (>= 1.6.1, != 1.7.0) - amazing_print (1.4.0) api-pagination (5.0.0) ast (2.4.2) audio_waveform-ruby (1.0.7) json (~> 2.3) - autoprefixer-rails (10.4.2.0) + autoprefixer-rails (10.4.7.0) execjs (~> 2) aws-eventstream (1.2.0) - aws-partitions (1.602.0) - aws-record (2.7.0) + aws-partitions (1.735.0) + aws-record (2.10.1) aws-sdk-dynamodb (~> 1.18) - aws-sdk-cloudfront (1.62.0) - aws-sdk-core (~> 3, >= 3.126.0) + aws-sdk-cloudfront (1.75.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - aws-sdk-core (3.131.2) + aws-sdk-core (3.171.0) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.525.0) - aws-sigv4 (~> 1.1) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) jmespath (~> 1, >= 1.6.1) - aws-sdk-dynamodb (1.72.0) - aws-sdk-core (~> 3, >= 3.126.0) + aws-sdk-dynamodb (1.81.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - aws-sdk-elastictranscoder (1.37.0) - aws-sdk-core (~> 3, >= 3.126.0) + aws-sdk-elastictranscoder (1.40.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - aws-sdk-kms (1.57.0) - aws-sdk-core (~> 3, >= 3.127.0) + aws-sdk-kms (1.63.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - aws-sdk-rails (3.6.1) + aws-sdk-rails (3.7.0) aws-record (~> 2) aws-sdk-ses (~> 1) + aws-sdk-sesv2 (~> 1) aws-sdk-sqs (~> 1) aws-sessionstore-dynamodb (~> 2) concurrent-ruby (~> 1) railties (>= 5.2.0) - aws-sdk-s3 (1.114.0) - aws-sdk-core (~> 3, >= 3.127.0) + aws-sdk-s3 (1.119.2) + aws-sdk-core (~> 3, >= 3.165.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sdk-ses (1.46.0) - aws-sdk-core (~> 3, >= 3.126.0) + aws-sdk-ses (1.49.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - aws-sdk-sqs (1.50.0) - aws-sdk-core (~> 3, >= 3.126.0) + aws-sdk-sesv2 (1.31.0) + aws-sdk-core (~> 3, >= 3.165.0) + aws-sigv4 (~> 1.1) + aws-sdk-sqs (1.53.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) aws-sessionstore-dynamodb (2.0.1) aws-sdk-dynamodb (~> 1) rack (~> 2) - aws-sigv4 (1.5.0) + aws-sigv4 (1.5.2) aws-eventstream (~> 1, >= 1.0.2) babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) - bcrypt (3.1.16) + bcrypt (3.1.18) bindex (0.8.1) - bixby (3.0.2) - rubocop (= 0.85.1) - rubocop-ast (~> 0.3.0) + bixby (5.0.2) + rubocop (= 1.28.2) + rubocop-ast rubocop-performance rubocop-rails rubocop-rspec - blacklight (7.28.0) + blacklight (7.33.1) deprecation globalid hashdiff @@ -251,46 +266,46 @@ GEM kaminari (>= 0.15) ostruct (>= 0.3.2) rails (>= 5.1, < 7.1) - view_component (~> 2.43) + view_component (~> 2.66) blacklight-access_controls (6.0.1) blacklight (> 6.0, < 8) cancancan (>= 1.8) deprecation (~> 1.0) - bootsnap (1.10.3) + bootsnap (1.16.0) msgpack (~> 1.2) - bootstrap (4.6.1) + bootstrap (4.6.2) autoprefixer-rails (>= 9.1.0) - popper_js (>= 1.14.3, < 2) + popper_js (>= 1.16.1, < 2) sassc-rails (>= 2.0.0) bootstrap-toggle-rails (2.2.1.0) - bootstrap_form (5.0.0) + bootstrap_form (5.1.0) actionpack (>= 5.2) activemodel (>= 5.2) builder (3.2.4) byebug (11.1.3) - cancancan (3.3.0) - capistrano (3.16.0) + cancancan (3.4.0) + capistrano (3.17.1) airbrussh (>= 1.0.0) i18n rake (>= 10.0.0) sshkit (>= 1.9.0) - capistrano-bundler (2.0.1) + capistrano-bundler (2.1.0) capistrano (~> 3.1) capistrano-passenger (0.2.1) capistrano (~> 3.0) - capistrano-rails (1.6.1) + capistrano-rails (1.6.2) capistrano (~> 3.1) capistrano-bundler (>= 1.1, < 3) capistrano-rvm (0.1.2) capistrano (~> 3.0) sshkit (~> 1.2) - capistrano-sidekiq (2.0.0) + capistrano-sidekiq (2.3.0) capistrano (>= 3.9.0) capistrano-bundler sidekiq (>= 6.0) capistrano-yarn (2.0.2) capistrano (~> 3.0) - capybara (3.36.0) + capybara (3.38.0) addressable matrix mini_mime (>= 0.1.3) @@ -311,11 +326,11 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.2.0) - config (4.0.0) + concurrent-ruby (1.2.2) + config (4.1.0) deep_merge (~> 1.2, >= 1.2.1) dry-validation (~> 1.0, >= 1.0.0) - connection_pool (2.2.5) + connection_pool (2.3.0) crack (0.4.5) rexml crass (1.0.6) @@ -332,91 +347,92 @@ GEM deep_merge (1.2.2) deprecation (1.1.0) activesupport - devise (4.8.1) + devise (4.9.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) responders warden (~> 1.2.3) - devise_invitable (2.0.6) + devise_invitable (2.0.7) actionmailer (>= 5.0) devise (>= 4.6) diff-lcs (1.5.0) docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) - dotenv-rails (2.7.6) - dotenv (= 2.7.6) + dotenv (2.8.1) + dotenv-rails (2.8.1) + dotenv (= 2.8.1) railties (>= 3.2) dropbox_api (0.1.21) faraday (< 3.0) oauth2 (~> 1.1) - dry-configurable (0.14.0) - concurrent-ruby (~> 1.0) - dry-core (~> 0.6) - dry-container (0.9.0) + dry-configurable (1.0.1) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-core (1.0.0) concurrent-ruby (~> 1.0) - dry-configurable (~> 0.13, >= 0.13.0) - dry-core (0.7.1) - concurrent-ruby (~> 1.0) - dry-inflector (0.2.1) + zeitwerk (~> 2.6) + dry-inflector (1.0.0) dry-initializer (3.1.1) - dry-logic (1.2.0) + dry-logic (1.5.0) concurrent-ruby (~> 1.0) - dry-core (~> 0.5, >= 0.5) - dry-schema (1.9.1) + dry-core (~> 1.0, < 2) + zeitwerk (~> 2.6) + dry-schema (1.13.0) concurrent-ruby (~> 1.0) - dry-configurable (~> 0.13, >= 0.13.0) - dry-core (~> 0.5, >= 0.5) + dry-configurable (~> 1.0, >= 1.0.1) + dry-core (~> 1.0, < 2) dry-initializer (~> 3.0) - dry-logic (~> 1.0) - dry-types (~> 1.5) - dry-types (1.5.1) + dry-logic (>= 1.5, < 2) + dry-types (>= 1.7, < 2) + zeitwerk (~> 2.6) + dry-types (1.7.0) concurrent-ruby (~> 1.0) - dry-container (~> 0.3) - dry-core (~> 0.5, >= 0.5) - dry-inflector (~> 0.1, >= 0.1.2) - dry-logic (~> 1.0, >= 1.0.2) - dry-validation (1.8.0) + dry-core (~> 1.0, < 2) + dry-inflector (~> 1.0, < 2) + dry-logic (>= 1.4, < 2) + zeitwerk (~> 2.6) + dry-validation (1.10.0) concurrent-ruby (~> 1.0) - dry-container (~> 0.7, >= 0.7.1) - dry-core (~> 0.5, >= 0.5) + dry-core (~> 1.0, < 2) dry-initializer (~> 3.0) - dry-schema (~> 1.9, >= 1.9.1) - ebnf (2.2.1) - amazing_print (~> 1.2) + dry-schema (>= 1.12, < 2) + zeitwerk (~> 2.6) + ebnf (2.3.2) htmlentities (~> 4.3) - rdf (~> 3.1) + rdf (~> 3.2) scanf (~> 1.0) - sxp (~> 1.1) - unicode-types (~> 1.6) - edtf (3.1.0) + sxp (~> 1.2) + unicode-types (~> 1.8) + edtf (3.1.1) activesupport (>= 3.0, < 8.0) - email_spec (2.2.0) + email_spec (2.2.1) htmlentities (~> 4.3.3) launchy (~> 2.1) mail (~> 2.7) equivalent-xml (0.6.0) nokogiri (>= 1.4.3) erubi (1.12.0) - et-orbi (1.2.6) + et-orbi (1.2.7) tzinfo - ethon (0.15.0) + ethon (0.16.0) ffi (>= 1.15.0) execjs (2.8.1) - factory_bot (6.2.0) + factory_bot (6.2.1) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - fakefs (1.4.1) - faker (2.19.0) - i18n (>= 1.6, < 2) - faraday (0.17.5) - multipart-post (>= 1.2, < 3) + fakefs (2.2.0) + faker (3.1.1) + i18n (>= 1.8.11, < 2) + faraday (2.7.4) + faraday-net_http (>= 2.0, < 3.1) + ruby2_keywords (>= 0.0.4) faraday-encoding (0.0.5) faraday + faraday-net_http (3.0.2) fastimage (2.2.6) fcrepo_wrapper (0.9.0) ruby-progressbar @@ -426,13 +442,13 @@ GEM rake font-awesome-rails (4.7.0.8) railties (>= 3.2, < 8.0) - fugit (1.5.2) - et-orbi (~> 1.1, >= 1.1.8) + fugit (1.8.1) + et-orbi (~> 1, >= 1.2.7) raabro (~> 1.4) globalid (1.1.0) activesupport (>= 5.0) google-analytics-rails (1.1.0) - google-apis-core (0.7.0) + google-apis-core (0.11.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -441,9 +457,9 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-drive_v3 (0.25.0) - google-apis-core (>= 0.7, < 2.a) - googleauth (1.2.0) + google-apis-drive_v3 (0.37.0) + google-apis-core (>= 0.11.0, < 2.a) + googleauth (1.5.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -453,41 +469,39 @@ GEM haml (5.2.2) temple (>= 0.8.0) tilt - hamster (3.0.0) - concurrent-ruby (~> 1.0) hashdiff (1.0.1) hashie (5.0.0) hooks (0.4.1) uber (~> 0.0.14) htmlentities (4.3.4) - http (5.0.4) + http (5.1.1) addressable (~> 2.8) http-cookie (~> 1.0) http-form_data (~> 2.2) llhttp-ffi (~> 0.4.0) http-accept (1.7.0) - http-cookie (1.0.4) + http-cookie (1.0.5) domain_name (~> 0.5) http-form_data (2.3.0) http_logger (0.7.0) httpclient (2.8.3) - hydra-access-controls (12.0.1) + hydra-access-controls (12.1.0) active-fedora (>= 10.0.0) - activesupport (>= 5.2, < 7) + activesupport (>= 5.2, < 7.1) blacklight-access_controls (~> 6.0) cancancan (>= 1.8, < 4) deprecation (~> 1.0) - hydra-core (12.0.1) - hydra-access-controls (= 12.0.1) - railties (>= 5.2, < 7) - hydra-head (12.0.1) - hydra-access-controls (= 12.0.1) - hydra-core (= 12.0.1) - rails (>= 5.2, < 7) + hydra-core (12.1.0) + hydra-access-controls (= 12.1.0) + railties (>= 5.2, < 7.1) + hydra-head (12.1.0) + hydra-access-controls (= 12.1.0) + hydra-core (= 12.1.0) + rails (>= 5.2, < 7.1) i18n (1.12.0) concurrent-ruby (~> 1.0) iconv (1.0.8) - iiif_manifest (0.6.0) + iiif_manifest (1.3.1) activesupport (>= 4) ims-lti (1.1.13) builder @@ -495,24 +509,24 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) - jmespath (1.6.1) + jmespath (1.6.2) jquery-datatables (1.10.20) - jquery-rails (4.4.0) + jquery-rails (4.5.1) 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.1.10) + json (2.6.3) + json-canonicalization (0.3.1) + json-ld (3.2.3) htmlentities (~> 4.3) - json-canonicalization (~> 0.2) + json-canonicalization (~> 0.3) link_header (~> 0.0, >= 0.0.8) - multi_json (~> 1.14) - rack (~> 2.0) - rdf (~> 3.1) - jwt (2.4.1) + multi_json (~> 1.15) + rack (~> 2.2) + rdf (~> 3.2, >= 3.2.9) + jwt (2.7.0) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -525,26 +539,27 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - launchy (2.5.0) - addressable (~> 2.7) - ldp (1.0.3) + launchy (2.5.2) + addressable (~> 2.8) + ldp (1.1.0) deprecation - faraday + faraday (>= 1) http_logger - json-ld - rdf (>= 1.1) + json-ld (~> 3.2) + rdf (~> 3.2) rdf-isomorphic + rdf-ldp rdf-turtle rdf-vocab (>= 0.8) slop link_header (0.0.8) - listen (3.7.1) + listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) llhttp-ffi (0.4.0) ffi-compiler (~> 1.0) rake (~> 13.0) - lograge (0.11.2) + lograge (0.12.0) actionpack (>= 4) activesupport (>= 4) railties (>= 4) @@ -552,12 +567,12 @@ GEM loofah (2.19.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) - mail (2.8.1.rc2) + mail (2.8.1) mini_mime (>= 0.1.1) net-imap net-pop net-smtp - marc (1.1.1) + marc (1.2.0) rexml scrub_rb (>= 1.0.1, < 2) unf @@ -570,109 +585,105 @@ GEM mime-types-data (3.2022.0105) mini_mime (1.1.2) mini_portile2 (2.8.1) - minitest (5.17.0) - msgpack (1.4.5) + minitar (0.9) + minitest (5.18.0) + msgpack (1.6.0) multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.2.3) - mysql2 (0.5.3) + multipart-post (2.3.0) + mysql2 (0.5.5) net-imap (0.3.4) date net-protocol - net-ldap (0.17.0) + net-ldap (0.17.1) net-pop (0.1.2) net-protocol net-protocol (0.2.1) timeout - net-scp (3.0.0) - net-ssh (>= 2.6.5, < 7.0.0) + net-scp (4.0.0) + net-ssh (>= 2.6.5, < 8.0.0) net-smtp (0.3.3) net-protocol - net-ssh (6.1.0) + net-ssh (7.0.1) netrc (0.11.0) nio4r (2.5.8) noid (0.9.0) - noid-rails (3.0.3) - actionpack (>= 5.0.0, < 7) + noid-rails (3.1.0) + actionpack (>= 5.0.0, < 7.1) noid (~> 0.9) - nokogiri (1.14.1) + nokogiri (1.14.2) mini_portile2 (~> 2.8.0) racc (~> 1.4) nom-xml (1.2.0) i18n nokogiri - oauth (0.5.8) - oauth2 (1.4.10) + oauth (0.5.14) + 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.4) - om (3.2.0) - activemodel (>= 5.1, < 7) - activesupport - nokogiri (>= 1.4.2) - solrizer (~> 3.3) - omniauth (2.0.4) + omniauth (2.1.1) hashie (>= 3.4.6) - rack (>= 1.6.2, < 3) + rack (>= 2.2.3) rack-protection omniauth-identity (3.0.9) bcrypt omniauth - omniauth-saml (2.0.0) + omniauth-saml (2.1.0) omniauth (~> 2.0) - ruby-saml (~> 1.9) + ruby-saml (~> 1.12) orm_adapter (0.5.0) os (1.1.4) ostruct (0.5.5) - parallel (1.21.0) - paranoia (2.5.2) + parallel (1.22.1) + paranoia (2.6.1) activerecord (>= 5.1, < 7.1) - parser (3.1.0.0) + parser (3.2.1.0) ast (~> 2.4.1) - pg (1.3.2) - popper_js (1.16.0) + pg (1.4.5) + popper_js (1.16.1) pretender (0.4.0) actionpack (>= 5.2) - pry (0.13.1) + pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) - pry-byebug (3.9.0) + pry-byebug (3.10.1) byebug (~> 11.0) - pry (~> 0.13.0) + pry (>= 0.13, < 0.15) pry-rails (0.3.9) pry (>= 0.10.4) - public_suffix (5.0.0) - puma (5.6.4) + psych (3.3.4) + public_suffix (5.0.1) + puma (6.0.2) nio4r (~> 2.0) raabro (1.4.0) racc (1.6.2) - rack (2.2.6.2) + rack (2.2.6.4) rack-cors (1.1.1) rack (>= 2.0.0) - rack-protection (2.2.0) + rack-protection (3.0.5) rack - rack-proxy (0.7.2) + rack-proxy (0.7.6) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) - rails (6.0.6.1) - actioncable (= 6.0.6.1) - actionmailbox (= 6.0.6.1) - actionmailer (= 6.0.6.1) - actionpack (= 6.0.6.1) - actiontext (= 6.0.6.1) - actionview (= 6.0.6.1) - activejob (= 6.0.6.1) - activemodel (= 6.0.6.1) - activerecord (= 6.0.6.1) - activestorage (= 6.0.6.1) - activesupport (= 6.0.6.1) - bundler (>= 1.3.0) - railties (= 6.0.6.1) - sprockets-rails (>= 2.0.0) + rails (7.0.4.3) + actioncable (= 7.0.4.3) + actionmailbox (= 7.0.4.3) + actionmailer (= 7.0.4.3) + actionpack (= 7.0.4.3) + actiontext (= 7.0.4.3) + actionview (= 7.0.4.3) + activejob (= 7.0.4.3) + activemodel (= 7.0.4.3) + activerecord (= 7.0.4.3) + activestorage (= 7.0.4.3) + activesupport (= 7.0.4.3) + bundler (>= 1.15.0) + railties (= 7.0.4.3) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -685,53 +696,57 @@ GEM rails_same_site_cookie (0.1.9) rack (>= 1.5) user_agent_parser (~> 2.6) - railties (6.0.6.1) - actionpack (= 6.0.6.1) - activesupport (= 6.0.6.1) + railties (7.0.4.3) + actionpack (= 7.0.4.3) + activesupport (= 7.0.4.3) method_source - rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.0.6) - rb-fsevent (0.11.1) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) rb-readline (0.5.5) - rdf (3.1.15) - hamster (~> 3.0) + rdf (3.2.9) link_header (~> 0.0, >= 0.0.8) - rdf-aggregate-repo (3.1.0) - rdf (~> 3.1) - rdf-isomorphic (3.1.1) - rdf (~> 3.1) - rdf-rdfa (3.1.0) - haml (~> 5.1) + rdf-aggregate-repo (3.2.1) + rdf (~> 3.2) + rdf-isomorphic (3.2.1) + rdf (~> 3.2) + rdf-ldp (0.1.0) + deprecation + rdf + rdf-rdfa (3.2.0) + haml (~> 5.2) htmlentities (~> 4.3) - rdf (~> 3.1) - rdf-aggregate-repo (~> 3.1) - rdf-xsd (~> 3.1) - rdf-rdfxml (2.2.1) + rdf (~> 3.2) + rdf-aggregate-repo (~> 3.2) + rdf-vocab (~> 3.2) + rdf-xsd (~> 3.2) + rdf-rdfxml (3.2.0) htmlentities (~> 4.3) - rdf (>= 2.2, < 4.0) - rdf-rdfa (>= 2.2, < 4.0) - rdf-xsd (>= 2.2, < 4.0) - rdf-turtle (3.1.3) - ebnf (~> 2.1) - rdf (~> 3.1, >= 3.1.8) - rdf-vocab (3.1.4) - rdf (~> 3.1) - rdf-xsd (3.1.1) - rdf (~> 3.1) + rdf (~> 3.2) + rdf-rdfa (~> 3.2) + rdf-xsd (~> 3.2) + rdf-turtle (3.2.1) + ebnf (~> 2.3) + rdf (~> 3.2) + rdf-vocab (3.2.3) + rdf (~> 3.2, >= 3.2.4) + rdf-xsd (3.2.1) + rdf (~> 3.2) rexml (~> 3.2) - react-rails (2.6.1) + react-rails (2.6.2) babel-transpiler (>= 0.7.0) connection_pool execjs railties (>= 3.2) tilt - recaptcha (5.8.1) + recaptcha (5.12.3) json - redis (4.6.0) + redis (4.8.1) redis-actionpack (5.3.0) actionpack (>= 5, < 8) redis-rack (>= 2.1.0, < 3) @@ -748,18 +763,18 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.9.1) redis (>= 4, < 5) - redlock (1.2.2) - redis (>= 3.0.0, < 5.0) - regexp_parser (2.2.1) + redlock (1.3.2) + redis (>= 3.0.0, < 6.0) + regexp_parser (2.7.0) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) request_store (1.5.1) rack (>= 1.4) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.0) + actionpack (>= 5.2) + railties (>= 5.2) rest-client (2.1.0) http-accept (>= 1.7.0, < 2.0) http-cookie (>= 1.0.2, < 2.0) @@ -767,71 +782,73 @@ GEM netrc (~> 0.8) retriable (3.1.2) rexml (3.2.5) - roo (2.8.3) + roo (2.10.0) nokogiri (~> 1) rubyzip (>= 1.3.0, < 3.0.0) rsolr (2.5.0) builder (>= 2.1.2) faraday (>= 0.9, < 3, != 2.0.0) - rspec-core (3.11.0) - rspec-support (~> 3.11.0) - rspec-expectations (3.11.0) + rspec-core (3.12.1) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) + rspec-support (~> 3.12.0) rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.11.0) + rspec-mocks (3.12.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.11.0) - rspec-rails (5.1.0) - actionpack (>= 5.2) - activesupport (>= 5.2) - railties (>= 5.2) - rspec-core (~> 3.10) - rspec-expectations (~> 3.10) - rspec-mocks (~> 3.10) - rspec-support (~> 3.10) + rspec-support (~> 3.12.0) + rspec-rails (6.0.1) + actionpack (>= 6.1) + activesupport (>= 6.1) + railties (>= 6.1) + rspec-core (~> 3.11) + rspec-expectations (~> 3.11) + rspec-mocks (~> 3.11) + rspec-support (~> 3.11) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.11.0) - rspec_junit_formatter (0.5.1) + rspec-support (3.12.0) + rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (0.85.1) + rubocop (1.28.2) parallel (~> 1.10) - parser (>= 2.7.0.1) + parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.7) + regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 0.0.3) + rubocop-ast (>= 1.17.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (0.3.0) - parser (>= 2.7.1.4) - rubocop-performance (1.7.1) - rubocop (>= 0.82.0) - rubocop-rails (2.6.0) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.24.1) + parser (>= 3.1.1.0) + rubocop-performance (1.16.0) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rails (2.15.2) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 0.82.0) - rubocop-rspec (1.41.0) - rubocop (>= 0.68.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-rspec (2.11.1) + rubocop (~> 1.19) ruby-box (1.15.0) addressable json multipart-post oauth2 - ruby-progressbar (1.11.0) - ruby-saml (1.14.0) - nokogiri (>= 1.10.5) + ruby-progressbar (1.13.0) + ruby-saml (1.15.0) + nokogiri (>= 1.13.10) rexml + ruby2_keywords (0.0.5) rubyzip (1.3.0) - samvera-persona (0.3.0) + samvera-persona (0.4.1) devise (~> 4.6) devise_invitable (>= 1.7, < 3.0) paranoia (~> 2.2) pretender - rails (>= 5.2.4.3, < 6.1) + rails (>= 5.2.4.3, < 7.1) sass (3.4.22) sassc (2.4.0) ffi (~> 1.9) @@ -847,29 +864,32 @@ GEM childprocess (>= 0.5, < 4.0) rubyzip (>= 1.2.2) semantic_range (3.0.0) - shoulda-matchers (5.1.0) + shoulda-matchers (5.3.0) activesupport (>= 5.2.0) - sidekiq (6.4.1) - connection_pool (>= 2.2.2) + sidekiq (6.5.8) + connection_pool (>= 2.2.5, < 3) rack (~> 2.0) - redis (>= 4.2.0) + redis (>= 4.5.0, < 5) + sidekiq-cron (1.9.1) + fugit (~> 1.8) + sidekiq (>= 4.2.1) signet (0.17.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simplecov (0.21.2) + simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - slop (4.9.3) - solr_wrapper (3.1.2) + slop (4.10.1) + solr_wrapper (4.0.2) http + minitar retriable ruby-progressbar - rubyzip solrizer (3.4.1) activesupport daemons @@ -890,8 +910,9 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.4.2) - sshkit (1.21.2) + sqlite3 (1.6.0) + mini_portile2 (~> 2.8.0) + sshkit (1.21.3) net-scp (>= 1.1.2) net-ssh (>= 2.8.0) stomp (1.4.10) @@ -899,13 +920,13 @@ GEM dalli msgpack redis - sxp (1.1.0) - rdf (~> 3.1) - temple (0.8.2) + sxp (1.2.3) + matrix (~> 0.4) + rdf (~> 3.2) + temple (0.10.0) thor (1.2.1) - thread_safe (0.3.6) - tilt (2.0.10) - timeout (0.3.1) + tilt (2.0.11) + timeout (0.3.2) trailblazer-option (0.1.2) twitter-typeahead-rails (0.11.1.pre.corejavascript) actionpack (>= 3.1) @@ -913,19 +934,20 @@ GEM railties (>= 3.1) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uber (0.0.15) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext - unf_ext (0.0.8) - unicode-display_width (1.8.0) + unf_ext (0.0.8.2) + unicode-display_width (2.4.2) unicode-types (1.8.0) - user_agent_parser (2.9.0) - view_component (2.58.0) - activesupport (>= 5.0.0, < 8.0) + user_agent_parser (2.14.0) + view_component (2.82.0) + activesupport (>= 5.2.0, < 8.0) + concurrent-ruby (~> 1.0) method_source (~> 1.0) warden (1.2.9) rack (>= 2.0.9) @@ -939,16 +961,16 @@ GEM nokogiri (~> 1.6) rubyzip (~> 1.0) selenium-webdriver (~> 3.0) - webmock (3.5.1) - addressable (>= 2.3.6) + webmock (3.18.1) + addressable (>= 2.8.0) crack (>= 0.3.2) - hashdiff - webpacker (5.4.3) + hashdiff (>= 0.4.0, < 2.0.0) + webpacker (5.4.4) activesupport (>= 5.2) rack-proxy (>= 0.6.1) railties (>= 5.2) semantic_range (>= 2.3.0) - webrick (1.7.0) + webrick (1.8.1) websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -957,12 +979,10 @@ GEM rexml xpath (3.2.0) nokogiri (~> 1.8) - xray-rails (0.3.2) - rails (>= 3.1.0) - zeitwerk (2.6.6) + zeitwerk (2.6.7) zk (1.10.0) zookeeper (~> 1.5.0) - zookeeper (1.5.1) + zookeeper (1.5.5) zoom (0.5.0) PLATFORMS @@ -970,11 +990,11 @@ PLATFORMS DEPENDENCIES about_page! - active-fedora (~> 13.2, >= 13.2.5) + active-fedora (~> 14.0, >= 14.0.1) active_annotations (~> 0.4) active_elastic_job - active_encode (~> 1.0, >= 1.1.2) - active_fedora-datastreams (~> 0.4) + active_encode (~> 1.0, >= 1.1.3) + active_fedora-datastreams (~> 0.5) activejob-traffic_control activejob-uniqueness activerecord-session_store (>= 2.0.0) @@ -1015,7 +1035,7 @@ DEPENDENCIES devise (~> 4.8) devise_invitable (~> 2.0) dotenv-rails - edtf + edtf (>= 3.1.1) email_spec equivalent-xml factory_bot_rails @@ -1029,13 +1049,13 @@ DEPENDENCIES hooks hydra-head (~> 12.0) iconv (~> 1.0.6) - iiif_manifest (~> 0.6) + iiif_manifest (~> 1.3) ims-lti (~> 1.1.13) jbuilder (~> 2.0) jquery-datatables jquery-rails jquery-ui-rails - ldp (~> 1.0.3) + ldp (~> 1.1.0) listen lograge mail (> 2.8.0.1) @@ -1044,8 +1064,10 @@ DEPENDENCIES mediainfo! mysql2 net-ldap - noid-rails (~> 3.0.1) + net-smtp + noid-rails (~> 3.1) okcomputer + om! omniauth (~> 2.0) omniauth-identity (>= 2.0.0) omniauth-lti! @@ -1054,15 +1076,15 @@ DEPENDENCIES pg pry-byebug pry-rails + psych (< 4) puma (>= 4.3.8) rack-cors - rails (= 6.0.6.1) + rails (= 7.0.4.3) rails-controller-testing rails_same_site_cookie rb-readline rdf (~> 3.1) rdf-rdfxml - rdf-vocab (< 3.1.5) react-rails recaptcha redis-rails @@ -1073,12 +1095,12 @@ DEPENDENCIES rspec-rails rspec-retry rspec_junit_formatter - samvera-persona (~> 0.3) + samvera-persona (~> 0.4, >= 0.4.1) sass (= 3.4.22) selenium-webdriver shoulda-matchers sidekiq (~> 6.2) - sidekiq-cron (~> 1.2)! + sidekiq-cron (~> 1.9) simplecov solr_wrapper (>= 0.16) speedy-af (~> 0.3) @@ -1090,10 +1112,9 @@ DEPENDENCIES wavefile (~> 1.0.1) web-console webdrivers (~> 3.0) - webmock (~> 3.5.1) + webmock (~> 3.5) webpacker with_locking - xray-rails zk zoom diff --git a/LICENSE_HEADER b/LICENSE_HEADER new file mode 100644 index 0000000000..2cc4fd3914 --- /dev/null +++ b/LICENSE_HEADER @@ -0,0 +1,12 @@ +Copyright 2011-2023, The Trustees of Indiana University and Northwestern + University. Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + CONDITIONS OF ANY KIND, either express or implied. See the License for the + specific language governing permissions and limitations under the License. diff --git a/app/assets/javascripts/access_control_step.js.coffee b/app/assets/javascripts/access_control_step.js.coffee index 63b6e00850..7bfe9a1b84 100644 --- a/app/assets/javascripts/access_control_step.js.coffee +++ b/app/assets/javascripts/access_control_step.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/android_pre_play.js b/app/assets/javascripts/android_pre_play.js index b1f778a6ce..8184cd7a05 100644 --- a/app/assets/javascripts/android_pre_play.js +++ b/app/assets/javascripts/android_pre_play.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index e7c61499ea..fd14f3b7ee 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/autocomplete.js.coffee b/app/assets/javascripts/autocomplete.js.coffee index 335f23a4f2..8156236b8b 100644 --- a/app/assets/javascripts/autocomplete.js.coffee +++ b/app/assets/javascripts/autocomplete.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/avalon.js b/app/assets/javascripts/avalon.js index f6e4a42b5d..0185f4bd44 100644 --- a/app/assets/javascripts/avalon.js +++ b/app/assets/javascripts/avalon.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/avalon_playlists/playlist_items.js b/app/assets/javascripts/avalon_playlists/playlist_items.js index 70788703b7..7737980863 100644 --- a/app/assets/javascripts/avalon_playlists/playlist_items.js +++ b/app/assets/javascripts/avalon_playlists/playlist_items.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/avalon_playlists/playlists.js.coffee b/app/assets/javascripts/avalon_playlists/playlists.js.coffee index a191c0eba4..9789d1dcc0 100644 --- a/app/assets/javascripts/avalon_playlists/playlists.js.coffee +++ b/app/assets/javascripts/avalon_playlists/playlists.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/avalon_progress.js.coffee b/app/assets/javascripts/avalon_progress.js.coffee index 221ab7bbfe..3e5cb9efe1 100644 --- a/app/assets/javascripts/avalon_progress.js.coffee +++ b/app/assets/javascripts/avalon_progress.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/avalon_timelines/timelines.js.coffee b/app/assets/javascripts/avalon_timelines/timelines.js.coffee index c9d9bf0c43..870ea53faa 100644 --- a/app/assets/javascripts/avalon_timelines/timelines.js.coffee +++ b/app/assets/javascripts/avalon_timelines/timelines.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/blacklight/facet_load.js b/app/assets/javascripts/blacklight/facet_load.js index 235207bde3..bc69b6ff80 100644 --- a/app/assets/javascripts/blacklight/facet_load.js +++ b/app/assets/javascripts/blacklight/facet_load.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/button_confirmation.js.coffee b/app/assets/javascripts/button_confirmation.js.coffee index 000799c0f5..2d5b636bbe 100644 --- a/app/assets/javascripts/button_confirmation.js.coffee +++ b/app/assets/javascripts/button_confirmation.js.coffee @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/assets/javascripts/crop_upload.js b/app/assets/javascripts/crop_upload.js index 0be07e7e7c..a690c2279e 100644 --- a/app/assets/javascripts/crop_upload.js +++ b/app/assets/javascripts/crop_upload.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/datatables.js b/app/assets/javascripts/datatables.js index f310316b54..938410976f 100644 --- a/app/assets/javascripts/datatables.js +++ b/app/assets/javascripts/datatables.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/direct_upload.js.coffee b/app/assets/javascripts/direct_upload.js.coffee index 53ff54cd0f..10ec9d9df8 100644 --- a/app/assets/javascripts/direct_upload.js.coffee +++ b/app/assets/javascripts/direct_upload.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/display_returned_items.js b/app/assets/javascripts/display_returned_items.js index 8429370505..c61e734670 100644 --- a/app/assets/javascripts/display_returned_items.js +++ b/app/assets/javascripts/display_returned_items.js @@ -1,12 +1,12 @@ -/* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern +/* + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. - * + * * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software distributed * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/assets/javascripts/dynamic_fields.js.coffee b/app/assets/javascripts/dynamic_fields.js.coffee index fb0d4c802b..0e65682b9b 100644 --- a/app/assets/javascripts/dynamic_fields.js.coffee +++ b/app/assets/javascripts/dynamic_fields.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/expand_filename.js b/app/assets/javascripts/expand_filename.js index 34b030da1d..bc533f37a1 100644 --- a/app/assets/javascripts/expand_filename.js +++ b/app/assets/javascripts/expand_filename.js @@ -1,3 +1,19 @@ +/* + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern + * University. Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * --- END LICENSE_HEADER BLOCK --- +*/ + function expandFilename(id) { var trunc = document.getElementById("truncated_" + id); var full = document.getElementById("full_" + id); diff --git a/app/assets/javascripts/file_browse.js.coffee b/app/assets/javascripts/file_browse.js.coffee index c1f3d41537..487a09f7bd 100644 --- a/app/assets/javascripts/file_browse.js.coffee +++ b/app/assets/javascripts/file_browse.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/file_upload_step.js.coffee b/app/assets/javascripts/file_upload_step.js.coffee index 563397b417..f72b32eeaa 100644 --- a/app/assets/javascripts/file_upload_step.js.coffee +++ b/app/assets/javascripts/file_upload_step.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/fix_console.js b/app/assets/javascripts/fix_console.js index 17774ffa30..9b1060dea5 100644 --- a/app/assets/javascripts/fix_console.js +++ b/app/assets/javascripts/fix_console.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/hydra/hydra-head.js b/app/assets/javascripts/hydra/hydra-head.js index 874da114f8..994087a1fa 100644 --- a/app/assets/javascripts/hydra/hydra-head.js +++ b/app/assets/javascripts/hydra/hydra-head.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/import_button.js.coffee b/app/assets/javascripts/import_button.js.coffee index cb66abe417..f77c985c5f 100644 --- a/app/assets/javascripts/import_button.js.coffee +++ b/app/assets/javascripts/import_button.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/input_form_attribute_support.js.coffee b/app/assets/javascripts/input_form_attribute_support.js.coffee index 02f25380d8..759a414b67 100644 --- a/app/assets/javascripts/input_form_attribute_support.js.coffee +++ b/app/assets/javascripts/input_form_attribute_support.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/intercom_push.js b/app/assets/javascripts/intercom_push.js index 4090d19da3..be8eb9d68a 100644 --- a/app/assets/javascripts/intercom_push.js +++ b/app/assets/javascripts/intercom_push.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/localize_times.js b/app/assets/javascripts/localize_times.js index 0c29368d66..9c536ff61d 100644 --- a/app/assets/javascripts/localize_times.js +++ b/app/assets/javascripts/localize_times.js @@ -1,3 +1,19 @@ +/* + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern + * University. Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * --- END LICENSE_HEADER BLOCK --- +*/ + // Requires moment.js function localize_times() { $('*[data-utc-time]').each(function() { diff --git a/app/assets/javascripts/media_player_wrapper/avalon_player_new.es6 b/app/assets/javascripts/media_player_wrapper/avalon_player_new.es6 index 12765c2587..5615aa5a9e 100644 --- a/app/assets/javascripts/media_player_wrapper/avalon_player_new.es6 +++ b/app/assets/javascripts/media_player_wrapper/avalon_player_new.es6 @@ -280,7 +280,7 @@ class MEJSPlayer { ); // Build playlists button from the new stream when not in playlists - if(!playlistItemsT) { + if(!playlistItemsT && !this.mejsUtility.isMobile()) { this.player.options.playlistItemDefaultTitle = this.currentStreamInfo.embed_title; this.player.buildaddToPlaylist(this.player, null, null, null); } @@ -290,11 +290,20 @@ class MEJSPlayer { this.player.buildplaylistItems(this.player, null, null, this.mediaElement); } - // Set defaultQuality in player options before building the quality feature - this.player.options.defaultQuality = this.localStorage.getItem('quality'); + // Quality selector is turned off in mobile devices + if(!mejs.Features.isAndroid) { + // Set defaultQuality in player options before building the quality feature + this.player.options.defaultQuality = this.localStorage.getItem('quality'); - // Build quality - this.player.buildquality(this.player, null, null, this.mediaElement); + // Build quality + this.player.buildquality(this.player, null, null, this.mediaElement); + } else { + // Set current source in absence of the quality selection + let currentSource = this.currentStreamInfo.stream_hls + .filter(src => src.quality === this.player.options.defaultQuality)[0]; + + this.player.setSrc(currentSource.url); + } // Set startVolume in options from the current mediaelement instance this.player.options.startVolume = this.mediaElement.volume; @@ -314,8 +323,15 @@ class MEJSPlayer { */ reInitializeCaptions() { if (this.currentStreamInfo.captions_path) { - // Place tracks button after volume button when tracks are available - this.player.featurePosition.tracks = this.player.featurePosition.volume + 1; + // Place tracks button + if(this.mejsUtility.isMobile()) { + // after trackScrubber button in mobile devices + this.player.featurePosition.tracks = this.player.featurePosition.trackScrubber + 1; + } else { + // after volume button in desktop devices + this.player.featurePosition.tracks = this.player.featurePosition.volume + 1; + } + this.player.buildtracks(this.player, null, this.player.layers, this.mediaElement); // Turn on captions this.toggleCaptions(); @@ -399,9 +415,17 @@ class MEJSPlayer { this.mejsUtility.showControlsBriefly(this.player); // Fix for paused seeking halt when using structure navigation // by forcing timeupdate event to fire with a quick and pause - if(this.mediaElement.paused) { - this.mediaElement.play(); - this.mediaElement.pause(); + if(this.mediaElement.paused && this.mediaElement) { + /** Reference: https://developer.chrome.com/blog/play-request-was-interrupted/ */ + let playPromise = this.mediaElement.play(); + if(playPromise !== undefined) { + playPromise.then(_ => { + this.mediaElement.pause(); + }) + .catch(error => { + console.log('Media player error: ', error); + }) + } } } @@ -446,7 +470,7 @@ class MEJSPlayer { * @return {void} */ handleError(error, mediaElement, originalNode) { - console.log('MEJS CREATE ERROR: ' + error); + console.log('MEJS ERROR: ' + error); } /** * MediaElement render success callback function diff --git a/app/assets/javascripts/media_player_wrapper/mejs4_helper_utility.es6 b/app/assets/javascripts/media_player_wrapper/mejs4_helper_utility.es6 index ecbfbb4abc..dfba22c634 100644 --- a/app/assets/javascripts/media_player_wrapper/mejs4_helper_utility.es6 +++ b/app/assets/javascripts/media_player_wrapper/mejs4_helper_utility.es6 @@ -30,8 +30,8 @@ class MEJSUtility { node = document.createElement('video'); node.setAttribute('id', 'mejs-avalon-player'); node.setAttribute('controls', ''); - node.setAttribute('width', '450'); - node.setAttribute('height', '309'); + node.setAttribute('width', '480'); + node.setAttribute('height', '270'); node.setAttribute('style', 'width: 100%; height: 100%'); if (currentStreamInfo.poster_image) { node.setAttribute('poster', currentStreamInfo.poster_image); diff --git a/app/assets/javascripts/mejs4_player.js b/app/assets/javascripts/mejs4_player.js index 8a4e8e0c4b..1e0af929f9 100644 --- a/app/assets/javascripts/mejs4_player.js +++ b/app/assets/javascripts/mejs4_player.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/modernizr.js b/app/assets/javascripts/modernizr.js index d06352eea2..9f880da1b5 100644 --- a/app/assets/javascripts/modernizr.js +++ b/app/assets/javascripts/modernizr.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/move_section.js b/app/assets/javascripts/move_section.js index 3cd0f4cf4d..fd46be6ea2 100644 --- a/app/assets/javascripts/move_section.js +++ b/app/assets/javascripts/move_section.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/pop_help.js.coffee b/app/assets/javascripts/pop_help.js.coffee index 61194c71e8..2ba2843712 100644 --- a/app/assets/javascripts/pop_help.js.coffee +++ b/app/assets/javascripts/pop_help.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/popovers_and_tooltips.js.coffee b/app/assets/javascripts/popovers_and_tooltips.js.coffee index 3f0da261d5..2b63b12576 100644 --- a/app/assets/javascripts/popovers_and_tooltips.js.coffee +++ b/app/assets/javascripts/popovers_and_tooltips.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/refresh_token.js.coffee b/app/assets/javascripts/refresh_token.js.coffee index a170b39bfd..55c856890c 100644 --- a/app/assets/javascripts/refresh_token.js.coffee +++ b/app/assets/javascripts/refresh_token.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/select_all.js.coffee b/app/assets/javascripts/select_all.js.coffee index 39adee1d60..ff51dccfc1 100644 --- a/app/assets/javascripts/select_all.js.coffee +++ b/app/assets/javascripts/select_all.js.coffee @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/assets/javascripts/sessions_new.js b/app/assets/javascripts/sessions_new.js index ed64bc99b5..96362ab846 100644 --- a/app/assets/javascripts/sessions_new.js +++ b/app/assets/javascripts/sessions_new.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/sort_streams.js b/app/assets/javascripts/sort_streams.js index c127fbc030..f27ea04ed0 100644 --- a/app/assets/javascripts/sort_streams.js +++ b/app/assets/javascripts/sort_streams.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/javascripts/supplemental_files.js b/app/assets/javascripts/supplemental_files.js index 9c4e8649cf..15b85618c2 100644 --- a/app/assets/javascripts/supplemental_files.js +++ b/app/assets/javascripts/supplemental_files.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/admin.scss b/app/assets/stylesheets/admin.scss index 16ce02f29e..bbe0d96bc3 100644 --- a/app/assets/stylesheets/admin.scss +++ b/app/assets/stylesheets/admin.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 468835f204..3cbebfb9fb 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon.scss b/app/assets/stylesheets/avalon.scss index 866af83572..1d8065e434 100644 --- a/app/assets/stylesheets/avalon.scss +++ b/app/assets/stylesheets/avalon.scss @@ -1,12 +1,12 @@ -/* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern +/* + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. - * + * * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software distributed * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/assets/stylesheets/avalon/_accordions.scss b/app/assets/stylesheets/avalon/_accordions.scss index f9ed637cd0..fa051441e6 100644 --- a/app/assets/stylesheets/avalon/_accordions.scss +++ b/app/assets/stylesheets/avalon/_accordions.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_buttons.scss b/app/assets/stylesheets/avalon/_buttons.scss index 9ff8d7c324..8b5f023328 100644 --- a/app/assets/stylesheets/avalon/_buttons.scss +++ b/app/assets/stylesheets/avalon/_buttons.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_collections.scss b/app/assets/stylesheets/avalon/_collections.scss index e08c8b3ae5..a8cb27ff35 100644 --- a/app/assets/stylesheets/avalon/_collections.scss +++ b/app/assets/stylesheets/avalon/_collections.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_facets.scss b/app/assets/stylesheets/avalon/_facets.scss index 5fa32bd2ff..3c54b2b0ca 100644 --- a/app/assets/stylesheets/avalon/_facets.scss +++ b/app/assets/stylesheets/avalon/_facets.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_footer.scss b/app/assets/stylesheets/avalon/_footer.scss index bcf5223bc0..bd0ffd66ad 100644 --- a/app/assets/stylesheets/avalon/_footer.scss +++ b/app/assets/stylesheets/avalon/_footer.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_form.scss b/app/assets/stylesheets/avalon/_form.scss index fc04d4ddb4..bceb1e904a 100644 --- a/app/assets/stylesheets/avalon/_form.scss +++ b/app/assets/stylesheets/avalon/_form.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_header.scss b/app/assets/stylesheets/avalon/_header.scss index 9c0debc58d..cc96774e2b 100644 --- a/app/assets/stylesheets/avalon/_header.scss +++ b/app/assets/stylesheets/avalon/_header.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_homepage.scss b/app/assets/stylesheets/avalon/_homepage.scss index 7a5fde7623..18c19c461b 100644 --- a/app/assets/stylesheets/avalon/_homepage.scss +++ b/app/assets/stylesheets/avalon/_homepage.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_loading-spinner.scss b/app/assets/stylesheets/avalon/_loading-spinner.scss index f43f491800..e622baab40 100644 --- a/app/assets/stylesheets/avalon/_loading-spinner.scss +++ b/app/assets/stylesheets/avalon/_loading-spinner.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_mediaelement.scss b/app/assets/stylesheets/avalon/_mediaelement.scss index 56142c611c..10f2746708 100644 --- a/app/assets/stylesheets/avalon/_mediaelement.scss +++ b/app/assets/stylesheets/avalon/_mediaelement.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_mixins.scss b/app/assets/stylesheets/avalon/_mixins.scss index 003c715ccf..05ca330b57 100644 --- a/app/assets/stylesheets/avalon/_mixins.scss +++ b/app/assets/stylesheets/avalon/_mixins.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_modals.scss b/app/assets/stylesheets/avalon/_modals.scss index 019acffa77..e3bff37b8d 100644 --- a/app/assets/stylesheets/avalon/_modals.scss +++ b/app/assets/stylesheets/avalon/_modals.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_nav.scss b/app/assets/stylesheets/avalon/_nav.scss index b3aeb97bf0..a2b0781000 100644 --- a/app/assets/stylesheets/avalon/_nav.scss +++ b/app/assets/stylesheets/avalon/_nav.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_playlists.scss b/app/assets/stylesheets/avalon/_playlists.scss index ad31850c6d..4af16d6c4b 100644 --- a/app/assets/stylesheets/avalon/_playlists.scss +++ b/app/assets/stylesheets/avalon/_playlists.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/avalon/_timeliner.scss b/app/assets/stylesheets/avalon/_timeliner.scss index e8671953e7..467783e289 100644 --- a/app/assets/stylesheets/avalon/_timeliner.scss +++ b/app/assets/stylesheets/avalon/_timeliner.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/blacklight.scss b/app/assets/stylesheets/blacklight.scss index 63f4664185..7c1f1c94ca 100644 --- a/app/assets/stylesheets/blacklight.scss +++ b/app/assets/stylesheets/blacklight.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * @@ -22,6 +22,10 @@ max-width: 160px; } +.no-icon img, img.no-icon { + max-height: 90px; +} + .btn-outline-primary { @extend .btn-sm; @extend .btn-outline; diff --git a/app/assets/stylesheets/blacklight_themes/avalon.scss b/app/assets/stylesheets/blacklight_themes/avalon.scss index be04b58449..16d2486475 100644 --- a/app/assets/stylesheets/blacklight_themes/avalon.scss +++ b/app/assets/stylesheets/blacklight_themes/avalon.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/branding.scss b/app/assets/stylesheets/branding.scss index 50615f9747..48aa39c5fb 100644 --- a/app/assets/stylesheets/branding.scss +++ b/app/assets/stylesheets/branding.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/datatables.scss b/app/assets/stylesheets/datatables.scss index 8748faac3b..78e70fe510 100644 --- a/app/assets/stylesheets/datatables.scss +++ b/app/assets/stylesheets/datatables.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/embed.scss b/app/assets/stylesheets/embed.scss index ac44f3c2eb..ee305b6052 100644 --- a/app/assets/stylesheets/embed.scss +++ b/app/assets/stylesheets/embed.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4/mediaelement-common-styles.scss b/app/assets/stylesheets/mejs4/mediaelement-common-styles.scss index 5b6c1978ec..6756a26013 100644 --- a/app/assets/stylesheets/mejs4/mediaelement-common-styles.scss +++ b/app/assets/stylesheets/mejs4/mediaelement-common-styles.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4/mejs4_link_back.scss b/app/assets/stylesheets/mejs4/mejs4_link_back.scss index 89b95b54f7..214a8fa107 100644 --- a/app/assets/stylesheets/mejs4/mejs4_link_back.scss +++ b/app/assets/stylesheets/mejs4/mejs4_link_back.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4/mejs4_plugin_add_marker_to_playlist.scss b/app/assets/stylesheets/mejs4/mejs4_plugin_add_marker_to_playlist.scss index 1c9628e100..33ecbc7fe7 100644 --- a/app/assets/stylesheets/mejs4/mejs4_plugin_add_marker_to_playlist.scss +++ b/app/assets/stylesheets/mejs4/mejs4_plugin_add_marker_to_playlist.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4/mejs4_plugin_add_to_playlist.scss b/app/assets/stylesheets/mejs4/mejs4_plugin_add_to_playlist.scss index 302b2751c5..e6e4ef297b 100644 --- a/app/assets/stylesheets/mejs4/mejs4_plugin_add_to_playlist.scss +++ b/app/assets/stylesheets/mejs4/mejs4_plugin_add_to_playlist.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4/mejs4_plugin_create_thumbnail.scss b/app/assets/stylesheets/mejs4/mejs4_plugin_create_thumbnail.scss index e17bb0d77d..2cbd156faa 100644 --- a/app/assets/stylesheets/mejs4/mejs4_plugin_create_thumbnail.scss +++ b/app/assets/stylesheets/mejs4/mejs4_plugin_create_thumbnail.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4/mejs4_plugin_track_scrubber.scss b/app/assets/stylesheets/mejs4/mejs4_plugin_track_scrubber.scss index 5251da7017..4382d00cd4 100644 --- a/app/assets/stylesheets/mejs4/mejs4_plugin_track_scrubber.scss +++ b/app/assets/stylesheets/mejs4/mejs4_plugin_track_scrubber.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/mejs4_player.scss b/app/assets/stylesheets/mejs4_player.scss index a9bfee44df..8553854e9e 100644 --- a/app/assets/stylesheets/mejs4_player.scss +++ b/app/assets/stylesheets/mejs4_player.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/assets/stylesheets/nestable.scss b/app/assets/stylesheets/nestable.scss index 0de8913c26..3b032b69d5 100644 --- a/app/assets/stylesheets/nestable.scss +++ b/app/assets/stylesheets/nestable.scss @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/controllers/admin/collections_controller.rb b/app/controllers/admin/collections_controller.rb index f7ab5d33ab..d62870d2a5 100644 --- a/app/controllers/admin/collections_controller.rb +++ b/app/controllers/admin/collections_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/controllers/admin/groups_controller.rb b/app/controllers/admin/groups_controller.rb index b72e6e830f..35f2064c3b 100644 --- a/app/controllers/admin/groups_controller.rb +++ b/app/controllers/admin/groups_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e66b002e46..7077cd790f 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the @@ -30,7 +30,7 @@ class ApplicationController < ActionController::Base helper_method :render_bookmarks_control? around_action :handle_api_request, if: proc{|c| request.format.json? || request.format.atom? } - before_action :rewrite_v4_ids, if: proc{|c| request.method_symbol == :get && [params[:id], params[:content]].compact.any? { |i| i =~ /^[a-z]+:[0-9]+$/}} + before_action :rewrite_v4_ids, if: proc{|c| request.method_symbol == :get && [params[:id], params[:content]].flatten.compact.any? { |i| i =~ /^[a-z]+:[0-9]+$/}} before_action :set_no_cache_headers, if: proc{|c| request.xhr? } prepend_before_action :remove_zero_width_chars diff --git a/app/controllers/auth_forms_controller.rb b/app/controllers/auth_forms_controller.rb index 21247d65a6..267715ac2d 100644 --- a/app/controllers/auth_forms_controller.rb +++ b/app/controllers/auth_forms_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/avalon_marker_controller.rb b/app/controllers/avalon_marker_controller.rb index 9ea235e00c..43e4f2987e 100644 --- a/app/controllers/avalon_marker_controller.rb +++ b/app/controllers/avalon_marker_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/bookmarks_controller.rb b/app/controllers/bookmarks_controller.rb index 8d0416a948..c08fca68d3 100644 --- a/app/controllers/bookmarks_controller.rb +++ b/app/controllers/bookmarks_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index 09d201ad65..5d07e6c0d0 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/checkouts_controller.rb b/app/controllers/checkouts_controller.rb index 0b0863ae8a..59e0a208a8 100644 --- a/app/controllers/checkouts_controller.rb +++ b/app/controllers/checkouts_controller.rb @@ -1,3 +1,17 @@ +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern +# University. Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed +# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +# CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# --- END LICENSE_HEADER BLOCK --- + class CheckoutsController < ApplicationController before_action :set_checkout, only: %i[show update destroy] before_action :set_checkouts, only: %i[index return_all] diff --git a/app/controllers/collections_controller.rb b/app/controllers/collections_controller.rb index 863ffb3cfe..e601a8c48f 100644 --- a/app/controllers/collections_controller.rb +++ b/app/controllers/collections_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 7bd7b380e1..3967d7ce41 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/controllers/concerns/blacklight_helper_reload_fix.rb b/app/controllers/concerns/blacklight_helper_reload_fix.rb index e4240e33cf..88fea03b08 100644 --- a/app/controllers/concerns/blacklight_helper_reload_fix.rb +++ b/app/controllers/concerns/blacklight_helper_reload_fix.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/concerns/conditional_partials.rb b/app/controllers/concerns/conditional_partials.rb index f4a585ae11..2e6e4f7e96 100644 --- a/app/controllers/concerns/conditional_partials.rb +++ b/app/controllers/concerns/conditional_partials.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/derivatives_controller.rb b/app/controllers/derivatives_controller.rb index e2e8a6932d..81c77963c5 100644 --- a/app/controllers/derivatives_controller.rb +++ b/app/controllers/derivatives_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/controllers/dropbox_controller.rb b/app/controllers/dropbox_controller.rb index da46417062..f28b24fa04 100644 --- a/app/controllers/dropbox_controller.rb +++ b/app/controllers/dropbox_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/encode_records_controller.rb b/app/controllers/encode_records_controller.rb index cf45d291c1..e860175e3d 100644 --- a/app/controllers/encode_records_controller.rb +++ b/app/controllers/encode_records_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # @@ -59,7 +59,7 @@ def paged_index # Sort sort_column = columns[params['order']['0']['column'].to_i] sort_direction = params['order']['0']['dir'] == 'desc' ? 'desc' : 'asc' - @encode_records = @encode_records.order("lower(CAST(#{sort_column} as char)) #{sort_direction}, #{sort_column} #{sort_direction}") + @encode_records = @encode_records.order(Arel.sql("lower(CAST(#{sort_column} as char)) #{sort_direction}, #{sort_column} #{sort_direction}")) # Paginate page_num = (params['start'].to_i / params['length'].to_i).floor + 1 diff --git a/app/controllers/master_files_controller.rb b/app/controllers/master_files_controller.rb index 98854b85c4..d16f661c7f 100644 --- a/app/controllers/master_files_controller.rb +++ b/app/controllers/master_files_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the @@ -325,6 +325,10 @@ def hls_manifest end end + def caption_manifest + return head :unauthorized if cannot?(:read, @master_file) + end + def structure authorize! :read, @master_file, message: "You do not have sufficient privileges" render json: @master_file.structuralMetadata.as_json diff --git a/app/controllers/media_objects_controller.rb b/app/controllers/media_objects_controller.rb index d4f3f4f105..04bfc4669f 100644 --- a/app/controllers/media_objects_controller.rb +++ b/app/controllers/media_objects_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the @@ -173,14 +173,17 @@ def json_update end def update_media_object - begin - collection = Admin::Collection.find(api_params[:collection_id]) - rescue ActiveFedora::ObjectNotFoundError - render json: { errors: ["Collection not found for #{api_params[:collection_id]}"] }, status: 422 - return + if (api_params[:collection_id].present?) + begin + collection = Admin::Collection.find(api_params[:collection_id]) + rescue ActiveFedora::ObjectNotFoundError + render json: { errors: ["Collection not found for #{api_params[:collection_id]}"] }, status: 422 + return + end + + @media_object.collection = collection end - @media_object.collection = collection @media_object.avalon_uploader = 'REST API' populate_from_catalog = (!!api_params[:import_bib_record] && media_object_parameters[:bibliographic_id].present?) @@ -197,9 +200,9 @@ def update_media_object bib_source = media_object_parameters.dig(:bibliographic_id, :source) || '' logger.warn "Failed bib import using bibID #{bib_id}, #{bib_source}" ensure - if !@media_object.valid? + unless @media_object.valid? # Fall back to MODS as sent if Bib Import fails - @media_object.update_attributes(media_object_parameters.slice(*@media_object.errors.keys)) if params.has_key?(:fields) and params[:fields].respond_to?(:has_key?) + @media_object.update_attributes(media_object_parameters.slice(*@media_object.errors.attribute_names)) if params.has_key?(:fields) and params[:fields].respond_to?(:has_key?) end end else @@ -208,7 +211,7 @@ def update_media_object error_messages = [] unless @media_object.valid? - invalid_fields = @media_object.errors.keys + invalid_fields = @media_object.errors.attribute_names required_fields = [:title, :date_issued] unless required_fields.any? { |f| invalid_fields.include? f } invalid_fields.each do |field| diff --git a/app/controllers/objects_controller.rb b/app/controllers/objects_controller.rb index d418a19f09..b7184aeb8b 100644 --- a/app/controllers/objects_controller.rb +++ b/app/controllers/objects_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/playlist_items_controller.rb b/app/controllers/playlist_items_controller.rb index 7be5d99900..01fa2a9059 100644 --- a/app/controllers/playlist_items_controller.rb +++ b/app/controllers/playlist_items_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/playlists_controller.rb b/app/controllers/playlists_controller.rb index 6e1215d70f..31faa1ecc6 100644 --- a/app/controllers/playlists_controller.rb +++ b/app/controllers/playlists_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/controllers/samvera/persona/users_controller.rb b/app/controllers/samvera/persona/users_controller.rb index 64fc6b2889..3c890ad90a 100644 --- a/app/controllers/samvera/persona/users_controller.rb +++ b/app/controllers/samvera/persona/users_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/controllers/supplemental_files_controller.rb b/app/controllers/supplemental_files_controller.rb index 17c516f169..a8ccf15e89 100644 --- a/app/controllers/supplemental_files_controller.rb +++ b/app/controllers/supplemental_files_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/timelines_controller.rb b/app/controllers/timelines_controller.rb index 8b9b84be66..8dca8aa444 100644 --- a/app/controllers/timelines_controller.rb +++ b/app/controllers/timelines_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index e1d65c88a1..492bfc8707 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the @@ -48,7 +48,7 @@ def login_popup? end def find_user(auth_type) - auth_type.downcase! + auth_type = auth_type.downcase find_method = "find_for_#{auth_type}".to_sym find_method = :find_for_generic unless User.respond_to?(find_method) logger.debug "#{auth_type} :: #{current_user.inspect}" diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index 121d8b1567..0b64dfb2af 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/controllers/vocabulary_controller.rb b/app/controllers/vocabulary_controller.rb index e6d75a6874..cea4470ce7 100644 --- a/app/controllers/vocabulary_controller.rb +++ b/app/controllers/vocabulary_controller.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f48d62a201..ec643663ce 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # @@ -217,6 +217,7 @@ def vgroup_display value def truncate_center label, output_label_length, end_length = 0 end_length = output_label_length / 2 - 3 if end_length == 0 + end_length = 0 if end_length.negative? truncate(label, length: output_label_length, omission: "...#{label.last(end_length)}") end diff --git a/app/helpers/blacklight/local_blacklight_helper.rb b/app/helpers/blacklight/local_blacklight_helper.rb index 50d14df05b..24d3dea4bc 100644 --- a/app/helpers/blacklight/local_blacklight_helper.rb +++ b/app/helpers/blacklight/local_blacklight_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/catalog_helper.rb b/app/helpers/catalog_helper.rb index 0459fadeba..32b19db134 100644 --- a/app/helpers/catalog_helper.rb +++ b/app/helpers/catalog_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/cdl_helper.rb b/app/helpers/cdl_helper.rb index 364b0a9cf0..b1bcc93246 100644 --- a/app/helpers/cdl_helper.rb +++ b/app/helpers/cdl_helper.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/helpers/conditional_partials_helper.rb b/app/helpers/conditional_partials_helper.rb index ad10123adf..eaf5fec4ab 100644 --- a/app/helpers/conditional_partials_helper.rb +++ b/app/helpers/conditional_partials_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/media_objects_helper.rb b/app/helpers/media_objects_helper.rb index c435a20b73..a6f44d32ff 100644 --- a/app/helpers/media_objects_helper.rb +++ b/app/helpers/media_objects_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/player_helper.rb b/app/helpers/player_helper.rb index d0939fe712..a9a75529c7 100644 --- a/app/helpers/player_helper.rb +++ b/app/helpers/player_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/playlists_helper.rb b/app/helpers/playlists_helper.rb index b0108ff136..f20548d913 100644 --- a/app/helpers/playlists_helper.rb +++ b/app/helpers/playlists_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/security_helper.rb b/app/helpers/security_helper.rb index 98bc0821cc..57e99e14ea 100644 --- a/app/helpers/security_helper.rb +++ b/app/helpers/security_helper.rb @@ -1,11 +1,11 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. -# +# # You may obtain a copy of the License at -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software distributed # under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/helpers/timelines_helper.rb b/app/helpers/timelines_helper.rb index 0091a0453a..99b40ad7f9 100644 --- a/app/helpers/timelines_helper.rb +++ b/app/helpers/timelines_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # diff --git a/app/helpers/upload_form_helper.rb b/app/helpers/upload_form_helper.rb index fc46645388..7a34d4b97f 100644 --- a/app/helpers/upload_form_helper.rb +++ b/app/helpers/upload_form_helper.rb @@ -1,4 +1,4 @@ -# Copyright 2011-2022, The Trustees of Indiana University and Northwestern +# Copyright 2011-2023, The Trustees of Indiana University and Northwestern # University. Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # @@ -27,13 +27,14 @@ def upload_form_data if direct_upload? bucket = Aws::S3::Bucket.new(name: Settings.encoding.masterfile_bucket) direct_post = bucket.presigned_post(key: "uploads/#{SecureRandom.uuid}/${filename}", success_action_status: '201') + upload_form_url = direct_post.url if Settings.minio.present? && Settings.minio.public_host.present? - direct_post.url.sub!(Settings.minio.endpoint, Settings.minio.public_host) + upload_form_url = direct_post.url.sub(Settings.minio.endpoint, Settings.minio.public_host) end { 'form-data' => (direct_post.fields), - 'url' => direct_post.url, - 'host' => Addressable::URI.parse(direct_post.url).host + 'url' => upload_form_url, + 'host' => Addressable::URI.parse(upload_form_url).host } else {} diff --git a/app/javascript/components/CollectionCarousel.js b/app/javascript/components/CollectionCarousel.js index 41174c7949..e343825f4d 100644 --- a/app/javascript/components/CollectionCarousel.js +++ b/app/javascript/components/CollectionCarousel.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/javascript/components/CollectionDetails.js b/app/javascript/components/CollectionDetails.js index b0e8690a3d..b9d59c076d 100644 --- a/app/javascript/components/CollectionDetails.js +++ b/app/javascript/components/CollectionDetails.js @@ -1,12 +1,12 @@ -/* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern +/* + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. - * + * * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software distributed * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the diff --git a/app/javascript/components/CollectionList.js b/app/javascript/components/CollectionList.js index 236c5d74fc..cd0d547904 100644 --- a/app/javascript/components/CollectionList.js +++ b/app/javascript/components/CollectionList.js @@ -1,5 +1,5 @@ /* - * Copyright 2011-2022, The Trustees of Indiana University and Northwestern + * Copyright 2011-2023, The Trustees of Indiana University and Northwestern * University. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * diff --git a/app/javascript/components/ReactButtonContainer.jsx b/app/javascript/components/ReactButtonContainer.jsx index 8956a5fa53..2a6dff5153 100644 --- a/app/javascript/components/ReactButtonContainer.jsx +++ b/app/javascript/components/ReactButtonContainer.jsx @@ -7,22 +7,25 @@ class ReactButtonContainer extends Component { constructor(props) { super(props); - const { audioURL, baseURL, initStructure, masterFileID, streamDuration } = this.props; + const { + baseURL, + masterFileID, + mediaObjectID, + canvasIndex, + } = this.props; this.state = { show: false, smeProps: { structureURL: baseURL + '/master_files/' + masterFileID + '/structure.json', - waveformURL: baseURL + '/master_files/' + masterFileID + '/waveform.json', - initStructure: initStructure, - audioURL: audioURL, - streamDuration: Number(streamDuration) + manifestURL: baseURL + '/media_objects/' + mediaObjectID + '/manifest.json', + canvasIndex: canvasIndex, }, structureSaved: true }; } handleClose = () => { - if(!this.state.structureSaved) { + if (!this.state.structureSaved) { if (confirm("Unsaved changes will be lost. Are you sure?")) { this.setState({ show: false @@ -44,10 +47,10 @@ class ReactButtonContainer extends Component { getStructureStatus = (value) => { this.setState({ structureSaved: value }); - } + }; render() { - const modalID = `edit_structure_${this.props.sectionIndex}`; + const modalID = `edit_structure_${this.props.canvasIndex}`; return (