Skip to content

Releases: samvera/hyrax

Hyrax 2.1.0.beta1

28 Feb 03:58
e88981a
Compare
Choose a tag to compare
Hyrax 2.1.0.beta1 Pre-release
Pre-release

See full release notes for 2.1.0.
Changes: v2.0.1...v2.1.0.beta1

Hyrax 2.0.1

13 Dec 16:22
dc1c9ae
Compare
Choose a tag to compare

Hyrax 2.0.1 is a bug fix release that enables Hyrax to be used with Rails 5.1 and MySQL.

Upgrade Notes

Update your Gemfile to use version 2.0.1 and run bundle update --conservative hyrax.

Change Log

v2.0.0...v2.0.1

Hyrax 2.0.0

01 Sep 21:04
10c9f49
Compare
Choose a tag to compare

Hyrax 2.0.0 includes many new features and bug fixes. Highlights include:

  • Consolidated user and admin dashboards into a single, collapsible dashboard, including new functionality to:
    • Change site colors via dashboard settings UI
    • Customize About, Help, Terms, and Agreement pages in an in-browser editor
  • Translated user interface into five new languages: German, French, Italian, Portuguese, and Chinese (adding to English and Spanish)
  • Added embargo and lease management views
  • Disentangled licenses from rights statements, making rights statements a required field by default. You may need to update your translation files to use the new rights_statement_tesim instead of the old rights_tesim
  • Moved editable content blocks from homepage into dashboard settings UI
  • Improved ingest job pipeline, now agnostic with regard to whether ingest is happening in a single-filesystem context or a multi-node/cloud context
  • Improved support for nested data structures and controlled vocabularies in metadata fields, connecting GeoNames to the Location field and persisting both labels and URIs
  • Added a new background job for invoking the Fedora import-export tool
  • Granted all administrative users the ability to manage all administrative sets

Install Notes

If you are installing a new Hyrax application using Rails 5.1 and MySQL, you will want to use Hyrax 2.0.1 instead, which works around a bug in the MySQL ActiveRecord adapter.

Upgrade Notes

New database migrations

Generate new database migrations into your application and apply them:

rails hyrax:install:migrations
rails db:migrate

Work type-specific metadata changes

If you have customized the metadata in any generated work types (in app/models/YOUR_WORK_TYPE.rb), make sure that include ::Hyrax::BasicMetadata appears below any custom predicate definitions. If if appears above these, you can expect to see ActiveTriples::UndefinedPropertyError.

Catalog controller

The 'rights' field has been replaced with 'rights_statement' and 'license' in app/controllers/catalog_controller.rb. If you use the 'rights' field and want to use 'license' and 'rights_statement', you can apply these changes to your application's catalog controller: 7815f7a#diff-bdf859c784271d81391867ef1edf1f79

Reindex works

To fix #1769 (related to Review Submissions UI), the code that indexes workflow information needed to be changed to reflect that workflows are not shared among Admin Sets. You will need to reindex all of your works in Solr after upgrading to Hyrax 2.0.0.

User notifications

Please see the Hyrax Management Guide for a thorough discussion of this change, and what it will require. Of particular note: if you're upgrading from a prior version of Hyrax, there's a new config option you can add to config/initializers/hyrax.rb to disable/enable realtime user notifications:

  config.realtime_notifications = true

The default value, as above, is true. If you don't need realtime notifications in the browser, you can set this to false. Note also that if you deploy your Hyrax-based application under Passenger + Apache, you won't be able to use this feature. Hyrax is smart enough to detect when it's being deployed in this way, and will automatically turn this feature off and generate warnings so you're aware that the app has disobeyed you. Set this option to false in the Hyrax initializer to stop seeing this warning. Note that users will still see notifications with this feature off -- they just won't appear until the next page load/refresh.

Controller behavior modules removed

If you use to override a controller and include a module such as Hyrax::DownloadBehavior, you must switch to injecting your behavior on these classes instead, as the behavior modules have been eliminated.

You can do this by using Module#prepend. We recommend you do this in the to_prepare hook as it supports code reloading in development mode. For example:

 # config/application.rb
    config.to_prepare do
      Hyrax::DownloadsController.prepend MyCustomBehavior
    end

View changes

If you have overridden app/views/_user_util_links.html.erb in your application, you will need to replace the following line:

      <%= render 'hyrax/users/notify_number' %>

with:

     <%= render_notifications(user: current_user) %>

If you have overridden any of Hyrax's views or partials, please compare them to what is in Hyrax to look for changes you'll need to reflect in your overrides. You can do this comparison via a command like:

diff -srw app/views/ $(bundle show hyrax)/app/views/

Accessibility changes

To increase color contrast, you can use some Bootstrap SASS overrides that Hyrax provides by adding the following line above any Bootstrap-related imports in app/assets/stylesheets/hyrax.scss:

@import "bootstrap-default-overrides";

Rights Statements service

If your application code interacts with the rights statement service, this has been renamed from RightsStatements to RightsStatementService. Update these references to avoid breakages.

Search builder module changes

Those search builders that used to start with My (as well as the FindWorksSearchBuilder) have been moved to the My module (e.g. MyWorksSearchBuilder is now My::WorksSearchBuilder)

Administrative Set relationship

By default, Administrative Sets and their member objects use the Dublin Core Terms predicate isPartOf to express the membership relationship. Hyrax also allows use of a custom predicate for this relationship. To customize the predicate, point the Hyrax configuration option admin_set_predicate (in config/initializers/hyrax.rb) at another RDF term or a URI object.

Allowing customization is the first step towards changing the default predicate for this relation. After the 2.0.0 release, Hyrax will warn users about using isPartOf for this purpose and add migration tooling for production instances using isPartOf. The default will change in Hyrax 3.0.0.

Configuration options changed

A new configuration option has been added to restrict what directories can be used to upload files from BrowseEverything, whitelisted_ingest_dirs.

If you uncommented and set the configuration properties binaries_directory or descriptions_directory (which weren't actually used), you now need to set bagit_directory instead.

Additionally, the notifications_update_poll_interval configuration property has been removed.

A new configuration option has been added that allows you to control parameters of the file uploader. You can add this to your Hyrax initializer and, if you wish, uncomment the defaults and tweak it to match your needs:

  # Options to control the file uploader
  # config.uploader = {
  #   limitConcurrentUploads: 6,
  #   maxNumberOfFiles: 100,
  #   maxFileSize: 500.megabytes
  # }

File-related actors

The actor that used to act upon the :files attribute, AttachFilesActor, was removed as largely duplicative code and was subsumed into the CreateWithFilesActor. The actor stack now uses the :uploaded_files attribute, and expects it to contain Hyrax::UploadedFiles.

New locales

Re-generate your work types to pick up new translations via rails g hyrax:work YourWorkNameHere This will prompt you a number of times about overwriting files already in your application -- rely on version control here. You may want to have a clean (code) repository before running this task, so you can closely examine the differences.

Removed Deprecations from 1.x Release Series

Several methods and options deprecated during the 1.x release series are removed. These include:

  • max_days_between_audits is now max_days_between_fixity_checks;
  • always_display_share_button is now display_share_button_when_not_logged_in.
  • AssignRepresentativeActor was a no-op, and the class is removed.

Changes

v2.0.0.beta1...v2.0.0
1-0-stable...v2.0.0

Hyrax 1.0.5

10 Oct 21:55
b155a6c
Compare
Choose a tag to compare

Hyrax 1.0.5 is a bug fix release that validates local file ingestions (i.e., from BrowseEverything) against a whitelist of directories.

Upgrade Notes

Update your Gemfile to use version 1.0.5 and run bundle update --conservative hyrax

Change Log

v1.0.4...v1.0.5

v1.0.4

22 Aug 18:12
Compare
Choose a tag to compare

Bugfix release

Bugs fixed:

  • #1372 Stop adding periods to end of citations
  • #1398 Hyrax::CurationConcern.actor_factory not being set correctly
  • #1404 file_set_audit_service fails when a file does not have versions

PRs included:

  • 2017-08-21: Prep for 1.0.4 release [Bess Sadler]
  • 2017-08-04: Do not configure actor factory in engine [Michael J. Giarlo]
  • 2017-06-08: Pass the correct data attribute value to the work search [Lee Hunter]
  • 2017-08-01: CurationConcern.actor_factory does not need to be settable. Fixes #1398 [Michael J. Giarlo]
  • 2017-04-11: The Work constructor only takes three arguments [Lee Hunter]
  • 2017-08-01: Do not throw an error when encountering an unversioned file. Fixes #1404 [Bess Sadler]
  • 2017-07-27: Backport 1372 (#1397) [Michael J. Giarlo]
  • 2017-07-19: Further tweak gemspec dependencies [dheles]
  • 2017-07-19: Tweak gemspec dependencies [dheles]
  • 2017-07-19: Fix double twiddle-wakkas [dheles]
  • 2017-07-19: Lock down dependencies in gemspec [dheles]

Version 1.0.3

19 Jul 13:28
Compare
Choose a tag to compare

Hyrax 1.0.3 is a bug fix release.

Upgrade Notes

Update your Gemfile to use version 1.0.3 and run bundle update --conservative hyrax

Change Log

2017-07-18: Update hyrax to use standardized license naming [Jack Reed and Mike Giarlo]

2017-07-18: Prep for 1.0.3 release [Drew Heles]

2017-07-07: Improved docs for Sipity::Entity [Bess Sadler]

2017-07-07: Improve documentation for AbstractNotification class [Bess Sadler]

2017-06-08: Pass the correct data attribute value to the work search [Justin Coyne]

2017-05-25: Load works without regard for the model type that backs the form
[Justin Coyne]

2017-05-25: cast column to a type that will behave properly with the adapter in
use [Josh Gum]

2017-05-16: Fix visibility form collapse/expand for batches [Glen Horton]

2017-05-17: Fix Browse Everything when work is being edited [Glen Horton]

2017-06-07: Render the tranfers form with simple form and translations [Justin Coyne]

2017-06-07: Show the tranfers form if there's an error. [Justin Coyne]

2017-06-19: Create and use a download permission [Justin Coyne]

2017-06-19: Admins should be able to download all files [Justin Coyne]

2017-06-14: Update collection/batch javascript to use data attributes [Justin Coyne]

2017-06-14: Fix counts to look at the new inverted collection relationship [Justin Coyne]

2017-03-24: Absolute path to the microdata config file. Fixes #640 [Justin Coyne]

2017-06-15: Update dependencies which saves and retreives charset [Justin Coyne]

Version 1.0.2

30 Jun 13:14
Compare
Choose a tag to compare

Hyrax 1.0.2 is a bug fix release.

Upgrade Notes

Update your Gemfile to use version 1.0.2 and run bundle update --conservative hyrax .

If you encounter an error message like

ActionView::Template::Error:
       No such file or directory @ rb_sysopen - config/schema_org.yml

You need to copy the config/schema_org.yml file from the hyrax gem into your local application's config directory.

Change Log

2017-06-20: When searching join the FileSets to the works. [Justin Coyne]

2017-06-23: Sometimes WorkBehavior objects inherit Noid instead of Hyrax::Noid. Fixes #1297 [Bess Sadler]

2017-06-08: change route for redirect to dashboard_works_path [Justin Coyne]

2017-04-17: Changed after_destroy to before_destroy for cleaning derivatives. Added a delete work feature spec. Removed hardcoded path to my works, use hyrax.my_works_path [Justin Coyne]

2017-03-22: Move microdata out of translation files. Fixes #536 [Justin Coyne]

2017-05-26: [travis] test against Rails 5.0.3 [Alex Dunn]

2017-04-29: Add rails 5.1.0 to the test matrix [Alex Dunn]

2017-05-18: Use valid uploaded files [Alex Dunn]

2017-05-19: Update generator to use jquery_ujs [Alex Dunn]

2017-05-19: Add documentation to a method [Alex Dunn]

2017-05-18: Generate the datatables assets [Alex Dunn]

2017-05-18: Updating ActiveRecord relationships for Rails 5.1 changes [Alex
Dunn]

2017-05-17: Relax active_attr dependency specification [Justin Coyne]

2017-04-25: Use versioned migrations [Justin Coyne]

Version 1.0.1

24 May 19:19
Compare
Choose a tag to compare

Version 1.0.0 was accidentally released from the master branch. In order to correct this we yanked version 1.0.0 and pushed a version from the correct (1-0-stable) branch as 1.0.1.

This release provides a bridge from Sufia 7.3 to Hyrax.

Upgrade Notes

Getting started

  • Upgrade to Rails 5.0.x
  • Replace the sufia gem with hyrax (1.0.0) in your application's Gemfile, and run bundle install
  • Make sure any tweaks made in the Sufia or CC initializer move over into the Hyrax initializer. To do this, copy the Hyrax 1.0.0 initializer to config/initializers/hyrax.rb, then update it to include changes you have made to your CurationConcerns & Sufia initializers (at which point you should be able to safely remove the old initializers)
  • Global search & replace Sufia and CurationConcerns to Hyrax, on file names, folder names, and file contents. Note that while it should be safe to replace 'sufia' with 'hyrax', 'Sufia' with 'Hyrax', and 'CurationConcerns' with 'Hyrax', it is not safe to automate replacement of 'curation_concerns' with 'hyrax'. Lean on version control here to make sure you don't make any changes that will cause problems later. You may find that this process causes some duplicate lines -- go through and remove those now.

Routes

  • Remove Hydra::BatchEdit.add_routes(self)
  • Remove curation_concerns_collections

Models

  • Create a database migration to rename the sufia_features table to hyrax_features
  • Install Hyrax's database migrations: rails hyrax:install:migrations (You may see a bunch of warnings here about Hyrax's migrations looking similar to Sufia's. That's to be expected.)
  • Create a new migration via rails g migration RemoveWorkflowNameFromPermissionTemplates. Make sure it includes the following method definition:
  def change
    remove_column :permission_templates, :workflow_name, :string
  end
  • Run rails db:migrate

Controllers

  • Remove include CurationConcerns::CurationConcernController from all controllers.
  • Ensure that self.curation_concern_type = YourWorkTypeHere comes after include Hyrax::WorksControllerBehavior in your work type controllers
  • Remove include Hyrax::Catalog from app/controllers/catalog_controller.rb
  • Change config.search_builder_class in app/controllers/catalog_controller.rb to equal Hyrax::CatalogSearchBuilder
  • Remove include Hyrax::ApplicationControllerBehavior from app/controllers/application_controller.rb
  • Remove app/controllers/hyrax/admin_controller.rb since the AdminControllerBehavior no longer exists

Views

If you've overridden or created any static pages in your application, you will need to move them from app/views/static/ to app/views/hyrax/static/.

Minter state

  • Install the new database-backed identifier minter (if not already done) via rails generate active_fedora:noid:install
  • Migrate your database again via rails db:migrate
  • Migrate your file-based minter state to the new db-based minter state via rails active_fedora:noid:migrate:file_to_database

Other steps

  • You should be able to safely remove app/helpers/curation_concerns_helper.rb
  • Remove the files app/assets/javascripts/batch_edit.js and app/assets/stylesheets/batch_edit.scss
  • Add Blacklight internationalization keys (from CurationConcerns) to config/locales/hyrax.en.yml in your application if not already present: https://github.com/projecthydra-labs/hyrax/blob/037d75dcf979b0a37536e03a4bef40415813734d/lib/generators/hyrax/templates/config/locales/hyrax.en.yml#L1-L44
  • For each work type (or "curation concern") you generated in Sufia, regenerate them with Hyrax's work generator. It should prompt you whether you want to override files. You may want to do this and then examine the changes it made, restoring any customizations your application requires. (Again, version control will be your friend here.)

AdminSet Workflow

  • Workflows changed subtly between Sufia 7.3 and Hyrax such that now an AdminSet has both available workflows and an active workflow. No tools have yet been built to automate mapping workflows into the new structure, so you should make sure workflows are loaded (rails hyrax:workflow:load) and then use the UI to make sure a workflow is selected for each of your AdminSets.
  • Ensure a Hyrax::PermissionTemplate exists for your each of your AdminSets. You can create this for the Default AdminSet via:
permission_template = Hyrax::PermissionTemplate.create!(admin_set_id: "admin_set/default")
Hyrax::Workflow::WorkflowImporter.method(:load_workflow_for).call(permission_template: permission_template)
workflow = Sipity::Workflow.activate!(permission_template: permission_template, workflow_name: Hyrax.config.default_active_workflow_name)
# Run the following steps only for the default AdminSet
permission_template.access_grants.create(agent_type: 'group', agent_id: 'registered', access: 'deposit')
deposit = Sipity::Role.find_by_name!('depositing')
workflow.update_responsibilities(role: deposit, agents: Hyrax::Group.new('registered'))

Data Migration

Sufia 7.3 utilized CurationConcerns 1.7, but Hyrax was created from CurationConcerns 2.0. Collection membership changed direction as part of CC 2.0. Run the data migration script that reverses this membershp on your objects:

rails hyrax:migrate:collections RAILS_ENV=production

Contributing to the Release Notes

As you are migrating your application from Sufia to Hyrax, if you encounter missed steps, please submit an issue to the Hyrax team.

Hyrax 1.0.0

23 May 19:55
Compare
Choose a tag to compare

This release provides a bridge from Sufia 7.3 to Hyrax.

Changes (in rough order)

Getting started

  • Upgrade to Rails 5.0.x
  • Replace the sufia gem with hyrax (1.0.0) in your application's Gemfile, and run bundle install
  • Make sure any tweaks made in the Sufia or CC initializer move over into the Hyrax initializer. To do this, copy the Hyrax 1.0.0 initializer to config/initializers/hyrax.rb, then update it to include changes you have made to your CurationConcerns & Sufia initializers (at which point you should be able to safely remove the old initializers)
  • Global search & replace Sufia and CurationConcerns to Hyrax, on file names, folder names, and file contents. Note that while it should be safe to replace 'sufia' with 'hyrax', 'Sufia' with 'Hyrax', and 'CurationConcerns' with 'Hyrax', it is not safe to automate replacement of 'curation_concerns' with 'hyrax'. Lean on version control here to make sure you don't make any changes that will cause problems later. You may find that this process causes some duplicate lines -- go through and remove those now.

Routes

  • Remove Hydra::BatchEdit.add_routes(self)
  • Remove curation_concerns_collections

Models

  • Create a database migration to rename the sufia_features table to hyrax_features
  • Install Hyrax's database migrations: rails hyrax:install:migrations (You may see a bunch of warnings here about Hyrax's migrations looking similar to Sufia's. That's to be expected.)
  • Create a new migration via rails g migration RemoveWorkflowNameFromPermissionTemplates. Make sure it includes the following method definition:
  def change
    remove_column :permission_templates, :workflow_name, :string
  end
  • Run rails db:migrate

Controllers

  • Remove include CurationConcerns::CurationConcernController from all controllers.
  • Ensure that self.curation_concern_type = YourWorkTypeHere comes after include Hyrax::WorksControllerBehavior in your work type controllers
  • Remove include Hyrax::Catalog from app/controllers/catalog_controller.rb
  • Change config.search_builder_class in app/controllers/catalog_controller.rb to equal Hyrax::CatalogSearchBuilder
  • Remove include Hyrax::ApplicationControllerBehavior from app/controllers/application_controller.rb
  • Remove app/controllers/hyrax/admin_controller.rb since the AdminControllerBehavior no longer exists

Views

If you've overridden or created any static pages in your application, you will need to move them from app/views/static/ to app/views/hyrax/static/.

Minter state

  • Install the new database-backed identifier minter (if not already done) via rails generate active_fedora:noid:install
  • Migrate your database again via rails db:migrate
  • Migrate your file-based minter state to the new db-based minter state via rails active_fedora:noid:migrate:file_to_database

Other steps

  • You should be able to safely remove app/helpers/curation_concerns_helper.rb
  • Remove the files app/assets/javascripts/batch_edit.js and app/assets/stylesheets/batch_edit.scss
  • Add Blacklight internationalization keys (from CurationConcerns) to config/locales/hyrax.en.yml in your application if not already present: https://github.com/projecthydra-labs/hyrax/blob/037d75dcf979b0a37536e03a4bef40415813734d/lib/generators/hyrax/templates/config/locales/hyrax.en.yml#L1-L44
  • For each work type (or "curation concern") you generated in Sufia, regenerate them with Hyrax's work generator. It should prompt you whether you want to override files. You may want to do this and then examine the changes it made, restoring any customizations your application requires. (Again, version control will be your friend here.)

AdminSet Workflow

  • Workflows changed subtly between Sufia 7.3 and Hyrax such that now an AdminSet has both available workflows and an active workflow. No tools have yet been built to automate mapping workflows into the new structure, so you should make sure workflows are loaded (rails hyrax:workflow:load) and then use the UI to make sure a workflow is selected for each of your AdminSets.
  • Ensure a Hyrax::PermissionTemplate exists for your each of your AdminSets. You can create this for the Default AdminSet via:
permission_template = Hyrax::PermissionTemplate.create!(admin_set_id: "admin_set/default")
Hyrax::Workflow::WorkflowImporter.method(:load_workflow_for).call(permission_template: permission_template)
workflow = Sipity::Workflow.activate!(permission_template: permission_template, workflow_name: Hyrax.config.default_active_workflow_name)
# Run the following steps only for the default AdminSet
permission_template.access_grants.create(agent_type: 'group', agent_id: 'registered', access: 'deposit')
deposit = Sipity::Role.find_by_name!('depositing')
workflow.update_responsibilities(role: deposit, agents: Hyrax::Group.new('registered'))

Data Migration

Sufia 7.3 utilized CurationConcerns 1.7, but Hyrax was created from CurationConcerns 2.0. Collection membership changed direction as part of CC 2.0. Run the data migration script that reverses this membershp on your objects:

