Skip to content

Releases: samvera-deprecated/sufia

Sufia 7.4.1

10 Oct 22:03
796c2f0
Compare
Choose a tag to compare

Sufia 7.4.1 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 7.4.1 and run bundle update --conservative sufia

Change Log

v7.4.0...v7.4.1

Sufia 7.4.0

07 Sep 20:38
Compare
Choose a tag to compare

This release manages dependencies to maintain minimal changes while allowing Sufia-based apps to upgrade to Rails 5.

Upgrade Notes

Update your Gemfile to use version 7.4.0 and run bundle update sufia .

Changes

Compare this release against 7.3.1

Sufia 7.3.1

26 Apr 21:11
41189f4
Compare
Choose a tag to compare

Sufia 7.3.1 fixes a bug with creating Admin Sets. Thanks to @hortongn and @metageeky for reporting this bug!

Upgrade Notes

Update your Gemfile to use version 7.3.1 and run bundle update sufia .

Changes

v7.3.0...v7.3.1

Sufia 7.3.0

13 Feb 21:31
8bb4514
Compare
Choose a tag to compare

Sufia 7.3.0 is a feature-packed release. Now you can:

  • Create and use multiple work types, not just the previously pre-packaged "GenericWork" type
  • Use mediated deposit workflow -- and build your own custom workflows -- in addition to self-deposit and proxy deposit
  • Configure the banner image without needing to override views
  • Assign visibility and release information (automatically) to works deposited into administrative sets via "permission templates"
  • Add depositors to administrative sets
  • Add child works to other works

Due to more and earlier quality assurance testing, this release also includes many bug fixes, including the following notable changes to the Save Work form:

  • No longer submits when uploads are still in progress
  • Uses optimistic locking to prevent an earlier form from submitting if the object has changed since the form was loaded

Thanks to the many folks who've contributed to this release by providing use cases, documentation, tickets, design expertise, and the myriad ways that we pull together as a community, including the following developers (and their managers) for contributing to this release:

REMINDER: Ordering changes

Sufia 7.3.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')

Install Notes

After installing Sufia 7.3.0 (per the README), create the default administrative set after Fedora and Solr are running:

rake sufia:default_admin_set:create

Note this task will fail if you have not loaded workflows.

Upgrade Notes

Gemfile

Sufia 7.3.0 no longer depends upon a fork of Flipflop. If your Gemfile includes Flipflop directly, you should remove that dependency and let Sufia handle it directly. This is especially true if your Gemfile is pointing at a GitHub link like so:

# We DON'T want this. Remove it.
gem 'flipflop', git: 'https://github.com/jcoyne/flipflop.git', branch: 'hydra'

You shouldn't need to pin to a particular version of CurationConcerns, so if you have an entry in your Gemfile for CC, you ought to be able to remove it. (Sufia should pick up the latest 1.7.x release of CurationConcerns automatically.)

Sufia 7.3.0 has been tested with Rails versions 4.2.7.1, 5.0.0.1, and 5.0.1, so if your application is pinned to an earlier version of Rails, you will want to upgrade Rails.

This release removes support for BlacklightAdvancedSearch, so unless you know your application doesn't need it, add the following line to your Gemfile:

gem 'blacklight_advanced_search', '~> 6.0'

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

Database structure

  • Create the new tables:
rake curation_concerns:install:migrations
rake sufia:install:migrations
rake db:migrate

Collections

Reindex your repository in Solr to pick up a fix to collection icons. If you don't already have a better way to do this, drop into a Rails console and run:

ActiveFedora::Base.reindex_everything

(And wait.)

Workflows

  • Grab the workflows from Sufia and CC:
mkdir config/workflows/
wget -O config/workflows/default_workflow.json https://raw.githubusercontent.com/projecthydra/curation_concerns/v1.7.4/lib/generators/curation_concerns/templates/workflow.json.erb
wget -O config/workflows/one_step_mediated_deposit_workflow.json https://raw.githubusercontent.com/projecthydra/sufia/v7.3.0.rc1/lib/generators/sufia/templates/workflow.json.erb
  • Load the default worklows: rake curation_concerns:workflow:load (note that you'll want to run this at point of deployment as well, to make sure all your instances have the workflows loaded)
  • If you are upgrading from Sufia 7.3.0.rc1 or an earlier post-7.2.0 master build, you'll want to migrate existing workflows by running rake sufia:migrate:from_7_3_0rc1_release. (If you're not sure if you need to do this, you should be able to run it without any negative side effects.)
  • You may also want to run Sipity::Workflow.find_by_name('default').update(allows_access_grant: true) which will allow the user, using the selected workflow, to share their uploaded works.

Default Admin Set

After loading workflows you should create a default admin set. Assuming Fedora and Solr are running, create the default administrative set :

rake sufia:default_admin_set:create

