Skip to content

v10.0.0

Latest

Choose a tag to compare

@laritakr laritakr released this 12 Oct 22:09
· 14 commits to main since this release
0f36eb4

Upgrade to Bulkrax 10.0

Bulkrax 10.0 is a major release; the two operational breaking changes are authorization and removal of Bulkrax-provided Wings code.[1][2][3]

  1. Check compatibility first. Rails must be 5.2+; Bulkrax declares a < 8.2.0 Rails ceiling.[7][11] Don’t infer Hyrax-on-Rails-8.1 support from Bulkrax’s standalone Rails smoke coverage.[10]

  2. Update the gem and migrate. Set this in Gemfile:

    gem 'bulkrax', '~> 10.0'

    Then run:

    bundle update bulkrax
    bin/rails db:migrate
  3. Configure authorization in app/models/ability.rb. Include Bulkrax::AbilityBehavior, append :bulkrax_default_abilities to ability_logic, and implement:

    • can_import_works?
    • can_export_works?
    • can_admin_importers?
    • can_admin_exporters?

    All four default to deny access, so this is required.[4][10]

  4. Assign owners to existing importers/exporters. Non-admin users can now manage only records they own. Audit Bulkrax::Importer and Bulkrax::Exporter records for missing user_id values and assign owners before deployment.[10]

  5. Smoke-test as a non-admin. Run one import and one export. Exports are now restricted to works that the exporting user can read.[5] A normal Hyrax installation using Blacklight and Hydra permissions needs no extra configuration; an application using neither must supply its own Bulkrax::ExportSearchBuilder.[5]

One code search: remove or rework any application-level require or registration of Wings::CustomQueries::FindBySourceIdentifier; Bulkrax v10 no longer supplies or requires that class.[6]

The new nested_attributes: true mapping flag and compound-metadata support are opt-in—existing field mappings can stay as they are.[1][8][9]

Sources

[1] https://github.com/samvera/bulkrax/releases/tag/v10.0.0
[2] https://api.github.com/repos/samvera/bulkrax/releases/tags/v10.0.0
[3] https://api.github.com/repos/samvera/bulkrax/compare/v9.0.0...v10.0.0
[4] https://api.github.com/repos/samvera/bulkrax/pulls/1186
[5] https://api.github.com/repos/samvera/bulkrax/pulls/1189
[6] https://api.github.com/repos/samvera/bulkrax/pulls/1209
[7] https://api.github.com/repos/samvera/bulkrax/pulls/1227
[8] https://api.github.com/repos/samvera/bulkrax/pulls/1193
[9] https://api.github.com/repos/samvera/bulkrax/pulls/1207
[10] https://raw.githubusercontent.com/samvera/bulkrax/v10.0.0/README.md
[11] https://raw.githubusercontent.com/samvera/bulkrax/v10.0.0/bulkrax.gemspec

What's Changed

Breaking Changes 🛠

  • feat(exporter): scope export Solr queries to user permission filters via ExportSearchBuilder by @orangewolf in #1189
  • Remove Wings references by @dlpierce in #1209
  • Add Bulkrax::Ability concern and enforce importer/exporter ownership by @orangewolf in #1186

Exciting New Features 🎉

Bug Fixes 🐞

New Contributors

Full Changelog: v9.5.1...v10.0.0