The major features of this release include:
- Collection Extensions with collection types and control over collection nesting, sharing, discovery, branding, and membership in collections.
- UniversalViewer for images in works
- UI/UX improvements
Upgrade Notes
Migration Procedures from Hyrax 2.0.x to 2.1.0
The following steps describe the process for migrating to Hyrax 2.1.0 which includes the Collection Extensions work. The steps should be run in the order presented.
Update gem
Edit Gemfile or gemspec to update the version of hyrax.
gem 'hyrax', '2.1.0'
and run
bundle update hyrax
Database: Application DB changes are all covered by db:migrate
- NEW: table to hold collection types
- NEW: table to hold collection type participants
- NEW: table to hold collection branding information (e.g. info about banner and logo images)
- MODIFIED: table permissions_templates - rename
admin_set_id
tosource_id
Run migrations to get database changes...
rails hyrax:install:migrations
rails db:migrate
You will also need to run migrate for tests to update your test database.
rails db:migrate RAILS_ENV=test
Default Collection Types
An existing app will have to run a generator to add the pre-defined collection types: user_collection
and admin_set
rails hyrax:default_collection_types:create
NOTE: db:migrate
must be run before running the generator for default collection types.
Collection Migration
Fedora/Solr Collection Model
CE adds one property to Collections model... collection_type_gid
, which identifies the type (RDF::Vocab::SCHEMA.additionalType
) of each collection. The gid is generated based on the collection type id (e.g. gid://internal/hyrax-collectiontype/:id
).
Migration Process
The migration process performs two updates for every collection...
- store the User Collection gid as the collection type for all legacy collections
- add a Permission Template and set Accesses based on sharing information in the legacy collection
NOTE: Solr and Fedora services need to be running when this script is called.
rails hyrax:migrate:add_collection_type_and_permissions_to_collections
Instructions for setting up the UniversalViewer for images in works
UniversalViewer setup is in the Management Guide in section Image Server
Tinymce configuration changes
Some modifications were made to the tinymce editor configuration. If you are creating a new app, these configurations will be made for you as part of the hyrax installation process. If you are migrating an app, you will want to review your app's config/tinymce.yml file and compare it to the new one in Hyrax at hyrax/lib/generators/hyrax/templates/config/tinymce.yml.
Avoid flash messages being swallowed for XHR requests
Flash messages are being discarded by Blacklight for XHR requests. To avoid this, add the following line to your app at app/controllers/application_controller.rb
.
skip_after_action :discard_flash_if_xhr
Avoid Performance Issues with solr-suggest
Recommended for all Hyrax apps.
It is strongly suggested that you turn off solr-suggest. Details on why and how to do this are in Fix performance issue caused by solr-suggest.
Troubleshooting Migration
Fellow Hyrax developers are gathering their experiences with Troubleshooting Migration from Hyrax 2.0.x to 2.1.0. You may want to visit this guide and contribute your experiences.