Releases: samvera-deprecated/sufia
Sufia 6.5.0
Sufia 6.5.0 adds a configuration option to show a 'collection' facet and fixes a bug in 6.4.0.
Upgrade Notes
Update your Gemfile to use version 6.5.0 and run bundle update sufia
.
Run the following generator to add the ability to configure collection faceting:
rails g sufia:models:collection_facet_config
To use this new feature, you can tweak that config value in your application at config/initializers/sufia.rb
.
Changes
- Remove unnecessary require [Justin Coyne]
- Option to show collection facet in Dashboard and search results [E. Lynette Rayle]
- Remove space after icon if no text is present, fix #1354 [Anna Headley]
- Ignore byebug history file [Adam Wead]
- Ignore visibility of files[] input, it's hidden from Capybara [Adam Wead]
Sufia 6.4.0
Sufia 6.4.0 includes new features for citation configuration, uploading files to collections, as well as improvements with ImageMagick.
Upgrade Notes
Update your Gemfile to use version 6.4.0 and run bundle update sufia
Run the following generator to allow specifying a Geonames username. If you are using the typeahead for the location metadata field, you must run this generator and populate the config.geonames_username
field in config/initializers/sufia.rb
after signing up for a Geonames API account. This has been using a default username, which is problematic now that the number of production Sufia instances is growing.
rails g sufia:models:geonames_username_config
Also, run the following generator which fixes a known bug in how derivatives are generated:
rails g sufia:models:minimagick_config
Last, if your repository was NOT migrated from an earlier version of Sufia to 6.x -- i.e., you were using Sufia atop Fedora 3 and migrated to Sufia atop Fedora 4 -- you will want to manually change a couple lines of code in app/controllers/catalog_controller.rb
. (Once again, this change is only for instances of Sufia that have never been based on Fedora 3.)
def self.uploaded_field
- solr_name('date_uploaded', :stored_sortable, type: :date)
+ solr_name('system_create', :stored_sortable, type: :date)
end
def self.modified_field
- solr_name('date_modified', :stored_sortable, type: :date)
+ solr_name('system_modified', :stored_sortable, type: :date)
end
Optional
To enable uploading of multiple files to a collection, use
rails g sufia:models:upload_to_collection_config
rails g sufia:models:lock_manager_config
To enable a suggested citations page for files uploaded via Sufia, run:
rails g sufia:models:citation_config
Changes
Sufia 6.3.0
The 6.3.0 version of Sufia includes a new widget in the administrative statistics page allowing users to display the number of deposits for a date range that they select (#1188) and adds a content block to the homepage where administrative users may post site-wide announcements (such as for system downtime or new features, #1239). It pulls in the latest version of ActiveFedora::Noid which handles minting and validation of short, opaque identifiers for Fedora objects (#1037). It also contains the following highlighted fixes and enhancements:
- Numerous UI improvements related to layout, accessibility, and mobile displays (#1243, #1248, #1249, #1270, #1271, #1273)
- Single-use links should work when Turbolinks is on (#1278)
- Unregistered users should have the ability to see file citations (#1266)
- Remove hard-coded headers from About page (#1239)
- Allow downstream users to extend and override the administrative statistics module (#1245)
See the Changes section below for an exhaustive list of the work that has gone into this release. Thanks to the 12 contributors for this release, which comprised 51 commits touching 342 files: @Cam156, @mjgiarlo, @afred, @tpendragon, @mtribone, @elrayle, @kerchner, @jcoyne, @grosscol, @hectorcorrea, @awead, @ojlyytinen,
Upgrade notes
To upgrade from 6.2.0, point your Gemfile at Sufia 6.3.0 and run bundle update sufia
.
Then make sure to run the following rake task:
rake sufia:noid:migrate_statefile
Changes
Sufia 6.2.0
The 6.2.0 version of Sufia includes two new features (#1187, #1189) on the administrative statistics page, allowing users to display a list of new user accounts or deposited files based on a specified date range.
There have also been a handful of bug fixes, including:
- Fixing the autocomplete dropdown that queries Geonames (#1222)
- Restricting the display of collections in the "My" controller to those users can edit (not all collections they can view)
- Disabling display of the Zotero user ID if this integration has not been enabled (#1235)
See the Changes section below for an exhaustive list of the work that has gone into this release. Thanks to the 5 contributors for this release, which comprised 17 commits touching 27 files: Adam Wead, Olli Lyytinen, Justin Coyne, Michael J. Giarlo, and Carolyn Cole.
Upgrade notes
To upgrade from 6.1.0, point your Gemfile at Sufia 6.2.0 and run bundle update sufia
. That's it!
Changes
Sufia 6.1.0
The 6.1.0 version of Sufia includes the following highlighted changes:
- Administrative statistics in the UI (ported from ScholarSphere)
- Integration with Zotero
- Ability to feature and un-feature an item from the item page
- Improvements to views including accessibility fixes, bug fixes, and styles.
- Performance enhancements related to displaying collections and files in the UI
- Overrideable validations for rights metadata
- Fix and speed up
sufia:jetty:config
rake task - Uses ActiveFedora 9.1
- Resque jobs now behave as expected under Passenger
- Jasmine for Javascript testing
Please note that Sufia 6.1.0 does not support Rails 4.1.
See the Changes section below for an exhaustive list of the work that has gone into this release. Thanks to the 16 contributors for this release, which comprised 139 commits touching 187 files: Adam Wead, Michael Tribone, Gregorio Luis Ramirez, Justin Coyne, Nathan Rogers, Michael J. Giarlo, Carolyn Cole, Trey Terrell, Colin Brittle, Anna Headley, Hector Correa, E. Lynette Rayle, Chris Beer, Jeremy Friesen, Colin Gross, and Tricia Jenkins.
Upgrade notes
Point your Gemfile at Sufia 6.1.0, and run bundle update sufia
. To enable administrative statistics, run the following generator:
rails g sufia:admin_stat
To integrate your application with Zotero, follow the instructions in the README: https://github.com/projecthydra/sufia/blob/master/README.md#zotero-integration
Changes
Sufia 5.0.0
The main breaking change in this release is that the edit form was reworked to look more like curate/ worthwhile with the add on the bottom and the remove on the top.
Upgrade notes
You will need to add support for proxy deposits. To do so run the generator
rails generator sufia:models:proxies
rake migrate:db
Changes
- Update README to be more specific about dependency versions [Michael J. Giarlo]
- Pulled in code from curate to manage add/remove fields on edit forms. Also story #3978 [Carolyn Cole & Valerie Maher]
- Changing the file query to be a solr query for loading the file id, so we do not wait large file content to load. This speed up the runs significantly on systems with large file. [Carolyn Cole]
- Users controller should not call an undefined method. Fixes #532. [Michael J. Giarlo]
- Fix problem where batch edit forms weren't expanding. Fixes #820 [Carolyn Cole]
- Update and rename LICENSE.md to LICENSE per community convention. [Michael J. Giarlo]
- Brings some of the fixes in fedora-4/master into master. [Michael J. Giarlo]
- Adds condition to make the version of sass-rails dependent on the value of RAILS_VERSION [Michael J. Giarlo]
- Merge travis config change to speed up the build [Michael J. Giarlo]
- Adding the browse view link into the bread crumbs so it shows on both the edit and the stats page. [Carolyn Cole]
Version 6.0.0
The 6.0.0 release of Sufia includes support for Fedora 4. It also includes an upgrade to Blacklight 5.12 and integration with the hydra-editor presenter. Thanks to Justin Coyne, Adam Wead, Hector Correa, Michael J. Giarlo, Trey Terrell, Carolyn Cole, Michael Tribone, Valerie Maher, Matthew Zumwalt, Weiwei Shi, Tricia Jenkins, Collin Brittle, and Jeremy Friesen for their work on this release. See below for a complete list of changes.
Upgrading from 5.x
Ensure you have performed any necessary changes to bring you application up to version 5 of Sufia.
With Sufia 6, support for Fedora 3 is no longer provided.
Before you proceed, make sure you have Fedora 4 installed!
If you're using the built-in Jetty container for Fedora and Solr, running rake jetty:clean
should do this for you automagically and install a new tmp/master.zip
file, but do note that this will wipe out your existing Jetty instance and any contained data.
Upgrade Procedures
- Update your Gemfile with these changes:
gem 'sufia', ' ~> 6.0.0'
gem 'rsolr', '~> 1.0.6'
gem 'jbuilder', '~> 2.0'
gem 'kaminari', github: 'jcoyne/kaminari', branch: 'sufia'
- Run
bundle update sufia kaminari
- Update your
config/initializers/resque_config.rb
to use the newredis_namespace
setting. This setting replaces the oldid_namespace
ex:
Resque.redis.namespace = "#{Sufia.config.redis_namespace}:#{Rails.env}"
- Update
config/fedora.yml
to include the proper URL for Fedora 4 (don't forget the/rest
at the end) and add a new settingbase_path
A typical development section would look as follows:
development:
user: fedoraAdmin
password: fedoraAdmin
url: http://127.0.0.1:8983/fedora/rest
base_path: /dev
- Copy
config/solr.yml
toconfig/blacklight.yml
- Create
app/models/search_builder.rb
with this content:
class SearchBuilder < Blacklight::SearchBuilder
include Blacklight::Solr::SearchBuilderBehavior
include Hydra::AccessControlsEnforcement
include Sufia::SearchBuilder
end
Changes to CatalogController
Update your app/controllers/catalog_controller.rb
as follows:
- Remove require statements: any blacklight, parslet, parsing_nesting
- Remove include statements: Hydra::Controller::ControllerBehavior, BlacklightAdvancedSearch::ParseBasicQ
- Remove any field name prefixes such as
desc_metadata__
- Replace line
include Blacklight::Catalog
withinclude Hydra::Catalog
- Change
CatalogController.solr_search_params_logic
toCatalogController.search_params_logic
- Add
:add_advanced_parse_q_to_solr
toCatalogController.search_params_logic
The basic structure of your controller would look like this:
class CatalogController < ApplicationController
include Hydra::Catalog
include Sufia::Catalog
[...]
CatalogController.search_params_logic += [:add_access_controls_to_solr_params, :add_advanced_parse_q_to_solr]
[...]
end
Database Migrations
Migrations are provided to alter your database tables to support new id formats in Fedora 4. Run the generators to install the migrations, then migrate your database:
rails generate sufia:models:update_content_blocks
rails generate sufia:upgrade600
rake db:migrate
Other Issues
These issues may or may not affect you, depending on your deployment.
- Possible asset path issues with hydra-editor. See: samvera/hydra-editor#57 (comment)
- If you are using hydra-collections, be aware you may need to copy
sufia-models/lib/generators/sufia/models/templates/app/models/collection.rb
into you local app/models/collection.rb see #678
Migrating to Fedora 4
For information on migrating your data to Fedora 4, see Migrating to Fedora 4 with fedora-migrate.
Changes
- 2015-03-27: Replace pid with id in config [Adam Wead]
- 2015-03-27: Rename pid columns to generic_file_id [Justin Coyne]
- 2015-03-27: Remove unused default edit partial [Justin Coyne]
- 2015-03-27: Remove pid from TransfersControllerBehavior [Justin Coyne]
- 2015-03-26: add waffle.io badge [waffle-iron]
- 2015-03-26: Updating view test, fixes #991 [Adam Wead]
- 2015-03-26: Upgrade generator for 6.0 [Justin Coyne]
- 2015-03-25: Upgrade to Blacklight 5.12.1 [Justing Coyne]
- 2015-03-25: Update test grid to Rails 4.2.1 [Justin Coyne]
- 2015-03-24: In ContentDepositoryChangeEventJob change pid -> id [Justin Coyne]
- 2015-03-24: ActiveFedoraIdBasedJobs should use id instead of pid [Justin Coyne]
- 2015-03-24: Use the label instead of the file_name, #981 [Adam Wead]
- 2015-03-23: Rename ActiveFedoraPidBasedJob to ActiveFedoraIdBasedJob [Justin Coyne]
- 2015-03-19: Reconfigure and update blacklight_advanced_search [Adam Wead]
- 2015-03-19: Use Sufia::SearchBuilder; update hydra-collections [Adam Wead]
- 2015-03-19: Updating methods to remove deprecation warnings [Adam Wead]
- 2015-03-18 : Only display upload link if you have permission [Trey Terrell]
- 2015-03-18 : Replaces redundant title attribute with more beneficial text for all users [mtribone]
- 2015-03-18 : Separate button viewing for files and collections. [Trey Terrell]
- 2015-03-18 : Rename permission to view share work button [Trey Terrell]
- 2015-03-18 : Allowing transfers of a file after original transfer has been closed. fixes #972 [Carolyn Cole]
- 2015-03-17 : Use Net::HTTP to download full-text jar files [Adam Wead]
- 2015-03-17 : Migrate pids in audit logs and proxy requests, fixes #853 [Adam Wead]
- 2015-03-17 : Update FITS URL in README [Michael J. Giarlo]
- 2015-03-17 : Delay creation of batch until the user actually submits files. This will reduce the number of orphan batches created since we won't create a new batch when the user issues an HTTP GET on the page, rather we will wait until the user issues an HTTP POST to the page [Hector Correa]
- 2015-03-17 : Removes title attribute and adds sr-only span for better accessibility compliance [mtribone]
- 2015-03-16 : Hide dashboard buttons if appropriate. [Trey Terrell]
- 2015-03-16 : Only display upload if you can. [Trey Terrell]
- 2015-03-13 : Removes old 1.0 background graphics [mtribone]
- 2015-03-13 : Add link to metadata customization documentation. [Michael J. Giarlo]
- 2015-03-13 : Fix search builder compatibility [Adam Wead]
- 2015-03-13 : Use real objects for view test [Adam Wead]
- 2015-03-13 : Update CollectionsControllerBehavior [Adam Wead]
- 2015-03-13 : Upgrade hydra-collections to ~> 5.0 [Adam Wead]
- 2015-03-13 : Fix generator for blacklight 5.10 [Adam Wead]
- 2015-03-13 : Update to Blacklight 5.10 [Adam Wead]
- 2015-03-11 : as an admin user, I can edit another user's profile fixes #923 [Tricia Jenkins]
- 2015-03-10 : Dashboard controller should display incoming and outgoing transfers. [Michael J. Giarlo]
- 2015-03-10 : Added delay to stats import. Allow for new users to be picked up first [Hector Correa]
- 2015-03-10 : Rake task for deleting empty batches [Adam Wead]
- 2015-03-10 : Adding a i18n warning to the user on cloud provider upload page to let the user know the uploading is time sensitive. [Adam Wead]
- 2015-03-10 : Adds icons and labels for upload and create collection buttons to translation file. [mtribone]
- 2015-03-10 : Use the latest Blaklight 5.9 version [Adam Wead]
- 2015-03-09 : Reorganize and generate a TOC for the README [Michael J. Giarlo]
- 2015-03-04 : Remove blank strings from Collection & GenericFile Remove blank strings from params when creating or updating a collection. Trim FitsDatastream xml template to avoid blanks in GenericFile: Newly initialized GenericFile would end up with
""' or
[""]' in place of most characterization attributes because the blank XML template in FitsDatastream generated them. Fixes #941 [Piotr Hebal] - 2015-03-03 : Replaces icon font with default SVG graphic [mtribone]
- 2015-03-02 : Updating to use the new blacklight partial instead of defining in-line [Carolyn Cole]
- 2015-02-27 : Add auto-link to description, in #942 [Adam Wead]
- 2015-02-26 : Adds CSS two column to match file show [mtribone]
- 2015-02-26 : Use hasSize to calculate collection size [Adam Wead]
- 2015-02-26 : Remove arrow in relevance sorting label [Adam Wead]
- 2015-02-25 : Makes sure resource type is not a require field in GenericFile edit form. [Hector Correa]
- 2015-02-25 : Moving alerts above the tabs so that it is not replicated on each tab. fixes #929 [Carolyn Cole]
- 2015-02-25 : Replaces tables for description list and adds CSS column-count, refs #9133 [mtribone]
- 2015-02-25 : Download aspectjrt jar to support m4a files [Adam Wead]
- 2015-02-24 : README should be clearer w/r/t Solr/Fedora requirements [Michael J. Giarlo]
- 2015-02-20 : Keep FFmpeg instructions together [Collin Brittle]
- 2015-02-20 : Changing to use the latest jquery hide show instead of the old style class name. fixes #916 [Carolyn Cole]
- 2015-02-19 : Remove the duplicate showing of title and move the description up above the table to match collection show view. [Carolyn Cole]
- 2015-02-18 : Preparing for 6.0.0.rc4 release [Michael J. Giarlo]
- 2015-02-18 : add class accessors for presenter and form class for batch form and single use link view - follow up to #906 [root]
- 2015-02-17 : Adding a rescue for a TimeoutError as we are seeing those in production [Michael J. Giarlo]
- 2015-02-17 : Updates hover states for better feedback and interaction, refs #9772 [mtribone]
- 2015-02-16 : Fixes button stacking to display inline, refs #9771 [mtribone]
- 2015-02-13 : Generate the necessary asset changes [Justin Coyne]
- 2015-02-12 : Add accessors for presenter and form class This makes overriding the presenter and form easier and avoids all the overriding necessary in something l...
Sufia 4.3.1
NOTE: The 4.3.0 release was yanked because it was not ready for release.
The 4.3.1 release of Sufia includes the ability to store users' ORCID identifiers and display them in the user profile, and includes enhancements to usage statistics. It also includes support for Blacklight 5.8 and a good number of bugfixes. Thanks to @Cam156, @mtribone, @val99erie, @awead, @mistydemeo, and @mjgiarlo for their work on this release. See below for a complete changelog.
Upgrade notes
Rails 4 is recommended. You may also need to follow the upgrade paths for dependent gems such as Devise. You can use the generators and other tools provided by those gems to perform the necessary upgrades.
From Sufia 3.x and prior
Update your dependencies to use the latest Sufia 4 version and run the provided 4.0 upgrade generator
bundle update sufia
rails generate sufia:upgrade400
You will need to ensure your binstubs are present. Prior to Rails 4, this was done using bundler
bundle install --binstubs
In Rails 4, you can regenerate them without using bunder
bundle config --delete bin
rake rails:update:bin
You may optionally ignore or include these in your git repo. Edit your .gitignore file accordingly.
From Sufia 4.2.0
To upgrade from 4.2.0 to 4.3.1, pin Sufia to version 4.3.1 in your Gemfile, then update your dependencies, generate the new database migrations required for user stats & ORCID, and then apply those migrations:
bundle update sufia
rails generate sufia:models:cached_stats
rails generate sufia:models:user_stats
rails generate sufia:models:orcid_field
rake db:migrate
If your application has any Blacklight-based catalog controllers, you may want to add the following lines within the configure_blacklight
block:
config.view.gallery.partials = [:index_header, :index]
config.view.slideshow.partials = [:index]
You may additionally need to upgrade your version of bootstrap-sass. 3.1.1.1 is not compatible with this version of Sufia. If you see the error, File to import not found or unreadable: bootstrap-sprockets.
run:
bundle update bootstrap-sass
Known Issues
Changes to the avatars may prevent migrations from running. To resolve this, update the add_avatars_to_users
migration as follows:
class AddAvatarsToUsers < ActiveRecord::Migration
def self.up
add_column :users, "avatar_file_name", :string
add_column :users, "avatar_content_type", :string
add_column :users, "avatar_file_size", :integer
add_column :users, "avatar_updated_at", :datetime
end
def self.down
remove_column :users, "avatar_file_name"
remove_column :users, "avatar_content_type"
remove_column :users, "avatar_file_size"
remove_column :users, "avatar_updated_at"
end
end
You could optionally write a separate migration that makes these changes for you.
Changes
- Adds an ORCID field to the user model. [Michael J. Giarlo]
- Display file stats for user. Feature #9305 [Valerie Maher]
- Upgrade to Blacklight 5.8 [Adam Wead]
- Styles count for views and downloads, refs #9672 [Michael Tribone]
- More facets modal defaults to numerical sort [Adam Wead]
- Adding select2 name look up to permissions form for GenericFile and Batch. [Carolyn Cole]
- Adding blacklight gallery default views to catalog controller to match with the new installer. [Carolyn Cole]
- Making sure the modal is actually sorted numerically and allow some files to be on the second page for sure by adding the key in more than one time for the first page. [Carolyn Cole]
- Views should not use the invalid Agent schema.org class [Michael J. Giarlo]
- Fixing a bug that the home page crashes when a featured work has been destroyed [Carolyn Cole]
- Fixes button size and alignment issues with metadata and upload forms, refs #9569 [Michael Tribone]
- Disable check all instead of making it disappear. User testing indicated this was confusing [Carolyn Cole]
- Updated dev notes [Valerie Maher]
- README should not implicitly suggest an outdated version of Sufia. (Inspired by #719 -- thx, @mistydemeo!) [Michael J. Giarlo]
Sufia 4.2.0
The 4.2.0 release of Sufia includes the ability to cache usage statistics in the application database, an accessibility fix, and a number of bug fixes. Thanks to @Cam156, @mtribone, and @mjgiarlo for their work on this release. See below for a complete changelog.
Upgrade notes
To upgrade from 4.1.0 to 4.2.0, pin Sufia to version 4.2.0 in your Gemfile, then update your dependencies, generate the new database migrations required for cached usage stats, and then apply those migrations:
bundle update sufia
rails generate sufia:models:cached_stats
rake db:migrate
Changes
- Caches google analytics data in the database so we do not have to retrieve them each time the page is loaded [Carolyn Cole]
- Allows adopters to inject content into the layout's head block, needed by ScholarSphere to add a favicon [Mike Giarlo]
- Removes redundant title attributes for featured and recent works, fixes orphaned labels [Michael Tribone]
- Pins mini_magick for rubies < 2.1 [Carolyn Cole]
- Changes the way we log depositor change events [Mike Giarlo]
- Breaks cached stats migrations into dedicated generator [Mike Giarlo]
- Fixes bug with proxy setup in the install generator [Mike Giarlo]
- Fixes bug in batch editing javascript [Carolyn Cole]
Sufia 4.1.0
The 4.1.0 release of Sufia includes functionality to support proxy deposits and transfers of ownership. Thanks to @Cam156, @jcoyne, and @mjgiarlo for their work on this release. See below for a complete changelog.
Upgrade notes
To upgrade from 4.0.x to 4.1.0, pin Sufia to version 4.1.0 in your Gemfile, then update your dependencies, generate the new database migrations required for proxies and transfers, and then apply those migrations:
bundle update sufia
rails generate sufia:models:proxies
rake db:migrate