Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎁 Hyrax 5 upgrade #2047

Merged
merged 255 commits into from
Jan 5, 2024
Merged

🎁 Hyrax 5 upgrade #2047

merged 255 commits into from
Jan 5, 2024

Conversation

kirkkwang
Copy link
Collaborator

@kirkkwang kirkkwang commented Dec 13, 2023

add blacklight advances search, blacklight date ranges and order already to the gem file and configure them

649ce6f

add a few content blocks in from adventist

0a6a266

do not need full controller override

f78eb75

use the new content blocks

29873b1

iiif rodeo includes

7510b7c

Merge branch 'iiif_print_extensions' into adventist_dev

a233497

Merge branch 'going_up' into adventist_dev

8e3b70f

Merge branch 'iiif_manifest_title' into adventist_dev

e45bb38

Merge branch 'blank_tif_bug' into adventist_dev

6538238

Merge branch 'mark_during_bulk' into adventist_dev

395d4d9

Merge branch 'index_job_tidying' into adventist_dev

a6f856d

Merge branch 'schemas_and_timeouts' into adventist_dev

1a548cf

Merge branch 'content_block_updates' into adventist_dev

ad05a98

remove dogbiscuit crossover, fix routes

3f22a33

Merge branch 'blacklight_advanced_and_range' into adventist_dev

3a7fde2

add spec for search history

36590bc

Merge branch 'blacklight_advanced_and_range' into adventist_dev

5b72d50

add missing methods to avoid content block errors

326576e

Update Hyku Gemfile.lock

1899175

Merge branch 'blacklight_advanced_and_range' into adventist_dev

7039606

add option to support good job for background jobs instead of sidekiq

4dc0dcd

Merge branch 'mr_good_job_its_got_to_be_good' into adventist_dev

225e8de

update gemfile lock

c32a948

Merge branch 'adventist_dev' of https://github.com/samvera/hyku into adventist_dev

f2fbd2a

Update good_job.rb

8cf14c4

merge

61a9504

fix routes file, add missing js file

363f9ee

Merge branch 'mr_good_job_its_got_to_be_good' of https://github.com/samvera/hyku into mr_good_job_its_got_to_be_good

6dae41d

Merge branch 'mr_good_job_its_got_to_be_good' into adventist_dev

6905712

Merge branch 'adventist_dev' into fix-block-content-error

3acad8e

💄 styling fix

03dd69e

💄 rubocop fixes

ed161f8

Merge pull request #1995 from samvera/fix-block-content-error

880b3d2

register and add missing methods to avoid content block errors

remove iiif_print/iiif_print require

00a4b4a

cause of Sprockets::FileNotFound in Splash#index error. Doesn't seem necessary.

Merge branch 'main' into mr_good_job_its_got_to_be_good

b452363

🎁 🧹 add missing file and format with semicolons

2ac4625

The previous build revealed that admin_color_select.js was missing. It also complained about missing semicolons.

💄 correct missing semicolons

15d3136

appease the hound by formatting js file with semicolons.

Merge branch 'main' into blacklight_advanced_and_range

ebe15ca

🧹 remove call to iiif_print/iiif_print

21133ea

Cause of build error. It's already being included in sass.

💄 Rubocop fixes

05304fd

✅ Fix test setup for catalog_controller_spec

8d81514

This commit will add additional setup to the catalog_controller_spec.

Add knapsack helper

aa7f8c6

remove Adventist from application.rb

7740cfd

🎁 Add conditional to run correct command for worker

5108af1

This commit adds a conditional to run the correct command for sidekiq or good_job, when running docker compose up.

Make appearance constants overrideable

b8af51e

This allows for the knapsack to override the constants by defining and
using a method rather than a constant in the look-ups.

add reporting fix to hyku ci

6126bf6

Merge branch 'main' into blacklight_advanced_and_range

057e77d

Merge branch 'main' into blacklight_advanced_and_range

4bbb426

spec loading fixes

2a80187

Merge branch 'blacklight_advanced_and_range' of https://github.com/samvera/hyku into blacklight_advanced_and_range

205e86c

Merge branch 'blacklight_advanced_and_range' into adventist_dev

49ce124

rubocop

691dda7

Merge branch 'blacklight_advanced_and_range' into adventist_dev

1e1d5f4

🧹Make appearance defaults overrideable

deec7e2

bump bulkrax to 5.4.0

cb2e3bf

This commit pulls in a small collection of bug fixes.

🧹 Include knapsack css

c700d41

Merge branch 'allow_appearance_constant_overrides' into hyku_application_css_include_knapsack_css

45196bf

Merge branch 'main' into mr_good_job_its_got_to_be_good

f54672e

fix job loading when selecting good job

3552664

Merge branch 'mr_good_job_its_got_to_be_good' of https://github.com/samvera/hyku into mr_good_job_its_got_to_be_good

22a3b4f

Merge pull request #2006 from samvera/add-bundle-to-initialize-app

d8117ad

⚙️ Add bundle as part of docker-compose

adjust docker compose to use the startup script

64d9281

Merge branch 'mr_good_job_its_got_to_be_good' into adventist_dev

5155798

🎁 install tesseract eng_best

5feb7f4

♻️ revert tesseract best changes to dockerfile

e568fbd

this change belongs in the knapsack directory instead

♻️ revert tesseract best changes to dockerfile

0f91695

this change belongs in the knapsack directory instead

Merge branch 'adventist_dev' of https://github.com/samvera/hyku into adventist_dev

825b40e

🐛 Bring fix for entry show page not showing link

26ae013

This commit will bring in a fix from Bulkrax that correctly shows the
object from the entry show page.

ref:

🧹 Revert previous commit and update Bulkrax

