v1.1.0
Summary
- Fixed issues with when and where templates are versioned
- Fixed numerous usability issues on the Templates and Template editing pages
- Added a Global Notification system (courtesy of the DMP OPIDoR team)
- Upgraded to the latest versions of Ruby and Rails
This upgrade will require you to:
- Install Ruby 2.4.4
- Run
rake upgrade:remove_duplicated_template_versions
to remove any duplicated versions created by the old codebase - Run
rake db:migrate
to update your templates table, drop an unused table, and add the tables needed for the notification system - Run
bundle install
- Run
npm install
(from thelib/assets/
directory) - Run
npm run bundle [-- -p (if in production)]
(from thelib/assets/
directory)
Details
-
Global Notification system
- Super admins can now define system messages that are displayed to users when they log into the site
- Messages can be defined as dismissable, and have a begin and end date
- Example uses: System maintenance announcements, Funder template changes, etc.
- New DB tables added to support the notifications:
notifications
andnotification_ackowledgements
-
Upgrade to Ruby 2.4.4 and Rails 4.2.10
- Upgrade Ruby 2.2.2 -> 2.4.4
- Upgrade Rails 4.2.7 -> 4.2.10
- Updated Gemfile to remove version specifications for most gems
- Updated Gemfile to remove unused gems (rollify, yard, red-carpet, swagger-docs, friendly_id, yaml_db, minitest-rails-capybara, administrate)
- Dropped unused
friendly_id_slugs
table that was used by one of those gems - Updated all NPM JS dependencies
- Updated various tests and files to correct deprecation warning messages
-
Template pages refactor
- Complete refactor of all Template/Phase/Section/Question/Annotation files models, controllers, views, JS
- Renamed columns in the templates table (migrated->archived, dmptemplate_id->family_id)
- Removed
dirty
flag from templates table - Extracted and rewrote all of the scopes from
models/template.rb
tomodels/scopes/template_scope.rb
- Moved all template/phase/section/question/question_option controllers to the
org_admin
namespace and updated routes accordingly - Added a new
controllers/concerns/versionable.rb
concern to aid controllers with determining what changes create a new template version - All versioning and customization logic moved from controllers to the models
- Updated Template edit page so that sections and questions load on demand via AJAX rather than on inital page load
- Refactored all related JS
- Added unit and functional tests for all refactored objects
- Updated
test_helper.rb
to act as a factory for creating test objects