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_versionsto remove any duplicated versions created by the old codebase - Run
rake db:migrateto 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:
notificationsandnotification_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_slugstable 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
dirtyflag from templates table - Extracted and rewrote all of the scopes from
models/template.rbtomodels/scopes/template_scope.rb - Moved all template/phase/section/question/question_option controllers to the
org_adminnamespace and updated routes accordingly - Added a new
controllers/concerns/versionable.rbconcern 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.rbto act as a factory for creating test objects