07fde57

This commit will update Bulkrax to 5.4.1 instead of using the override
from the last commit. We also revert the changes from the last commit.

🐛 subject can't be blank for the contact form

8ae51d8

Previously there was a bug because even if you typed in a subject, the contact form would error saying that it was blank.

Part of issue:

mend

fd32f03

♻️ Add handling for Knapsack theme overrides

5e0cc2c

Prior to this commit, we were looking for themes yaml files relative to
the directory of the spawning script. For Hyku that was always the
Rails.root directory. However, when running specs in Knapsack, that
directory was Knapsack::Engine.root.

This unearthed a potential configuration issue; namely that we want
Knapsack's to control what themes are available, meaning we don't want
to require amending Hyku's themes.

So, we introduce a mechanism for looking up files first in the Knapsack
then in Hyku.

I discovered this bug in the specs for knapsack (below is the Error stack trace)

Error stack trace
2) Hyrax::Admin::AppearancesController with an administrator GET #show assigns the requested site as @site
     Failure/Error: get :show, params: {}

     Errno::ENOENT:
       No such file or directory @ rb_sysopen - config/home_themes.yml
     # /usr/local/bundle/gems/psych-3.3.4/lib/psych.rb:582:in `initialize'
     # /usr/local/bundle/gems/psych-3.3.4/lib/psych.rb:582:in `open'
     # /usr/local/bundle/gems/psych-3.3.4/lib/psych.rb:582:in `unsafe_load_file'
     # ./hyrax-webapp/app/controllers/hyrax/admin/appearances_controller.rb:19:in `show'
     # /usr/local/bundle/gems/rails-controller-testing-1.0.5/lib/rails/controller/testing/template_assertions.rb:62:in `process'
     # /usr/local/bundle/gems/devise-4.9.2/lib/devise/test/controller_helpers.rb:35:in `block in process'
     # /usr/local/bundle/gems/devise-4.9.2/lib/devise/test/controller_helpers.rb:104:in `catch'
     # /usr/local/bundle/gems/devise-4.9.2/lib/devise/test/controller_helpers.rb:104:in `_catch_warden'
     # /usr/local/bundle/gems/devise-4.9.2/lib/devise/test/controller_helpers.rb:35:in `process'
     # /usr/local/bundle/gems/rails-controller-testing-1.0.5/lib/rails/controller/testing/integration.rb:16:in `block (2 levels) in <module:Integration>'
     # ./spec/controllers/hyrax/hyrax/admin/appearances_controller_spec.rb:31:in `block (4 levels) in <top (required)>'
     # /usr/local/bundle/gems/webmock-3.19.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
     # ./hyrax-webapp/spec/support/multitenancy_metadata.rb:50:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run'
     # /usr/local/bundle/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop'
     # /usr/local/bundle/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run'
     # /usr/local/bundle/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
     # /usr/local/bundle/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup'
     # ./spec/spec_helper.rb:10:in `block (2 levels) in <top (required)>'

Related to:

The above two commits will require some reconciliation once this is incorporated.

Merge pull request #2010 from samvera/adding-knapsack-handling-for-files

de00833

♻️ Add handling for Knapsack theme overrides

♻️ Favor Hyku::Application.path_for over Rails.root

ff3fbcc

Given the existence of Knapsack we need to consider how overrides in
Knapsack will take precedence over Hyku files. This change handles
cases where we want to use the Knapsack's uploaded thumbnails.

Related to:

Merge pull request #2012 from samvera/favor-hyku-application-path-for

bd4ca7b

♻️ Favor Hyku::Application.path_for over Rails.root

Merge remote-tracking branch 'origin/double-rendered-fonts' into adventist_dev

95a7482

🎁 Add highlight key to UV

80e02d3

This commit allows for the parent_query to be highlighted in the UV so
users won't have to do a catalog search and also a UV search.

🐛 Mixin HykuKnapsack::ApplicationHelper

ae093f1

This commit will mixin the HykuKnapsack::ApplicationHelper into the
ApplicationHelper which will allow us to use #render_ocr_snippets for
snippet highlighting.

Revert "🐛 Mixin HykuKnapsack::ApplicationHelper"

9827c14

This reverts commit ae093f1.

♻️ Favor class_attribute over constant

6ccd618

In Adventist, we're needing to override the constant's values. By
making this a class_attribute we can more readily do the override via
configuration instead of obliteration of a constant.

Merge pull request #2017 from samvera/favor-class-variable-over-constant

c114626

♻️ Favor class_attribute over constant

♻️ Favor configurable html head title value

2ff5f6c

Prior to this commit, we hard-coded the page title; this is something
that should be far more configurable. And this refactor is a step
towards that.

This also allows for downstream implementors to not have to override the
view simply to change the title element.

Merge pull request #2018 from samvera/favor-configurable-application-title

f8eee24

♻️ Favor configurable html head title value

🐛 Add custom rendering for license

1c2a9d4

Prior to this commit, the License would render as a plain URL. With
this change, we are now coercing the license into a URL that is labeled
and titled with the name of the license.

This is copied and modified based on Rights show partial

Related to:

Merge pull request #2019 from samvera/add-license-rendering

6a2d624

🐛 Add custom rendering for license

♻️ Add option to override devise configuration

363bc07

For Adventist, we wanted to disable registration of accounts as this was
creating a case where folks were creating their own accounts and
tenants.

Related to:

Merge pull request #2020 from samvera/add-config-for-devise-options

014f7b7

♻️ Add option to override devise configuration

run asset build later in process to allow knapsack to run it only one time

961b712

🐛 Fix Add to Collection for page 2+ of works

6930f7f