rails hyrax:migrate:collections RAILS_ENV=production

Contributing to the Release Notes

As you are migrating your application from Sufia to Hyrax, if you encounter missed steps, please submit an issue to the Hyrax team.

Version 1.0.0.rc2

22 Mar 22:27
0b663c4
Compare
Choose a tag to compare
Version 1.0.0.rc2 Pre-release
Pre-release

This release provides a bridge from Sufia 7.3 to Hyrax.

Changes (in rough order)

Getting started

  • Upgrade to Rails 5.0.x
  • Replace the sufia gem with hyrax (1.0.0.rc1) in your application's Gemfile, and run bundle install
  • Make sure any tweaks made in the Sufia or CC initializer move over into the Hyrax initializer. To do this, copy the Hyrax 1.0.0 initializer to config/initializers/hyrax.rb, then update it to include changes you have made to your CurationConcerns & Sufia initializers (at which point you should be able to safely remove the old initializers)
  • Global search & replace Sufia and CurationConcerns to Hyrax, on file names, folder names, and file contents. Note that while it should be safe to replace 'sufia' with 'hyrax', 'Sufia' with 'Hyrax', and 'CurationConcerns' with 'Hyrax', it is not safe to automate replacement of 'curation_concerns' with 'hyrax'. Lean on version control here to make sure you don't make any changes that will cause problems later. You may find that this process causes some duplicate lines -- go through and remove those now.

Routes

  • Remove Hydra::BatchEdit.add_routes(self)
  • Remove curation_concerns_collections

Models

  • Create a database migration to rename the sufia_features table to hyrax_features
  • Install Hyrax's database migrations: rails hyrax:install:migrations (You may see a bunch of warnings here about Hyrax's migrations looking similar to Sufia's. That's to be expected.)
  • Create a new migration via rails g migration RemoveWorkflowNameFromPermissionTemplates. Make sure it includes the following method definition:
  def change
    remove_column :permission_templates, :workflow_name, :string
  end
  • Run rails db:migrate

Controllers

  • Remove include CurationConcerns::CurationConcernController from all controllers.
  • Ensure that self.curation_concern_type = YourWorkTypeHere comes after include Hyrax::WorksControllerBehavior in your work type controllers
  • Remove include Hyrax::Catalog from app/controllers/catalog_controller.rb
  • Change config.search_builder_class in app/controllers/catalog_controller.rb to equal Hyrax::CatalogSearchBuilder
  • Remove include Hyrax::ApplicationControllerBehavior from app/controllers/application_controller.rb
  • Remove app/controllers/hyrax/admin_controller.rb since the AdminControllerBehavior no longer exists

Minter state

  • Install the new database-backed identifier minter (if not already done) via rails generate active_fedora:noid:install
  • Migrate your database again via rails db:migrate
  • Migrate your file-based minter state to the new db-based minter state via rails active_fedora:noid:migrate:file_to_database

Other steps

  • You should be able to safely remove app/helpers/curation_concerns_helper.rb
  • Remove the files app/assets/javascripts/batch_edit.js and app/assets/stylesheets/batch_edit.scss
  • Add Blacklight internationalization keys (from CurationConcerns) to config/locales/hyrax.en.yml in your application if not already present: https://github.com/projecthydra-labs/hyrax/blob/037d75dcf979b0a37536e03a4bef40415813734d/lib/generators/hyrax/templates/config/locales/hyrax.en.yml#L1-L44
  • For each work type (or "curation concern") you generated in Sufia, regenerate them with Hyrax's work generator. It should prompt you whether you want to override files. You may want to do this and then examine the changes it made, restoring any customizations your application requires. (Again, version control will be your friend here.)

AdminSet Workflow

  • Workflows changed subtly between Sufia 7.3 and Hyrax such that now an AdminSet has both available workflows and an active workflow. No tools have yet been built to automate mapping workflows into the new structure, so you should make sure workflows are loaded (rails hyrax:workflow:load) and then use the UI to make sure a workflow is selected for each of your AdminSets.
  • Ensure a Hyrax::PermissionTemplate exists for your each of your AdminSets. You can create this for the Default AdminSet via:
permission_template = Hyrax::PermissionTemplate.create!(admin_set_id: "admin_set/default")
Hyrax::Workflow::WorkflowImporter.method(:load_workflow_for).call(permission_template: permission_template)
workflow = Sipity::Workflow.activate!(permission_template: permission_template, workflow_name: Hyrax.config.default_active_workflow_name)
# Run the following steps only for the default AdminSet
permission_template.access_grants.create(agent_type: 'group', agent_id: 'registered', access: 'deposit')
deposit = Sipity::Role.find_by_name!('depositing')
workflow.update_responsibilities(role: deposit, agents: Hyrax::Group.new('registered'))

Data Migration

Sufia 7.3 utilized CurationConcerns 1.7, but Hyrax was created from CurationConcerns 2.0. Collection membership changed direction as part of CC 2.0. Run the data migration script that reverses this membershp on your objects:

rails hyrax:migrate:collections RAILS_ENV=production

Contributing to the Release Notes

As you are migrating your application from Sufia to Hyrax, if you encounter missed steps, please submit an issue to the Hyrax team.