hyrax 5.1.0.pre.beta1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.dassie/.env +4 -0
  3. data/.dassie/Gemfile +11 -6
  4. data/.dassie/app/controllers/application_controller.rb +4 -0
  5. data/.dassie/app/helpers/hyrax_helper.rb +4 -0
  6. data/.dassie/app/models/ability.rb +4 -0
  7. data/.dassie/app/models/user.rb +11 -0
  8. data/.dassie/app/views/shared/_footer.html.erb +17 -0
  9. data/.dassie/config/database.yml +18 -0
  10. data/.dassie/config/environments/production.rb +1 -1
  11. data/.dassie/config/fedora.yml +6 -6
  12. data/.dassie/config/initializers/profiler.rb +5 -0
  13. data/.dassie/config/locales/hyrax.en.yml +1 -1
  14. data/.dassie/config/puma.rb +55 -5
  15. data/.dassie/config/routes.rb +2 -0
  16. data/.dassie/db/migrate/20250328100249_user_roles.rb +20 -0
  17. data/.dassie/db/schema.rb +14 -1
  18. data/.github/workflows/lint-build-test.yml +34 -5
  19. data/.github/workflows/main.yml +4 -4
  20. data/.koppie/.env +1 -1
  21. data/.koppie/Gemfile +10 -6
  22. data/.koppie/app/controllers/application_controller.rb +4 -0
  23. data/.koppie/app/helpers/hyrax_helper.rb +4 -0
  24. data/.koppie/app/models/ability.rb +4 -0
  25. data/.koppie/app/models/user.rb +10 -0
  26. data/.koppie/app/views/shared/_footer.html.erb +17 -0
  27. data/.koppie/config/database.yml +2 -9
  28. data/.koppie/config/environments/development.rb +9 -0
  29. data/.koppie/config/environments/production.rb +1 -1
  30. data/.koppie/config/initializers/1_valkyrie.rb +5 -5
  31. data/.koppie/config/initializers/profiler.rb +5 -0
  32. data/.koppie/config/locales/hyrax.en.yml +2 -2
  33. data/.koppie/config/puma.rb +26 -7
  34. data/.koppie/config/routes.rb +2 -0
  35. data/.koppie/db/schema.rb +109 -110
  36. data/Dockerfile +108 -50
  37. data/app/controllers/hyrax/file_sets_controller.rb +11 -0
  38. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +1 -1
  39. data/bin/db-migrate-seed.sh +1 -1
  40. data/bin/dev-entrypoint.sh +3 -0
  41. data/docker-compose-dassie.yml +2 -2
  42. data/docker-compose-koppie.yml +2 -2
  43. data/docker-compose-sirenia.yml +2 -2
  44. data/documentation/developing-your-hyrax-based-app.md +1 -1
  45. data/hyrax.gemspec +1 -1
  46. data/lib/generators/hyrax/install_generator.rb +0 -5
  47. data/lib/generators/hyrax/templates/.env +1 -1
  48. data/lib/generators/hyrax/templates/config/initializers/1_valkyrie.rb +21 -19
  49. data/lib/generators/hyrax/templates/db/migrate/20170131142607_add_permission_template_to_sipity_workflow.rb.erb +1 -1
  50. data/lib/generators/hyrax/templates/db/migrate/20170810190549_update_collection_type_column_options.rb.erb +1 -1
  51. data/lib/generators/hyrax/templates/db/migrate/20230821153635_add_fields_to_counter_metric.rb.erb +1 -1
  52. data/lib/hyrax/version.rb +1 -1
  53. data/lib/tasks/workflow.rake +1 -2
  54. data/template.rb +1 -1
  55. metadata +10 -4
