Skip to content

Sufia 7.2.0

Compare
Choose a tag to compare
@carolyncole carolyncole released this 01 Oct 23:48
· 409 commits to master since this release
4d3d28a

Sufia 7.2.0 is jam-packed with bug fixes and new features, including:

  • Support for administrative collections (or admin sets)
  • An administrative dashboard in a new, roomier UI layout with feature flippers (turn features on and off dynamically via the UI) and the ability to manage admin sets
  • Support for the CurationConcerns FileManager that allows reordering and re-titling FileSets and child works within a work
  • A new homepage layout that provides more screen real estate
  • Ability to configure the homepage banner image
  • A new rake task for importing controlled vocabulary entries from lexvo.org for the language metadata field
  • Replacement of the AddThis sharing widget with the sharingbuttons.io widget
  • Support for Rails 5 and RDF 2

Install Notes

Sufia 7.2.0 depends upon an unreleased version of Flipflop -- we're working with the maintainer of that gem to get some pull requests that are required to make it work with a Rails engine like Sufia. Add the following to your Gemfile before running Sufia's install generator:

gem 'flipflop', git: 'https://github.com/jcoyne/flipflop.git', branch: 'hydra'

Also, pin CurationConcerns in your app to the latest 1.6.x release to pick up Blacklight Advanced Search.

IMPORTANT: Ordering changes

Sufia 7.2.0 includes Rails 5 support, and also includes support for RDF 2 which fixes a long-standing bug in ActiveFedora that returned RDF statements in a predictable, though not directly alterable, order. The new behavior, which is correct for graphs that have not been explicitly ordered, is such that if an item has (e.g.) more than one title, the first title may change whenever the item is loaded.

If your application depends upon the old behavior of predictable, but arbitrary and unchangeable, ordered RDF graphs, you can add gem 'rdf', '~> 1.99' to your Gemfile, and ordering will be "preserved" in its current form. (You may also need to pin rdf-reasoner as follows: gem 'rdf-reasoner', '0.3.0')

Upgrade Notes

Gemfile

Sufia 7.2.0 depends upon an unreleased version of Flipflop -- we're working with the maintainer of that gem to get some pull requests that are required to make it work with a Rails engine like Sufia. Add the following to your Gemfile:

gem 'flipflop', git: 'https://github.com/jcoyne/flipflop.git', branch: 'hydra'

Also, pin CurationConcerns in your app to the latest 1.6.x release to pick up Blacklight Advanced Search.

Then, update your Gemfile to point Sufia at version 7.2.0, and run bundle update sufia

Authority change

Because of expanded support for rights statements in CurationConcerns, you should rename the config/authorities/rights.yml file if it exists in your application.

mv config/authorities/rights.yml config/authorities/licenses.yml

Generator

Run the following generator to pick up new UI assets:

$ rails generate jquery:datatables:install bootstrap3

New database migration

Sufia 7.2.0 contains some small changes to the database. Run the following migrations. Note that how you invoke this command depends on which version of Rails you're using.

For Rails 5.0:

$ rails sufia:install:migrations
$ rails db:migrate

For Rails 4.2:

$ rake sufia:install:migrations
$ rake db:migrate

Changed default layout

To further align Sufia with CurationConcerns, the sufia-one-column layout has been moved from app/views/layouts/sufia-one-column.html.erb to app/views/layouts/curation_concerns/1_column.html.erb.

Check your config/application.rb file for layout 'sufia-one-column' and replace it with with_themed_layout '1_column'.

In addition, if you have overridden the sufia-one-column layout in your application, you should move your override to the new location.

Renamed path helpers

Rename references in your code, such as overridden views:

  • static_path('help') to help_path
  • static_path('zotero') to zotero_path
  • static_path('mendeley') to mendeley_path
  • static_path('agreement') to agreement_path
  • static_path('terms') to terms_path

Remove unneeded table (OPTIONAL)

Due to a dependency that is no longer maintained, Sufia 7.2.0 removes the (not widely used) feature that allows users to follow one another. If you want to keep this data in your application, skip this step. If you don't want to keep this data, you can do the following.

Add a new migration to your application:

$ rails generate migration DropFollows

This will create a new file in your application's db/migrate/ directory. Open it up and paste in the following (note: this is a non-reversible migration):

class DropFollows < ActiveRecord::Migration
  def self.up
    drop_table :follows
  end
end

Changes

v7.1.0...v7.2.0