Repository navigation
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]
-
Check compatibility first. Rails must be 5.2+; Bulkrax declares a
< 8.2.0Rails ceiling.[7][11] Don’t infer Hyrax-on-Rails-8.1 support from Bulkrax’s standalone Rails smoke coverage.[10] -
Update the gem and migrate. Set this in
Gemfile:gem 'bulkrax', '~> 10.0'
Then run:
bundle update bulkrax bin/rails db:migrate
-
Configure authorization in
app/models/ability.rb. IncludeBulkrax::AbilityBehavior, append:bulkrax_default_abilitiestoability_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]
-
Assign owners to existing importers/exporters. Non-admin users can now manage only records they own. Audit
Bulkrax::ImporterandBulkrax::Exporterrecords for missinguser_idvalues and assign owners before deployment.[10] -
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 🎉
- Add nested_attributes flag for object: mappings by @laritakr in #1193
- Don't load wings custom query if Hyrax has disabled wings. by @dlpierce in #1192
- Support importing compound metadata by @laritakr in #1207
- Preserve URI values in parse_subject by @ShanaLMoore in #1214
- Bucket CSV rows by the configured collection and file set models by @laritakr in #1217
- Add Rails 8.1 engine smoke compatibility by @orangewolf in #1238
Bug Fixes 🐞
- Fix issue with Bulkrax looking in wrong place for solr name. by @lfarrell in #1213
- Fix incorrect page counts when filters are applied by @lfarrell in #1231
- Resolve CSV file references with spaces against nested attachments by @SixtyGrit in #1208
- Count a failed collection as failed by @laritakr in #1219
- 📌 Require Rails 5.2 or later by @laritakr in #1227
- Offer one template column per compound field by @laritakr in #1221
- 🐛 Fix Remove and Rerun for works with files by @laritakr in #1230
- 🐛 Pick up new metadata profiles without restart by @laritakr in #1225
- Centralize Hyrax loaded checks by @orangewolf in #1239
New Contributors
- @SixtyGrit made their first contribution in #1208
Full Changelog: v9.5.1...v10.0.0