Models

  • Re-run rails generate sufia:work MyWorkType for your primary work type in order to generate the required internationalization keys. (See #2845.) Respond 'n' to any overwrite prompts.
  • If you see multiple include Sufia::WorkBehavior lines in app/models/my_work_type.rb, remove the newly added one.
  • If you see multiple self.human_readable_type = 'Whatever' lines in app/models/my_work_type.rb, remove the less specific one.
  • If you see a new self.terms line in app/forms/curation_concerns/my_work_type_form.rb, remove it.

Routes, controllers, views

Optional

  • All deposited works now belong to an AdminSet. If you do not create any AdminSets and specify the relationship at time of creation, they will be added to a default AdminSet. There is now a rake task available to add all existing works to the default AdminSet, if you want to send those works through workflow at a later date:
rake sufia:migrate:move_all_works_to_admin_set
  • There's a new config value to set the location carrierwave uses to store uploaded files before the upload form is submitted. You can set cache_path in your sufia initializer to customize this location.

Changes

v7.2.0...v7.3.0

Sufia 7.2.0

01 Oct 23:48
4d3d28a
Compare
Choose a tag to compare

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

Sufia 6.7.0

22 Sep 01:51
Compare
Choose a tag to compare

Sufia 6.7.0 adds new collection features to allow users to set visibility of collections and share collections with
other users and groups. This release also includes bug fixes and other enhancements. See full list below.

Upgrade Notes

Update your Gemfile to use version 6.7.0 and run bundle update sufia .

If you have overridden CollectionEditForm in your application make sure to add include HydraEditor::Form::Permissions into your override and :visbility to your terms

class CollectionEditForm < Sufia::Forms::CollectionEditForm
    include HydraEditor::Form
 +  include HydraEditor::Form::Permissions

 -  self.terms = [:title, :description, :creator]
 +  self.model_class = ::Collection
 +  self.terms = [:title, :description, :creator, :visibility]
  end

Changes

  • Allow users and groups to share collections [E. Lynette Rayle]
  • Don’t run hound on ruby code [E. Lynette Rayle]
  • Add ability to set visibility for collections [E. Lynette Rayle]
  • Adding executable to run surveyor from the command line. Changing surveyor to not recreate survey items for existing items when you run the executable multiple times. [Carolyn Cole]
  • Adding a surveyor to create survey items for an id list And adding enumerator for migration status [Carolyn Cole]
  • Adding FedoraIdService to create a list of all the ids (of classes we care about) in fedora [Carolyn Cole]
  • Adding ActiveRecord class for Sufia::Migration::Survey::item [Carolyn Cole]
  • Moving bin directory to exe to follow new standards [Carolyn Cole]
  • Adding executable to run export actor from the command line [Carolyn Cole]
  • Export Actor which will export ActiveFedora classes to json files [Carolyn Cole]
  • Exporting a Collection's metadata, permissions, and members [Carolyn Cole]*

See v6.6.1...v6.7.0

Sufia 7.1.0

11 Aug 19:16
b6c4d64
Compare
Choose a tag to compare

Sufia 7.1.0 contains the following new features and bug fixes:

  • Works may now be added to other works via the user interface
  • A new configuration option allowing works to be created without files has been added
  • Embargo and lease dates are now rendered as human-readable dates
  • Sufia now uses CurationConcerns' implementation of single-use links

Upgrade Notes

To upgrade from Sufia 7.0.0, update your Gemfile to use Sufia version 7.1.0 and run bundle update sufia.

Note: Upgrading from Sufia 6.x to 7.1.0 is not currently supported, but an upgrade path to 7.x should be available in the near-term.

Changes

See v7.0.0...v7.1.0

Sufia 7.0.0

01 Aug 18:57
f9a4b2c
Compare
Choose a tag to compare

Sufia 7.0.0 is a major new release that sits on top of CurationConcerns and the Portland Common Data Model.

Upgrade Notes

An upgrade path from Sufia 6.x is coming in a future release in the near-term.

Changes

See v6.6.1...v7.0.0

Sufia 6.6.1

19 May 20:43
Compare
Choose a tag to compare

Sufia 6.6.1 is a patch release that fixes a potential security vulnerability and fixes auto-linking the Description field for GenericFiles.

Upgrade Notes

Update your Gemfile to use version 6.6.1 and run bundle update sufia .

Changes

  • Removing group and login from profile update [Carolyn Cole]
  • Test with Rails 4.2.6 [Justin Coyne]
  • Add auto-fix + exclusions for new Rubocop violations [Michael J. Giarlo]
  • Temporarily pin Rubocop to get past broken 0.38.0 error [Michael J. Giarlo]
  • Hydra-Jetty should be the default service container in 6.x. [Michael J. Giarlo]
  • Escape property values before presenting them with auto_link. [Olli Lyytinen]

See v6.6.0...v6.6.1

Sufia 6.6.0

28 Jan 17:06
Compare
Choose a tag to compare

Sufia 6.6.0 updates to hydra-head 9.5, improved background workers documentation, fixes multi-threading bugs with upload collections, and other bug fixes/improvements.

Upgrade Notes

Update your Gemfile to use version 6.6.0 and run bundle update sufia .

Changes

  • Update background workers doc [E. Lynette Rayle]
  • Replaces table rows with an unordered list to make html valid, fixes #1058 [Adam Wead]
  • Fix duplicative labels on show pages [Adam Wead]
  • Add default metadata help for collection fixes #1057 [Adam Wead]
  • Pin Sufia 6 to hydra-head 9.5 [Adam Wead]
  • Updating to Rubocop 0.36 [Adam Wead]
  • Reindex generic_files in background from batch_update_job [E. Lynette Rayle]
  • Include the name of the file if it fails to upload [Adam Wead]
  • Fix intermittent failure to add file to collection [E. Lynette Rayle]
  • Don't generate auto_link on a non-url rights statement, fixes #1356 [Anna Headley]
  • Use lockable module to prevent race conditions in Batches. [Michael J. Giarlo]