Prior to this commit, when you were on page 2 of your works and selected
a work to add to a collection, the query for available collections would
use the page 2 as part of the collection query. This would mean the
first 100 collections (default page size) that you had access to add
works to were skipped.

With this commit, we omit the query parameters from the works page and
then query collections.

Related to:

Co-authored-by: LaRita Robinson [email protected]

Merge pull request #2023 from samvera/add-to-collection-for-second-page-work

ae6de21

🐛 Fix Add to Collection for page 2+ of works

test that invited users are added to the registered group

ad8444e

Add invited users to the registered group

db098e1

Fixes a bug where users who were invited with no roles would not
show up in the users list at all

Merge pull request #2026 from samvera/backport-2025

d2c02e3

🧹 Fix inviting existing users failure

🐛 Change Hyky to Hyku (#2029)

3919082

Typo caused inability to upload collection thumbnail.

🎁 Modify labels in UV for V3 manifests

b0f2c44

This commit will add the same treatment as we have for V2 manifests to
V3 manifests. This will allow the UV to add a more human readable label
to the pages.

Ref:

🐛 Fix bad method name

7add38e

Related to:

Merge pull request #2039 from samvera/fixing-method-name

0405abd

🐛 Fix bad method name

🐛 Move some methods to be public

dbe996e

This commit will move #solr_document, #current_ability, and #request to
be public methods. Since these methods in Hyrax were not private, in
the decorator it should not be private either.

Ref:

First attempt for upgrade to Hyrax 5.0.0.rc2

da162d4

So far the changes throw an error The adapter nulldb_adapter is not yet supported when doing a docker compose build. Commenting out RUN RAILS_ENV=production SECRET_KEY_BASE=bin/rake secret DB_ADAPTER=nulldb DB_URL='postgresql://fake' bundle exec rake assets:precompile && yarn install in the Dockerfile allows the build to complete but still can't
boot yet.

🧹 Get assets to precompile

0840f98

This commit has a lot in it, but of note:

  • We forked apartment gem to expand activerecord version support
  • Used the Hyrax upgrade guide to update assets
  • Replaced bootstrap 3 variables with hard coded values
  • Commented out blacklight_helper_behavior.rb because Blacklight 7
    removed it, we'll have to figure out how to get the same functionality
    in the new version

🧹 Switch to Hyrax double_combo branch

68f8909

We are using this branch on Hyrax because it has quite a few Valkyrie
related fixes in it.

Merge branch 'main' into adventist_dev

2f2f4dc

🧹 use class attribute instead of constant to correct failing specs

0f67c4c

Fix specs

6930a86

🧹 Get the page to load

939bd17

This commit will get the proprietor page to load. You can create a
tenant and vist it as well.

♻️ Introduce Hyku::Application.theme_view_path_roots

31de0fe

With the introduction of HykuKnapsack, we are adjusting how we
create instances of Hyku. Namely we don't clone Hyku but instead we
incorporate Hyku as a submodule into a Knapsack.

The Knapsack is a Rails engine that is mounted in the Hyku application.
What this means is that when we want to

Prior to this commit, the only way to adjust themed views would have
been to add them to the Rails application (e.g. Hyku) directly. Which
would work in a non-Knapsack ecosystem.

However, with Knapsack we need a means of saying "Hey, for themes we
want to be able to add/adjust views within the knapsack." Hence this
change.

Merge pull request #2007 from samvera/handle-theming-for-knapsacks

95a2228

♻️ Introduce Hyku::Application.theme_view_path_roots

Merge branch 'adventist_dev' into hyrax-5-upgrade

032e08e

🧹 Prepping for rubocop

2d7f8b7

This commit will change the Docker image to rc1 because rc2 stopped
working (at least locally). Also getting things ready to run rubocop.

🧹 Ran bundle exec rubocop -a

fecb4e9

🧹 Autocorrect frozen string literals

6859d73

rubocop --only Style/FrozenStringLiteralComment -A

🧹 Rubocop'd lengths and other low hanging fruit

59626ef

Various length metrics were disabled in this commit. Also other various
cops that were easy to fix.

Merge branch 'adventist_dev' into hyrax-5-upgrade

fe54004

Ref:

🧹 Remove deprecated Blacklight code

306b893

removing the deprecated blacklight code allows the specs to run. We should consider if finding a replacement is necessary in the following ticket:

Issue:

🧹 Avoid #present? in non-Rails situations

8b64bf8

Rails provides Object#present?, which is a method that is not
generally available in Ruby. However in the changed context, the
scripts do not have access to Rails methods.

By using this adjusted approach we favor baseline Ruby methods.

Merge pull request #2056 from samvera/i35-remove-deprecated-blacklight-code

5177c95

🧹 Remove deprecated Blacklight code

Merge pull request #2055 from samvera/avoid-present-call-in-non-rails-situation

553dec5

🧹 Avoid #present? in non-Rails situations

🧹 Get Homepage Controller specs passing (#2058)

4d291bb

Refactor homepage controller to more closely align with Hyrax's
homepage controller.
Adjust theme views to render modal instead of ajax_modal.

refs: scientist-softserv/hykuup_knapsack#56

♻️ Replace Homepage Presenter with decorator (#2059)

2d00694

🧹Get CatalogController specs working (#2060)

1bfe119

🧹 Hyrax 5 get additional specs passing (#2062)

76010a4

  • 🧹 Get chrome.hyku.test working

  • 🧹 Get SitesControllerSpecs working

File fixtures were broken.
Ref scientist-softserv/hykuup_knapsack#56

  • 🧹 Remove google analytics from config reload

This is a piece of a fix for analytics that came in via
scientist-softserv/palni-palci#946

Additional backporting of analytics work is still needed, but this
fixes numerous specs so it is being pulled in earlier.

  • 🧹 Update ruby version for circleci

  • 🧹 Update rails version for circleci

🧹Database migration & schema update (#2063)

2cad6b2

For table hyrax_counter_metrics

🧹 Fix Hyrax 5 remaining controller spec failures (#2064)

cd3b059

  • 🧹Remove ActiveFedora monkeypatch

  • 🧹Fix file fixture

🧹 Upgrade views from Bootstrap 3 to 4

67f3163

This commit is a first swing of upgrading all the views from Bootstrap 3
to 4. There's still a lot of work to be done to make the views look
good but this is a good first step.

Hyrax 5 upgrade rubocop fixes & get specs running in CI (#2065)

6a48652

  • 🧹Rubocop Fixes

  • Attempt to fix circleci

🧹 Fix CollapsableSectionPresenter override

8ac6d41

The override was causing issues not passing the nav-link class into the
anchor tags. This fix specifically passes the title attribute in vs the
previous implementation of trying to pass all html options in.

🧹 Remove required translations from locales

7254e9f

This commit will remove the override for the required translations
since it changed to a badge badge-style in Bootstrap 4. This is
accounted for in Hyrax so we can fall back to that.

🐛 Fix some javascript errors

0d76532

This commit will fix a few javascript errors, at least enough to get the
the bootstrap javascript to work correctly. We're still getting a the
almond-rails js error but that seems to exist in previous Hyku as well.

Hyrax 5 upgrade rubocop fixes & get specs running in CI (#2065)

a16d786

  • 🧹Rubocop Fixes

  • Attempt to fix circleci

Merge branch 'hyrax-5-upgrade' into bootstrap-5-views

64a630a

🧹 Post review adjustments

c94feea

These are adjustments made after the PR has been reviewed.

Merge pull request #2066 from samvera/bootstrap-5-views

5f83a9a

Bootstrap 5 views

🧹 Clean up a couple blacklight views

4275a22

This commit will account for the new versions of Blacklight and
Blacklight Gallery. The masonry view no longer exists so we can't tell
how it's broken as of right now. I'm sure we'll run into it during our
testing.

NOTE: These changes refer to the shared search tenant.

🧹 Bring back BlacklightHelperBehavior

6563c87

This commit will bring back the BlacklightHelperBehavior module but it
will be namespaced under Hyku to avoid conflicts. We will then
include it in the HyraxHelper module so those methods should override
the ones in Blacklight::BlacklightHelperBehavior.

🧹 Hyrax 5 upgrade additional specs (#2067)

1c04b9e

  • 🧹 More spec & controller fixes

Ref scientist-softserv/hykuup_knapsack#55

  • Contact form controller and pages controller duplicate some of the
    homepage controller behavior, so corresponding fixes are needed.
  • Update collections factory and collection_ability_spec to match hyrax
    and stop calling .gid on a collection_type.
  • Adjust permission_template_form_spec to adjust for removal of method
    reset_access_controls! and add a few new expectations instead.
  • 🧹 Begin work on Roles Service

Working with Permission Templates has changed, requiring an adjustment
to both logic and specs.

  • 🧹 Solr Document Ability Spec

  • Rubocop fixes

  • Fix typo of collection variable

  • Reinstate some collections factory overrides

  • Revert Rubocop changes

Caused spec failure in roles_service_spec.

  • Fix create_default_admin_set_job_spec

  • Restore mistakenly removed capta use

  • 🧹 Stanford import specs

We have plans to remove the Stanford import logic, but for now, this
handles the specs that were failing, in an attempt to get CI to pass.

  • Make Rubocop happy

  • Fix typo

Merge pull request #2069 from samvera/odds-and-ends-blacklight-views

f7d9038

🧹 Clean up a couple blacklight views

Update Hyrax to pull in most recent changes

2845fd5

Merge pull request #2070 from samvera/update-hyrax-double_combo

5655df8

Update hyrax double combo

More spec fixes

ae6b9cd

Menu presenter: removed html_options
Application Helper: override for missing_translations now receives
false when translation wasn't found rather than a string.

Fix missing translation logic

f086c09

Fix missing_translation override

716b7ef

Simplify and fix override. A missing translation now returns false
instead of the text translation missing.

The super method requires the option parameter, so we opted to keep
the override.

🧹 Remove copied code

75d519f

The overrides are no longer necessary. In reviewing the diff between
what I'm removing and what is in the double_combo branch; the major
change was adding an operator for the reduce function. The breaking
problem was that the method signature of one of the copied methods has
changed in Hyrax 5.0.

The removal considers that Hyrax::Group is of two different classes:

  • In Hyrax, it is a plain old Ruby object
  • In Hyku, it is descended from ActiveRecord::Base

The two classes have different instantiation parameters. Hence the
introduction of Hyrax::Group.new in this code.

Merge pull request #2072 from samvera/rework-permission-query

2c64fa3

🧹 Remove copied code

Merge branch 'hyrax-5-upgrade' in

e905068

🧹 Fix missing method name

ac83919

🐛 Ensure :maxFileSize is integer

e33ffab

Prior to this commit, we were casting the value to string. However
Hyrax attempts to do division on that string.

See https://github.com/samvera/hyrax/blob/b7891b758411c59f71ff54212e0d250fcc47e35f/app/views/hyrax/base/_form_files.html.erb#L6-L15

Merge pull request #2071 from samvera/i55-get-specs-passing

5159b57

More spec fixes

Merge pull request #2074 from samvera/fix-size

9e098a8

🐛 Ensure :maxFileSize is integer

Skip taking a picture on failure

0daf9f0

Merge pull request #2075 from samvera/skip-taking-page-snapshot-in-ci

d122f12

Skip taking a picture on failure

🧹 Fix issue regarding Valkyrie::Identifier

6bac28b

The encountered error was:

NoMethodError:
  undefined method `split' for #<Valkyrie::ID:0x0000ffffa5f04bc8
  @id="admin_set/default">

Merge pull request #2076 from samvera/fixing-valkyrie-identifier-not-being-a-string

c786fb8

🧹 Fix issue regarding Valkyrie::Identifier

🧹 Favor Sipity::Entity function over to_sipity_entity

d758340

The Sipity conversion methods are now explicit functions (much like the
Array() function).

Update Hyrax IIIF AV gem

a9dc46e

Merge pull request #2077 from samvera/fix-conversion-to-sipity

b01e6c5

🧹 Favor Sipity::Entity function over to_sipity_entity

🧹 Review controller overrides

095edca

Many of the controllers just needed to be updated with the decorator
pattern. We're creating a new concern for all the Hyku specific
overrides in Hyku::WorksControllerBehavior. This has to be included in
the Controller classes after Hyrax::WorksControllerBehavior to override
the relevant methods.

clean up from pr review

a32c814

Appease rubocop

f4065ea

Update IIIF Print gem

8272321

🤖 Specify Cache Root

5b3089a

Prior to this commit, we were seeing the following failure:

Failure/Error: Site.application_name || super

ActionView::Template::Error:
Permission denied @ dir_s_mkdir - /app

The Account#setup_tenant_cache sets the cache_store to be
ENV.fetch('HYKU_CACHE_ROOT', '/app/samvera/file_cache'). When I
locally chanced it to /blorg/samvera/file_cache I could repeat the
error.

With this commit, we're setting the cache value for the CircleCI run.

Why was it previously working? Perhaps because
Account#setup_tenant_cache never got called due to other
configurations? There is a guard clause around the method call.

🧹 Update spec to reflect AdminSet default behavior

ecbf83e

In the following commit, we removed the deprecated
AdminSet.find_or_create_default_admin_set_id:

This commit follows the advice of the deprecation warning and now favors
the Hyrax::AdminSetCreateService.find_or_create_default_admin_set.id
method call.

Related to:

Merge pull request #2079 from samvera/hyrax-5-upgrade-check-controllers

4f4ccb4

🧹 Review controller overrides

Merge pull request #2081 from samvera/hyrax-5-upgrade-specify-hyku-cache-root

71a303f

🤖 Specify Cache Root

Merge pull request #2082 from samvera/hyrax-5-upgrade-replace-admin-set-generation-method

57bf77c

🧹 Update spec to reflect AdminSet default behavior

Remove obsolete site roles and routes (#2080)

f50b3f5

The site/roles route is obsolete. This is an attempt to remove as much
of the obsolete logic as possible, as it has been replaced by the groups
with roles feature.

Remove stanford importer

c78d7ad

Importer was deprecated in prior release version.

🤖 Fix spec/features/collection_type_spec.rb

aa9a6d7

There are three major changes:

  1. Favor setting collection_type attribute instead of
    collection_type_gid
  2. Change #collections? to #collections#any?
  3. Change CSS selector based on Bootstrap upgrade

The above changes are related to work done in:

See:

🤖 Fix stub methods to pass tests

73359b6

These tests weren't verifying that we could reach Redis; they were
testing the interface of the RedisEndpoint#ping by mocking the
instance.

This commit changes the mocking by avoiding a call to
Hyrax::RedisEventStore.instance which was raising a Redis connection
error.

Again, this test is not is redis connecting but "assume we are trying to
connect to redis now demonstrate ping."

Merge pull request #2085 from samvera/hyrax-5-upgrade-fix-collection-type-feature

a6eaf7a

🤖 Fix spec/features/collection_type_spec.rb

Merge pull request #2084 from samvera/remove-stanford-importer

9183bc4

Remove stanford importer

Lock chromedriver version (#2086)

bee1f4f

Refs
CircleCI-Public/browser-tools-orb#96
CircleCI-Public/browser-tools-orb#75 (comment)

🧹 Clean up model overrides

05d2838

Most of what's in this commit is just updating the Hyrax version in the
override comments. There was also an opportunity to switch the
ContactForm model to a decorator.

Merge pull request #2088 from samvera/hyrax-5-upgrade-check-model-overrides

754013a

🧹 Clean up model overrides

Merge pull request #2087 from samvera/hyrax-5-upgrade-redis-end-point-fix

87ce1dc

🤖 Fix stub methods to pass tests

🤖 Favor general spec over specific

408d518

With the CircleCI alternate place for the file_store cache, we need to
fallback to a more general test assertion.

🤖 Bring over Hyrax spec changes

4319562

🤖 Extract constant to ease testing

13775d6

We're not concerned with where the cached file is for testing purposes;
so instead of hard-coding a value that can change in the ENV, let's
compare the constant that we use in the code.

tl;dr - Don't rely on magic strings

🤖 Re-arrange CleanupAccountJob specs

0dbddad

The CleanupAccountJob was stubbing very nosily; needing to know too
much about implementation details of the end-points. Instead this
preserves the over-view spec (e.g. what all the cleanup spec actually
cleans up) while moving that nosy logic to the constituent endpoint.

Most of these specs are testing that the method chains work; which is
perhaps adequate as the other option is far more expensive tests (e.g.
make a new Fedora node only to then immediately destroy it)

I'm also leveraging the new Redis::Namespace#clear method.

Related to:

🧹 Restore btn-sign-up on splash page

deb76d7

This change was part of the bulk upgrade of Bootstrap 3 to 4.

🧹 Fix ./spec/requests/admin_dashboard_spec.rb spec

338aa71

Prior to this commit, the specs failed because of the introduction of
the WorkflowResponsibilityFormDecorator. The decorator extracted prior
logic from Hyrax::Admin::WorkflowRolesController.

In copying that logic we introduced a subtle bug. Namely, we favored
the original .new behavior if and only if you provided a :user_id.
This broke places where we instantiated the form in a
view (e.g. ./app/views/hyrax/admin/workflow_roles/index.html.erb).

With this change, we make the behavior of .new fail towards its
"normal" implementation and instead rely on the presence of an attribute
to switch to a different form instantatior.

See Commit:

Related to:

Co-authored-by: LaRita Robinson [email protected]
Co-authored-by: Kirk Wang [email protected]

Merge pull request #2091 from samvera/hyrax-5-upgrade-restore-btn-sign-up

97403ce

🧹 Restore btn-sign-up on splash page

🎁 Upgrade Redis initializer to Hyrax 5's gen version

047c8bc

Prior to this commit, when looking at the
Hyrax::RedisEventStore.instance we saw it's connection information as:

#<Redis client v4.8.1 for redis://localhost:6379/0>

We were expecting the connection to be the following:

#<Redis client v4.8.1 for redis://redis:6379/0>

What we were seeing in tests is when we hit the redis connection we were
getting an error about not being able to connect to 127.0.0.1:6379 (e.g.
localhost).

With this commit, we have a clear connection to Redis.

See Redis Config initializer:

Co-authored-by: Kirk Wang [email protected]

🧹 Clean up actors

d35b250

Just found one actor that was overriding Hyrax. This commit will switch
it to a decorator.

Merge pull request #2092 from samvera/hyrax-5-upgrade-workflow-responsibility

b4c0f5e

🧹 Fix ./spec/requests/admin_dashboard_spec.rb spec

Merge pull request #2090 from samvera/hyrax-5-clean-up-actors

8bfed2e

🧹 Clean up actors

Merge pull request #2093 from samvera/hyrax-5-redis-connection

7cd50e0

🎁 Upgrade Redis initializer to Hyrax 5's gen version

🐛 Handle missing labels

55fa158

Adjust paths and keys to look for labels.

Appease the cops

01c8643

🧹 Assigning collection_type

70099cb

The partials rendered in the tested view assume that we've set a
collection type.

Merge pull request #2089 from samvera/hyrax-5-upgrade-spec-fixing

875df7a

Hyrax 5 upgrade spec fixing

Merge pull request #2095 from samvera/hyrax-5-upgrade-fix-identity-providers

00e3ce8

🐛 Handle missing labels

Merge pull request #2094 from samvera/hyrax-5-upgrade-fixing-dashboard-collections

c0bca4a

🧹 Assigning collection_type

Appease rubocop

8748cda

Fixing nav link selectors to new structure

8ca1257

Merge pull request #2096 from samvera/hyrax-5-upgrade-fixing-nav-link-selectors

3c1f35b

Fixing nav link selectors to new structure

Fixing nav link selectors to new structure

fe5fc7c

🧹 Clean up forms

e92726a

The only big thing in this commit is the appearance_decorator. I've
added to the spec to show that the decorator should be working as
intended.

Merge pull request #2097 from samvera/hyrax-5-upgrade-fixing-nav-link-selectors

546dcc5

Fixing nav link selectors to new structure

Merge pull request #2098 from samvera/hyrax-5-forms-cleanup

0444cf5

🧹 Clean up forms

🧹 Fix spec based on HTML class changes

7218001

Merge pull request #2099 from samvera/hyrax-5-upgrade-fixing-nav-link-selectors

f44ed0f

Fixing nav link selectors to new structure

🧹 Narrow specificity of CSS selector

cffe41b

The selector was very specific, and with the HTML class changes for
Bootstrap 3 to 4, this almost certainly broke.

Note, there are still underlying issues with two other specs; there
errors are listed below:

1) Admin can select home page theme when a search results theme is
selected updates the search results page with the selected layout view

Failure/Error: super

     ActionView::Template::Error:
       undefined method `with_collection' for nil:NilClass

🧹 Remove specificity of CSS selectors in test

9c3c46a

The hyper specific selectors are not durable for CSS framework upgrades.

Merge pull request #2100 from samvera/hyrax-5-upgrade-fix-a-few-specs

47648f1

🧹 Narrow specificity of CSS selector

🐛 Adding document_component to blacklight's config

621c9aa

Blacklight 7.35.0 's default document_component is nil, see:

Digging around in the wiki, you might find (only found because I cloned the repo):

Related to:

Merge pull request #2104 from samvera/hyrax-5-upgrade-add-document-component

046c6ea

🐛 Adding document_component to blacklight's config

🧹 Allow :clean or :clean_repo to work for the cleaners

75fc391

Hyrax has :clean_repo and Hyku has :clean

Sometimes folks copy over specs from Hyrax, and bring along the
:clean_repo; which looks like it should work.

With this commit, we bring that logic along!

🧹 Remove skip CI

97e320b

Perhaps it's flappy; but let's see.

🧹 Fix button class for Bootstrap 3 to 4

7184607

Merge pull request #2105 from samvera/hyrax-5-upgrade-allow-clean_repo

9eed101

🧹 Allow :clean or :clean_repo to work for the cleaners

Merge pull request #2103 from samvera/hyrax-5-upgrade-remove-ci-skip-for-collection-type

956249c

🧹 Remove skip CI

Merge pull request #2102 from samvera/hyrax-5-upgrade-restore-ci-spec

b7bc2f2

🧹 Fix button class for Bootstrap 3 to 4

🧹 Favor Layout/LineLength over Metrics/LineLength

681401a

Rubocop seams to prefer the Layout namespace for LineLength.

🧹 The selector is not working

4fb2fa8

Checking the HTML (on the CircleCI SSH environment), it appears that the
selector should work in test. But it is not. So I'm removing the specificity.

Merge pull request #2107 from samvera/hyrax-5-upgrade-remove-rubocop-deprecation

a1e501a

🧹 Favor Layout/LineLength over Metrics/LineLength

Cleaning a spec that should start clean

c681a5d

Merge pull request #2106 from samvera/hyrax-5-upgrade-to-tame-a-failing-spec

28825f9

🧹 The selector is not working

🧹 Ensure feature specs run clean

0616ff2

Prior to this commit, we did not automatically clean the features. The
below ripgrep (and output) shows that there were some features which did
not start from a clean state.

rg "(clean|clean_repo):" spec/features --files-without-match
``

spec/features/accounts_spec.rb
spec/features/proprietor_spec.rb
spec/features/featured_collections_spec.rb
spec/features/user_roles_spec.rb
spec/features/oai_pmh_spec.rb

Merge pull request #2108 from samvera/hyrax-5-upgrade-ensure-feature-specs-run-clean

134c8ff

🧹 Ensure feature specs run clean

Stab at trying to find a problem

342605d

🧹 Clean up services

e718e51

This commit will reconcile the services that are overrides for Hyrax
with the Hyrax 5.0.0rc2 version. There were a number of overrides that
were changed to the decorator pattern.

Moving rescue and documenting the why

fb3459c

Merge branch 'adventist_dev' into hyrax-5-upgrade-with-adventist-dev

dd0d99b

  • adventist_dev:
    Appease rubocop
    clean up from pr review

🧹 Rearrange order of filter chain

1929072

This is not tested in the UI, but the
show_works_or_works_that_contain_files remains after the troublesome
advanced query filters.

Merge pull request #2110 from samvera/hyrax-5-upgrade-with-adventist-dev

488208b

Hyrax 5 upgrade with adventist dev

🧹 Address PR comments

4942fe4

This commit addresses comments from the review but one thing that is of
note is loading the I18n translations in the application.rb file. We
needed this because our decorators load prior to I18n loads the locales
in our config/locales directory for them to use so we were getting
missing translations.

🧹 Attempting to find and squash bug

1476b2b

Merge pull request #2111 from samvera/hyrax-5-upgrade-build-bug-squashing

0ca7ad2

🧹 Attempting to find and squash bug

Merge pull request #2109 from samvera/hyrax-5-clean-up-services

357da53

🧹 Clean up services

♻️ Account for observed customizations

87df9b0

Dear reviewer, put on your reading glasses.

This commit looks at the newly refactored
Hyrax::IiifAv::DisplaysContentDecorator as well as the current state
of PALS's Hyrax::IiifAv::DisplaysContentDecorator and attempts to
account for the variances between the two by introducing configurations.

Yes, we could port this to the hyrax-iiif_av gem, but for now that would
not solve the underlying issue of how we've been handling things.

Why the Hyku::Application class attribute? Because the decorator is
being mixed into a module, which does not response to .class_attribute
methods.

Merge pull request #2115 from samvera/prime-hyrax-5-upgrade-refactor-for-pals

5e58fd9

Prime hyrax 5 upgrade refactor for pals

🧹 Clean up other overrides

3af409b

This commit is aiming to clean up the rest of the found overrides.

🧹 Change locale file load order so that our local files are prioritized

4162498

We add our local config locale directory to the I18n.load_path so that our local files take precendence over the ones found in our gems.

Related issue:

Merge pull request #2118 from samvera/local-file-load-order

5907888

🧹 Change locale file load order so that our local files are prioritized

Merge pull request #2117 from samvera/hyrax-5-clean-up-other-overrides

f311a8e

🧹 Clean up other overrides

🧹 Update IIIF Print and AV gems

e13371f

We were not seeing images loading correctly in the UV because we
introduced the Hyku::WorksControllerBehavior and IIIF Print did not
know about it.

We were seeing a respon to mismatch error in the Hyrax IIIF AV.

Also, the image that I tested was a phone image that apparently had
different ExifImageHeight/ExifImageWidth values than the
ImageHeight/ImageWidth values. This was probably because modern phones
typically generate multiple images so the user can choose the best shot.
The exiftool_image_to_fits.xslt was proritizing the Exif values over the
regular values and would cause our image characterization to have weird
height and width values. The change in this PR prioritizes the regular
over the Exif values.

Ref:

Merge pull request #2119 from samvera/hyrax-5-upgrade-fix-images-in-uv

84fbabf

🧹 Update IIIF Print and AV gems

🐛 Fix video thumbnail generation

577c479

In a previous commit we created the
Hyrax::FileSetDerivativesServiceDecorator to override the default
thumbnails that Hyrax uses but I forgot to add the video thumbnail,
which is fixed here.

Ref

Merge pull request #2120 from samvera/hyrax-5-fix-video-thumbnail

a8d190b

🐛 Fix video thumbnail generation

🧹 Add space between thumbnail and title

f802001

🧹 Update Hyku version

6f97be3

This commit bumps the hyku version from 5.1.0 to 6.0.0.

Merge branch 'hyrax-5-upgrade' into bump-hyku-version

e573197

💄 ruboco fix

0fd6877

Merge pull request #2121 from samvera/bump-hyku-version

0133b09

🧹 Update Hyku version

🧹 Fixing a few styles

e15b2dd

This commit will change the maximized size to match Bootstrap 4 break
points. Also, added btn-secondary to hyku.css so it doesn't get
overriden by appearance styles. Finally, restructured the homepage to
make it look more like Hyrax 5.

sort properties

9ec6d40

adjust screen size

8e4c93f

Merge pull request #2122 from samvera/hyrax-5-fix-css

3c71cb3

Hyrax 5 fix css

🧹 Update rails to 6-1-stable for GoodJob

f33a57b

There is a compatibility issue with Rails 6.1.7.6 and Ruby 3.2 that was
affecting GoodJob. There was a backport to the 6-1-stable branch that
fixes this issue.

See:

Ref:

Merge pull request #2125 from samvera/hyrax-5-get-good-job-working

0405409

🧹 Update rails to 6-1-stable for GoodJob

🎁 only add Good Job classes if it's enabled

826ed40

ref:

♻️ Removing file in favor of comments found in docker-compose.yml

762ab77

Remove file in favor of comments found on lines scientist-softserv/adventist_knapsack#474 - 139, which uses the sleep infinity command to accomplish the same thing.

ref:

Merge pull request #2127 from samvera/hyrax-5-upgrade-pr-feedback

1797a6a

Hyrax 5 upgrade pr feedback

🧹 Remove disabling of Rubocop Naming/PredicateName (#2126)

ef392b4

This cop was originally disabled in order to get specs to run during CI
without code changes. Now that specs are running, the changes can be
safely made to appease rubocop rather than disabling it.

🎁 Add Hyrax version in the footer

5c1deab

Often we forget what version of Hyrax we're running so this should help.

orangewolf and others added 30 commits September 21, 2023 00:18
register and add missing methods to avoid content block errors
cause of Sprockets::FileNotFound in Splash#index error. Doesn't seem necessary.
ShanaLMoore and others added 11 commits January 2, 2024 10:28
🧹 Change locale file load order so that our local files are prioritized
We were not seeing images loading correctly in the UV because we
introduced the `Hyku::WorksControllerBehavior` and IIIF Print did not
know about it.
  - scientist-softserv/iiif_print@cad2cf3

We were seeing a respon to mismatch error in the Hyrax IIIF AV.
  - samvera-labs/hyrax-iiif_av@4723b8f

Also, the image that I tested was a phone image that apparently had
different ExifImageHeight/ExifImageWidth values than the
ImageHeight/ImageWidth values.  This was probably because modern phones
typically generate multiple images so the user can choose the best shot.
The exiftool_image_to_fits.xslt was proritizing the Exif values over the
regular values and would cause our image characterization to have weird
height and width values.  The change in this PR prioritizes the regular
over the Exif values.

Ref:
  - scientist-softserv/hykuup_knapsack#68
In a previous commit we created the
`Hyrax::FileSetDerivativesServiceDecorator` to override the default
thumbnails that Hyrax uses but I forgot to add the video thumbnail,
which is fixed here.

Ref
  - scientist-softserv/hykuup_knapsack#69
This commit bumps the hyku version from 5.1.0 to 6.0.0.
This commit will change the maximized size to match Bootstrap 4 break
points.  Also, added btn-secondary to hyku.css so it doesn't get
overriden by appearance styles.  Finally, restructured the homepage to
make it look more like Hyrax 5.
There is a compatibility issue with Rails 6.1.7.6 and Ruby 3.2 that was
affecting GoodJob.  There was a backport to the 6-1-stable branch that
fixes this issue.

See:
  - rails/rails#46895

Ref:
  - scientist-softserv/hykuup_knapsack#67
🧹 Update `rails` to `6-1-stable` for GoodJob
Copy link
Member

@orangewolf orangewolf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a few fairly minor comments. please forgive the ones about the names params. I didn't understand that the ruby version we were using did away with the need for id: id type syntax. I'll close those comments as soon as this gets submitted.

app/controllers/admin/users_controller.rb Show resolved Hide resolved
app/controllers/application_controller.rb Show resolved Hide resolved
app/controllers/application_controller.rb Outdated Show resolved Hide resolved
app/controllers/application_controller.rb Outdated Show resolved Hide resolved
app/helpers/admin_stats_helper.rb Show resolved Hide resolved
app/helpers/hyrax_helper.rb Show resolved Hide resolved
@@ -29,6 +29,9 @@ def switch!

# Remove the solr collection then destroy this record
def remove!
# NOTE: Other end points first call switch!; is that an oversight? Perhaps not as we're relying
# on a scheduled job to do the destructive work.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its likely an oversight. you dont really want to use the one you're removing.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jeremyf may need to address this one. We aren't fully understanding the context here.

bin/spring Show resolved Hide resolved
config/initializers/apartment.rb Outdated Show resolved Hide resolved
docker-compose.bundle.yml Outdated Show resolved Hide resolved
Remove file in favor of comments found on lines #138 - 139, which uses the sleep infinity command to accomplish the same thing.

ref:
- https://devopscube.com/keep-docker-container-running/
ShanaLMoore and others added 2 commits January 4, 2024 09:24
This cop was originally disabled in order to get specs to run during CI
without code changes. Now that specs are running, the changes can be
safely made to appease rubocop rather than disabling it.
@ShanaLMoore ShanaLMoore requested a review from orangewolf January 4, 2024 21:07
@ShanaLMoore ShanaLMoore marked this pull request as ready for review January 4, 2024 21:09
Often we forget what version of Hyrax we're running so this should help.
@ShanaLMoore ShanaLMoore merged commit 17c9192 into main Jan 5, 2024
4 checks passed
@ShanaLMoore ShanaLMoore deleted the hyrax-5-upgrade branch January 5, 2024 18:12
@jeremyf jeremyf mentioned this pull request Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major-ver for release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants