Sufia 7.2.0
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')
tohelp_path
static_path('zotero')
tozotero_path
static_path('mendeley')
tomendeley_path
static_path('agreement')
toagreement_path
static_path('terms')
toterms_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