Avalon 7.7 requires a full reindex due to performance improvements introduced in this release. You may also want to upgrade your version of Solr to 9.x at this time.
Requirements
Ruby 3.2.x and Node.js 20.x are recommended.
Config changes
Recaptcha v2 checkbox (default) or v3 can be enabled and configured in settings.yml
recaptcha: site_key: # Setting a site_key will enable recaptcha on the comments form secret_key: # Required along with site_key type: "v2_checkbox" # or "v3" v3: action: "comment" minimum_score: 0.5
The language code for default captions language now requires a 3 letter ISO 639-2 code.
caption_default: # Language should be 3 letter ISO 639-2 code language: 'eng' name: 'English'
Upgrade Steps
For Manual Installations
Install Ruby 3.2.x
Update gems, and migrate DB
bundle install --with production --without development test RAILS_ENV=production bundle exec rake db:migrate
Install node.js 20.x (if needed)
Update JS dependencies
yarn install # in Avalon root dir
Update configuration, see Config changes above
Restart passenger (if using)
passenger-config restart-app
Install Solr 9 (optional)
Make backup of existing Solr using instructions on https://samvera.atlassian.net/wiki/spaces/AVALON/pages/2303328775/Backing+up+and+restoring+supporting+services#Solr
Setup Solr 9 in the same location as previous Solr
Or a new location and update config files (solr.yml and blacklight.yml)
Run reindex
RAILS_ENV=production nohup bundle exec rails r script/reindex.rb -v --parallel-indexing
Run rake migrations
RAILS_ENV=production bundle exec rake avalon:migrate:collection_managers RAILS_ENV=production bundle exec rake avalon:migrate:caption_files
For Docker Installations
Stop Avalon
docker-compose down
Backup solr data using instructions on https://samvera.atlassian.net/wiki/spaces/AVALON/pages/2303328775/Backing+up+and+restoring+supporting+services#Solr
Update new code from avalon-docker
git checkout main git pull
Pull new images
docker-compose pull avalon solr
Check config changes then restart the Avalon containers
docker-compose up avalon worker
Run reindex (inside avalon container)
RAILS_ENV=production nohup bundle exec rails r script/reindex.rb -v --parallel-indexing
Run rake migrations (inside avalon container)
RAILS_ENV=production bundle exec rake avalon:migrate:collection_managers RAILS_ENV=production bundle exec rake avalon:migrate:caption_files
You can also build your own image, Docker Buildkit is recommended
docker-compose build avalon