data/Dockerfile CHANGED
@@ -1,50 +1,98 @@
1
- ARG ALPINE_VERSION=3.21
2
- ARG RUBY_VERSION=3.3.6
3
-
4
- FROM ruby:$RUBY_VERSION-alpine$ALPINE_VERSION AS hyrax-base
5
-
6
- ARG DATABASE_APK_PACKAGE="postgresql-dev"
7
- ARG EXTRA_APK_PACKAGES="git"
8
- ARG RUBYGEMS_VERSION=""
9
-
10
- RUN addgroup -S --gid 101 app && \
11
- adduser -S -G app -u 1001 -s /bin/sh -h /app app
12
-
13
- RUN apk --no-cache upgrade && \
14
- apk --no-cache add acl \
15
- build-base \
16
- curl \
17
- gcompat \
18
- imagemagick \
19
- imagemagick-heic \
20
- imagemagick-jpeg \
21
- imagemagick-jxl \
22
- imagemagick-pdf \
23
- imagemagick-svg \
24
- imagemagick-tiff \
25
- imagemagick-webp \
26
- jemalloc \
27
- ruby-grpc \
28
- tzdata \
29
- nodejs \
30
- yarn \
31
- zip \
32
- $DATABASE_APK_PACKAGE \
33
- $EXTRA_APK_PACKAGES
1
+ ARG DEBIAN_VERSION=bookworm
2
+ ARG RUBY_VERSION=3.3
3
+
4
+ FROM ruby:$RUBY_VERSION-$DEBIAN_VERSION AS hyrax-base
5
+
6
+ RUN apt-get update && \
7
+ curl -sL "https://deb.nodesource.com/setup_20.x" | bash - && \
8
+ apt-get install -y --no-install-recommends \
9
+ acl \
10
+ build-essential \
11
+ curl \
12
+ exiftool \
13
+ ffmpeg \
14
+ ghostscript \
15
+ git \
16
+ less \
17
+ libgsf-1-dev \
18
+ libimagequant-dev \
19
+ libjemalloc2 \
20
+ libjpeg62-turbo-dev \
21
+ libopenjp2-7-dev \
22
+ libopenjp2-tools \
23
+ libpng-dev \
24
+ libpoppler-cpp-dev \
25
+ libpoppler-dev \
26
+ libpoppler-glib-dev \
27
+ libpoppler-private-dev \
28
+ libpoppler-qt5-dev \
29
+ libreoffice \
30
+ libreoffice-l10n-uk \
31
+ librsvg2-dev \
32
+ libtiff-dev \
33
+ libvips-dev \
34
+ libvips-tools \
35
+ libwebp-dev \
36
+ libxml2-dev \
37
+ lsof \
38
+ mediainfo \
39
+ netcat-openbsd \
40
+ nodejs \
41
+ perl \
42
+ poppler-utils \
43
+ postgresql-client \
44
+ rsync \
45
+ ruby-grpc \
46
+ screen \
47
+ tesseract-ocr \
48
+ tzdata \
49
+ vim \
50
+ zip \
51
+ && \
52
+ npm install --global yarn && \
53
+ apt-get clean && \
54
+ rm -rf /var/lib/apt/lists/* && \
55
+ ln -s /usr/lib/*-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so.2 && \
56
+ echo "******** Packages Installed *********"
57
+
58
+ RUN bash -x -c "\
59
+ if [ $(dpkg --print-architecture) = 'amd64' ]; then \
60
+ wget https://github.com/ImageMagick/ImageMagick/releases/download/7.1.1-47/ImageMagick-82572af-gcc-x86_64.AppImage -O magick \
61
+ && chmod a+x magick \
62
+ && ./magick --appimage-extract \
63
+ && mv squashfs-root/usr/etc/ImageMagick* /etc \
64
+ && rm -rf squashfs-root/usr/share/doc \
65
+ && cp -rv squashfs-root/usr/* /usr/local \
66
+ && rm -rf magick squashfs-root ; \
67
+ else \
68
+ wget https://github.com/ImageMagick/ImageMagick/archive/refs/tags/7.1.1-47.tar.gz \
69
+ && tar xf 7.1.1-47.tar.gz \
70
+ && cd ImageMagick* \
71
+ && ./configure \
72
+ && make install \
73
+ && ldconfig /usr/local/lib \
74
+ && cd $OLDPWD \
75
+ && rm -rf 7.1.1-47.tar.gz ImageMagick* ; \
76
+ fi \
77
+ && identify -version"
34
78
 
35
79
  RUN setfacl -d -m o::rwx /usr/local/bundle && \
36
- gem update --silent --system $RUBYGEMS_VERSION
80
+ gem update --silent --system
37
81
 
38
- USER app
82
+ RUN useradd -m -u 1001 -U -s /bin/bash --home-dir /app app && \
83
+ mkdir -p /app/samvera/hyrax-webapp && \
84
+ chown -R app:app /app && \
85
+ echo "export PATH=/app/samvera/hyrax-webapp/bin:${PATH}" >> /etc/bash.bashrc
39
86
 
40
- RUN mkdir -p /app/samvera/hyrax-webapp
87
+ USER app
41
88
  WORKDIR /app/samvera/hyrax-webapp
42
89
 
43
- COPY --chown=1001:101 ./bin/*.sh /app/samvera/
90
+ COPY --chown=1001 ./bin/*.sh /app/samvera/
44
91
  ENV PATH="/app/samvera:$PATH" \
45
92
  RAILS_ROOT="/app/samvera/hyrax-webapp" \
46
93
  RAILS_SERVE_STATIC_FILES="1" \
47
- LD_PRELOAD="/usr/local/lib/libjemalloc.so.2"
94
+ LD_PRELOAD="/usr/lib/libjemalloc.so.2" \
95
+ MALLOC_CONF="dirty_decay_ms:1000,narenas:2,background_thread:true"
48
96
 
49
97
  ENTRYPOINT ["hyrax-entrypoint.sh"]
50
98
  CMD ["bundle", "exec", "puma", "-v", "-b", "tcp://0.0.0.0:3000"]
@@ -55,22 +103,23 @@ FROM hyrax-base AS hyrax
55
103
  ARG APP_PATH=.
56
104
  ARG BUNDLE_WITHOUT="development test"
57
105
 
58
- ONBUILD COPY --chown=1001:101 $APP_PATH /app/samvera/hyrax-webapp
106
+ ONBUILD COPY --chown=1001 $APP_PATH /app/samvera/hyrax-webapp
59
107
  ONBUILD RUN bundle install --jobs "$(nproc)"
60
108
  ONBUILD RUN RAILS_ENV=production SECRET_KEY_BASE=`bin/rake secret` DATABASE_URL='nulldb://nulldb' bundle exec rake assets:precompile
109
+ ARG BUILD_GITSHA
110
+ ARG BUILD_TIMESTAMP
111
+ ENV BUILD_GITSHA=$BUILD_GITSHA \
112
+ BUILD_TIMESTAMP=$BUILD_TIMESTAMP
61
113
 
62
114
 
63
115
  FROM hyrax-base AS hyrax-worker-base
64
-
65
116
  USER root
66
- RUN apk --no-cache add bash \
67
- ffmpeg \
68
- mediainfo \
69
- openjdk17-jre \
70
- perl
71
- USER app
72
117
 
73
- RUN mkdir -p /app/fits && \
118
+ RUN apt update && \
119
+ apt install -y --no-install-recommends default-jre-headless && \
120
+ apt-get clean && \
121
+ rm -rf /var/lib/apt/lists/* && \
122
+ mkdir -p /app/fits && \
74
123
  cd /app/fits && \
75
124
  wget https://github.com/harvard-lts/fits/releases/download/1.6.0/fits-1.6.0.zip -O fits.zip && \
76
125
  unzip fits.zip && \
@@ -90,6 +139,10 @@ ARG BUNDLE_WITHOUT="development test"
90
139
  ONBUILD COPY --chown=1001:101 $APP_PATH /app/samvera/hyrax-webapp
91
140
  ONBUILD RUN bundle install --jobs "$(nproc)"
92
141
  ONBUILD RUN RAILS_ENV=production SECRET_KEY_BASE=`bin/rake secret` DATABASE_URL='nulldb://nulldb' bundle exec rake assets:precompile
142
+ ARG BUILD_GITSHA
143
+ ARG BUILD_TIMESTAMP
144
+ ENV BUILD_GITSHA=$BUILD_GITSHA \
145
+ BUILD_TIMESTAMP=$BUILD_TIMESTAMP
93
146
 
94
147
 
95
148
  FROM hyrax-worker-base AS hyrax-engine-dev
@@ -98,8 +151,9 @@ USER app
98
151
  ARG BUNDLE_WITHOUT=
99
152
  ENV HYRAX_ENGINE_PATH=/app/samvera/hyrax-engine
100
153
 
101
- COPY --chown=1001:101 .dassie /app/samvera/hyrax-webapp
102
- COPY --chown=1001:101 . /app/samvera/hyrax-engine
154
+ COPY --chown=1001 .dassie /app/samvera/hyrax-webapp
155
+ COPY --chown=1001 .koppie /app/samvera/hyrax-koppie
156
+ COPY --chown=1001 . /app/samvera/hyrax-engine
103
157
 
104
158
  RUN bundle -v && \
105
159
  BUNDLE_GEMFILE=Gemfile.dassie bundle install --jobs "$(nproc)" && yarn && \
@@ -107,4 +161,8 @@ RUN bundle -v && \
107
161
  yarn cache clean
108
162
 
109
163
  ENTRYPOINT ["dev-entrypoint.sh"]
110
- CMD ["bundle", "exec", "puma", "-v", "-b", "tcp://0.0.0.0:3000"]
164
+ CMD ["bundle", "exec", "puma", "-v", "-b", "tcp://0.0.0.0:3000"]
165
+ ARG BUILD_GITSHA
166
+ ARG BUILD_TIMESTAMP
167
+ ENV BUILD_GITSHA=$BUILD_GITSHA \
168
+ BUILD_TIMESTAMP=$BUILD_TIMESTAMP
@@ -9,6 +9,10 @@ module Hyrax
9
9
 
10
10
  before_action :authenticate_user!, except: [:show, :citation, :stats]
11
11
  load_and_authorize_resource class: Hyrax.config.file_set_class
12
+ # If Hyrax.config.file_set_class is set to ::FileSet, the load above will force-cast
13
+ # the instance as a ::FileSet, even if it is a Hyrax::FileSet. Re-cast it back to
14
+ # prevent method errors and nil objects later
15
+ before_action :cast_file_set
12
16
  before_action :build_breadcrumbs, only: [:show, :edit, :stats]
13
17
  before_action do
14
18
  blacklight_config.track_search_session = false
@@ -159,6 +163,13 @@ module Hyrax
159
163
  attrs
160
164
  end
161
165
 
166
+ def cast_file_set
167
+ return unless @file_set.class == ::FileSet
168
+ # We can tell if a Hyrax::FileSet was improperly cast because this AF method will
169
+ # return nil since its parent is not a ActiveFedora work.
170
+ @file_set = @file_set.valkyrie_resource if @file_set.parent&.id.nil?
171
+ end
172
+
162
173
  def parent(file_set: curation_concern)
163
174
  @parent ||=
164
175
  case file_set
@@ -1,5 +1,5 @@
1
1
  <div class="viewer-wrapper">
2
- <iframe aria-label="image view"
2
+ <iframe title="image view"
3
3
  src="<%= universal_viewer_base_url %>#?manifest=<%= main_app.polymorphic_url [main_app, :manifest, presenter], { locale: nil } %>&config=<%= universal_viewer_config_url %>"
4
4
  allowfullscreen="true"
5
5
  frameborder="0"
@@ -2,7 +2,7 @@
2
2
  set -e
3
3
 
4
4
  service-wait.sh "$DB_HOST:$DB_PORT"
5
- bundle exec rails db:create
5
+ bundle exec rails db:prepare
6
6
  bundle exec rails db:migrate
7
7
 
8
8
  if [ "$FCREPO_HOST" ]; then
@@ -12,6 +12,9 @@ cp -Rn /usr/local/bundle/* /app/bundle/ruby/$RUBY_MAJOR.0
12
12
  bundle install
13
13
  yarn install
14
14
 
15
+ # Precompile assets if running in production (Nurax)
16
+ [ "$RAILS_ENV" = "production" ] && bundle exec rake assets:precompile
17
+
15
18
  db-migrate-seed.sh
16
19
 
17
20
  # Run the command
@@ -6,7 +6,7 @@ services:
6
6
  args:
7
7
  - EXTRA_APK_PACKAGES=git less
8
8
  - BUNDLE_GEMFILE=Gemfile.dassie
9
- image: samvera/hyrax-dev
9
+ image: ghcr.io/samvera/hyrax-dev:${GITHUB_SHA:-latest}
10
10
  command: sh -c 'bundle exec puma -v -b tcp://0.0.0.0:3000'
11
11
  stdin_open: true
12
12
  tty: true
@@ -40,7 +40,7 @@ services:
40
40
  - hyrax
41
41
 
42
42
  worker:
43
- image: samvera/hyrax-dev
43
+ image: ghcr.io/samvera/hyrax-dev:${GITHUB_SHA:-latest}
44
44
  entrypoint: worker-entrypoint.sh
45
45
  command: sh -c 'bundle exec sidekiq'
46
46
  user: root
@@ -8,7 +8,7 @@ services:
8
8
  args:
9
9
  - EXTRA_APK_PACKAGES=git less
10
10
  - BUNDLE_GEMFILE=Gemfile.koppie
11
- image: samvera/hyrax-dev
11
+ image: ghcr.io/samvera/hyrax-dev:${GITHUB_SHA:-latest}
12
12
  command: sh -c 'bundle exec puma -v -b tcp://0.0.0.0:3000'
13
13
  stdin_open: true
14
14
  tty: true
@@ -43,7 +43,7 @@ services:
43
43
  - koppie
44
44
 
45
45
  worker:
46
- image: samvera/hyrax-dev
46
+ image: ghcr.io/samvera/hyrax-dev:${GITHUB_SHA:-latest}
47
47
  entrypoint: worker-entrypoint.sh
48
48
  command: sh -c 'bundle exec sidekiq'
49
49
  user: root
@@ -8,7 +8,7 @@ services:
8
8
  args:
9
9
  - EXTRA_APK_PACKAGES=git less
10
10
  - BUNDLE_GEMFILE=Gemfile.koppie
11
- image: samvera/hyrax-dev
11
+ image: ghcr.io/samvera/hyrax-dev:${GITHUB_SHA:-latest}
12
12
  command: sh -c 'bundle exec puma -v -b tcp://0.0.0.0:3000'
13
13
  stdin_open: true
14
14
  tty: true
@@ -46,7 +46,7 @@ services:
46
46
  - sirenia
47
47
 
48
48
  worker:
49
- image: samvera/hyrax-dev
49
+ image: ghcr.io/samvera/hyrax-dev:${GITHUB_SHA:-latest}
50
50
  entrypoint: worker-entrypoint.sh
51
51
  command: sh -c 'bundle exec sidekiq'
52
52
  user: root
@@ -32,7 +32,7 @@ You can also try [Running Hyrax-based application in local VM](https://github.co
32
32
  During development, running only the dependent services in a container environment may be beneficial. This avoids potential headaches concerning file permissions and eases the use of debugging tools. The application generation instructions below use [Lando](https://lando.dev) to achieve this setup.
33
33
 
34
34
  This document contains instructions specific to setting up an app with __Hyrax
35
- v5.1.0-beta1__. If you are looking for instructions on installing a different
35
+ v5.1.0__. If you are looking for instructions on installing a different
36
36
  version, be sure to select the appropriate branch or tag from the drop-down
37
37
  menu above.
38
38
 
data/hyrax.gemspec CHANGED
@@ -38,7 +38,7 @@ SUMMARY
38
38
  spec.add_dependency 'almond-rails', '~> 0.1'
39
39
  spec.add_dependency 'awesome_nested_set', '~> 3.1'
40
40
  spec.add_dependency 'blacklight', '~> 7.29'
41
- spec.add_dependency 'blacklight-gallery', '~> 4.7.0'
41
+ spec.add_dependency 'blacklight-gallery', '~> 4.6.4'
42
42
  spec.add_dependency 'breadcrumbs_on_rails', '~> 3.0'
43
43
  spec.add_dependency 'browse-everything', '>= 0.16', '< 2.0'
44
44
  spec.add_dependency 'carrierwave', '~> 1.0'
@@ -209,10 +209,5 @@ module Hyrax
209
209
  gem 'dotenv-rails', '~> 2.8'
210
210
  end
211
211
  end
212
-
213
- def support_analytics
214
- gem 'google-protobuf', force_ruby_platform: true # required because google-protobuf is not compatible with Alpine linux
215
- gem 'grpc', force_ruby_platform: true # required because grpc is not compatible with Alpine linux
216
- end
217
212
  end
218
213
  end
@@ -1,6 +1,6 @@
1
1
  CH12N_TOOL=fits_servlet
2
2
  DATABASE_URL=postgresql://postgres@localhost:5437/hyrax-dev?pool=5
3
- FCREPO_URL=http://fedoraAdmin:fedoraAdmin@fcrepo:8989/fcrepo/rest
3
+ FEDORA_URL=http://fedoraAdmin:fedoraAdmin@localhost:8989/fcrepo/rest
4
4
  FITS_SERVLET_URL=http://localhost:8085/fits
5
5
  HYRAX_ACTIVE_JOB_QUEUE=async
6
6
  REDIS_URL=redis://localhost:6384
@@ -32,7 +32,7 @@ Valkyrie::MetadataAdapter.register(
32
32
  # Valkyrie::MetadataAdapter.register(
33
33
  # Valkyrie::Persistence::Fedora::MetadataAdapter.new(
34
34
  # connection: ::Ldp::Client.new(Hyrax.config.fedora_connection_builder.call(
35
- # ENV.fetch('FCREPO_URL') { "http://localhost:8080/fcrepo/rest" }
35
+ # ENV.fetch('FEDORA_URL') { "http://localhost:8080/fcrepo/rest" }
36
36
  # )),
37
37
  # base_path: Rails.env,
38
38
  # schema: Valkyrie::Persistence::Fedora::PermissiveSchema.new(Hyrax::SimpleSchemaLoader.new.permissive_schema_for_valkrie_adapter),
@@ -67,7 +67,7 @@ Valkyrie.config.metadata_adapter = ENV.fetch('VALKYRIE_METADATA_ADAPTER') { :pg_
67
67
  # Valkyrie::StorageAdapter.register(
68
68
  # Valkyrie::Storage::Fedora.new(
69
69
  # connection: ::Ldp::Client.new(Hyrax.config.fedora_connection_builder.call(
70
- # ENV.fetch('FCREPO_URL') { "http://localhost:8080/fcrepo/rest" }
70
+ # ENV.fetch('FEDORA_URL') { "http://localhost:8080/fcrepo/rest" }
71
71
  # )),
72
72
  # base_path: Rails.env,
73
73
  # fedora_version: 6.5,
@@ -86,21 +86,23 @@ Valkyrie.config.storage_adapter = ENV.fetch('VALKYRIE_STORAGE_ADAPTER') { :vers
86
86
 
87
87
  Valkyrie.config.indexing_adapter = :solr_index
88
88
 
89
- custom_queries = [Hyrax::CustomQueries::Navigators::CollectionMembers,
90
- Hyrax::CustomQueries::Navigators::ChildCollectionsNavigator,
91
- Hyrax::CustomQueries::Navigators::ParentCollectionsNavigator,
92
- Hyrax::CustomQueries::Navigators::ChildFileSetsNavigator,
93
- Hyrax::CustomQueries::Navigators::ChildWorksNavigator,
94
- Hyrax::CustomQueries::Navigators::ParentWorkNavigator,
95
- Hyrax::CustomQueries::Navigators::FindFiles,
96
- Hyrax::CustomQueries::FindAccessControl,
97
- Hyrax::CustomQueries::FindCollectionsByType,
98
- Hyrax::CustomQueries::FindFileMetadata,
99
- Hyrax::CustomQueries::FindIdsByModel,
100
- Hyrax::CustomQueries::FindManyByAlternateIds,
101
- Hyrax::CustomQueries::FindModelsByAccess,
102
- Hyrax::CustomQueries::FindCountBy,
103
- Hyrax::CustomQueries::FindByDateRange]
104
- custom_queries.each do |handler|
105
- Hyrax.query_service.custom_queries.register_query_handler(handler)
89
+ Rails.application.reloader.to_prepare do
90
+ custom_queries = [Hyrax::CustomQueries::Navigators::CollectionMembers,
91
+ Hyrax::CustomQueries::Navigators::ChildCollectionsNavigator,
92
+ Hyrax::CustomQueries::Navigators::ParentCollectionsNavigator,
93
+ Hyrax::CustomQueries::Navigators::ChildFileSetsNavigator,
94
+ Hyrax::CustomQueries::Navigators::ChildWorksNavigator,
95
+ Hyrax::CustomQueries::Navigators::ParentWorkNavigator,
96
+ Hyrax::CustomQueries::Navigators::FindFiles,
97
+ Hyrax::CustomQueries::FindAccessControl,
98
+ Hyrax::CustomQueries::FindCollectionsByType,
99
+ Hyrax::CustomQueries::FindFileMetadata,
100
+ Hyrax::CustomQueries::FindIdsByModel,
101
+ Hyrax::CustomQueries::FindManyByAlternateIds,
102
+ Hyrax::CustomQueries::FindModelsByAccess,
103
+ Hyrax::CustomQueries::FindCountBy,
104
+ Hyrax::CustomQueries::FindByDateRange]
105
+ custom_queries.each do |handler|
106
+ Hyrax.query_service.custom_queries.register_query_handler(handler)
107
+ end
106
108
  end
@@ -1,4 +1,4 @@
1
- class AddPermissionTemplateToSipityWorkflow < ActiveRecord::Migration<%= migration_version %>
1
+ class AddPermissionTemplateToSipityWorkflow < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  add_column :sipity_workflows, :permission_template_id, :integer, index: true
4
4
  remove_index :sipity_workflows, :name
@@ -1,4 +1,4 @@
1
- class UpdateCollectionTypeColumnOptions < ActiveRecord::Migration<%= migration_version %>
1
+ class UpdateCollectionTypeColumnOptions < ActiveRecord::Migration[6.1]
2
2
  def up
3
3
  change_column :hyrax_collection_types, :title, :string, unique: true
4
4
  change_column :hyrax_collection_types, :machine_id, :string, unique: true
@@ -1,4 +1,4 @@
1
- class AddFieldsToCounterMetric < ActiveRecord::Migration<%= migration_version %>
1
+ class AddFieldsToCounterMetric < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  add_column :hyrax_counter_metrics, :title, :string
4
4
  add_column :hyrax_counter_metrics, :year_of_publication, :integer, index: true
data/lib/hyrax/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Hyrax
3
- VERSION = '5.1.0-beta1'
3
+ VERSION = '5.1.0'
4
4
  end
@@ -3,8 +3,7 @@ namespace :hyrax do
3
3
  namespace :workflow do
4
4
  desc "Load workflow configuration into the database"
5
5
  task load: :environment do
6
- logger = Logger.new(STDOUT)
7
- logger.level = Logger::DEBUG
6
+ logger = Hyrax.logger || Logger.new(STDOUT, level: Logger::DEBUG)
8
7
  Hyrax::Workflow::WorkflowImporter.load_workflows(logger: logger)
9
8
  errors = Hyrax::Workflow::WorkflowImporter.load_errors
10
9
  abort("Failed to process all workflows:\n #{errors.join('\n ')}") unless errors.empty?
data/template.rb CHANGED
@@ -4,6 +4,6 @@ insert_into_file 'config/application.rb', after: /config\.load_defaults [0-9.]+$
4
4
  "\n config.add_autoload_paths_to_load_path = true"
5
5
  end
6
6
 
7
- gem 'hyrax', '5.1.0-beta1'
7
+ gem 'hyrax', '5.1.0'
8
8
  run 'bundle install'
9
9
  generate 'hyrax:install', '-f'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0.pre.beta1
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -13,7 +13,7 @@ authors:
13
13
  - Esmé Cowles
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2025-03-04 00:00:00.000000000 Z
16
+ date: 2025-04-23 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rails
@@ -97,14 +97,14 @@ dependencies:
97
97
  requirements:
98
98
  - - "~>"
99
99
  - !ruby/object:Gem::Version
100
- version: 4.7.0
100
+ version: 4.6.4
101
101
  type: :runtime
102
102
  prerelease: false
103
103
  version_requirements: !ruby/object:Gem::Requirement
104
104
  requirements:
105
105
  - - "~>"
106
106
  - !ruby/object:Gem::Version
107
- version: 4.7.0
107
+ version: 4.6.4
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: breadcrumbs_on_rails
110
110
  requirement: !ruby/object:Gem::Requirement
@@ -1207,6 +1207,7 @@ files:
1207
1207
  - ".dassie/app/views/layouts/application.html.erb"
1208
1208
  - ".dassie/app/views/layouts/mailer.html.erb"
1209
1209
  - ".dassie/app/views/layouts/mailer.text.erb"
1210
+ - ".dassie/app/views/shared/_footer.html.erb"
1210
1211
  - ".dassie/bin/bundle"
1211
1212
  - ".dassie/bin/rails"
1212
1213
  - ".dassie/bin/rake"
@@ -1225,6 +1226,7 @@ files:
1225
1226
  - ".dassie/config/browse_everything_providers.yml"
1226
1227
  - ".dassie/config/cable.yml"
1227
1228
  - ".dassie/config/credentials.yml.enc"
1229
+ - ".dassie/config/database.yml"
1228
1230
  - ".dassie/config/environment.rb"
1229
1231
  - ".dassie/config/environments/development.rb"
1230
1232
  - ".dassie/config/environments/production.rb"
@@ -1241,6 +1243,7 @@ files:
1241
1243
  - ".dassie/config/initializers/hyrax.rb"
1242
1244
  - ".dassie/config/initializers/mailboxer.rb"
1243
1245
  - ".dassie/config/initializers/mime_types.rb"
1246
+ - ".dassie/config/initializers/profiler.rb"
1244
1247
  - ".dassie/config/initializers/publisher.rb"
1245
1248
  - ".dassie/config/initializers/redis_config.rb"
1246
1249
  - ".dassie/config/initializers/riiif.rb"
@@ -1367,6 +1370,7 @@ files:
1367
1370
  - ".dassie/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.hyrax.rb"
1368
1371
  - ".dassie/db/migrate/20230821153635_add_fields_to_counter_metric.rb"
1369
1372
  - ".dassie/db/migrate/20240506070809_valkyrie_id_to_string.rb"
1373
+ - ".dassie/db/migrate/20250328100249_user_roles.rb"
1370
1374
  - ".dassie/db/schema.rb"
1371
1375
  - ".dassie/db/seeds.rb"
1372
1376
  - ".dassie/lib/assets/.keep"
@@ -1480,6 +1484,7 @@ files:
1480
1484
  - ".koppie/app/views/layouts/application.html.erb"
1481
1485
  - ".koppie/app/views/layouts/mailer.html.erb"
1482
1486
  - ".koppie/app/views/layouts/mailer.text.erb"
1487
+ - ".koppie/app/views/shared/_footer.html.erb"
1483
1488
  - ".koppie/bin/bundle"
1484
1489
  - ".koppie/bin/rails"
1485
1490
  - ".koppie/bin/rake"
@@ -1520,6 +1525,7 @@ files:
1520
1525
  - ".koppie/config/initializers/inflections.rb"
1521
1526
  - ".koppie/config/initializers/mailboxer.rb"
1522
1527
  - ".koppie/config/initializers/mime_types.rb"
1528
+ - ".koppie/config/initializers/profiler.rb"
1523
1529
  - ".koppie/config/initializers/publisher.rb"
1524
1530
  - ".koppie/config/initializers/redis_config.rb"
1525
1531
  - ".koppie/config/initializers/riiif.rb"