Skip to content
Jeff Lunt edited this page Jan 20, 2015 · 7 revisions

v3.0.0

2015-01-19 by jefflunt

This release marks the beginning of a lot of visual and consistency changes in the code.

Major highlights:

  • Move from a collection of JS/CSS frameworks to just bootstrap+jQuery+jQuery UI. Includes new visual look and navigation menu.
  • Deprecation of XLS and PDF downloads
    • XLS should be replaced with CSV exports, which can still be opened in Excel, and are less complicated to support.
    • PDF download support deprecated. The host OS (Windows or OS X) can generate PDFs if the user desires, and can do it better. It's also one less needless dependency in the code.
  • Tons of view code cleanup, including the start of a conversion from ERB views to haml. Not all views have been changed over to bootstrap+haml, but the application's overall layout and a few other things have.

Changes details:

  • Models
    • User - marked a field that doesn't appear to be getting used as potentially dead. Potential candidate for future removal.
    • User - added notify_on_new_submission and notify_on_complete_submission columns, which will be used in a future release to give users control over which application notifications they receive.
  • lib code - Worked on cleaning up a bit of the email sending logic. For example, we had a method called allow_emails? whose only line was to return true.
  • Controllers
    • AdminsController - marked PDF and XLS support as deprecated
    • ApplicantsController - cleanup of logic, removal of duplicate
    • AuditsController - deprecated entire controller. The related UI elements have been removed entirely.
    • ProjectsController - marked PDF support as deprecated
    • PublicController - noted problems with current authorization system, work to be done in the future
    • ReviewsController - marked PDF support as deprecated
    • SubmissionsController - marked PDF support as deprecated
    • Controllers in general - started removing comments that noted routes and HTTP methods, since these duplicate information that you can find out by either inspecting config/routes or running rake routes. Consolidated overly-specific sub-methods into their parent methods. There seems to have been an effort to go a little far with code reuse, and the result was splitting up a few simple blocks of code into multiple sub-methods, which obscured the overall code functionality.
  • Helpers
    • ApplicationsHelper - removed helpers for building the netID lookup, since it's actually pretty straightforward just to do it in the view, and this code obscured what was going on. Also removed a before_notify_email(model) method that was built do some usage tracking and counting, but which didn't actually get saved to the model, and as such was completely useless
    • SubmissionsHelper - deprecated PDF support helper
  • Views - too many changes to be worth naming individually, but in general the following changes were made:
    • Many ERB -> haml view conversions
    • Removal of helpers that were no longer being used, such as the legacy prototype.js helpers
    • Replaced old drag-and-drop support with the newer jQuery UI-based equivalent
    • Added bootstrap semantic classes to many of the views that were updated, resulting in fewer table-based layouts for non-tabular data
    • Removed several partials that were only used by a single view, and thus didn't need to be a partial on their own
    • Removed some of the embedded CSS stylings and JS that was either depended on CSS frameworks that were removed from the application's CSS manifest, or were replaced by bootstrap styling
    • Removed views associated with the in-app 'Audit' views. The audit logs are still present in the logs table in the database, so we haven't lost any audit data. I just decided to remove this set of views since they aren't necessary.
    • Removed the 'Public' layout. We only need a single application layout for this app, not one for the 'welcome' page and one for everything else.
    • Revamped the application navigation to be based on bootstrap rather than the previous DDSmoothMenu
  • Upgraded jQuery to 2.1.3
  • Upgraded jQuery UI to 1.11.2
  • Replaced script.aculo.us drag-and-drop with jQuery UI drag-and-drop
  • Removed gem dependencies:
    • princely - command-line PDF generator, as PDF support has been deprecated
    • prototype_legacy_helper - used to keep Rails 2.x prototype helpers available in the code
    • prototype-rails - prototype JS/CSS for rails
  • JS dependency changes:
    • removed amstock.js - used in audit logs that are no longer part of the UI
    • removed prototype.js - carry over from Rails 2.x days
    • removed ddsmoothmenu.js - used for old animated menu navigation
    • replaced dragdrop.js - part of script.aculo.us; replaced with jQuery UI equivalent
    • removed effects.js - part of script.aculo.us
    • removed facebox.js - old-school facebook-style light boxes for images - just didn't see where it was being used
    • removed jQuery table sorter
    • removed jQuery no-conflict file
  • CSS dependencies:
    • added bootstrap.min.css 3.3.1
    • removed amcharts.css - used in audit logs that are no longer part of the UI
    • changed application.css manifest file, such that each CSS file is explicitly named rather than including the entire tree
    • removed ddsmoothmenu.css and ddsmoothmenu-v.css - related to old navigation menu system
    • added small bootstrap-overrides.css file for a small, temporary CSS hack or two - I expect this file won't be necessary after all the other views are converted over to bootstrap+haml
    • removed compare.css - used to compare submissions, unnecessary w/bootstrap in place
    • removed facebox.css - related to light box JS features also removed above
    • removed layout.css - old, manual CSS styling
    • removed pdf.css - related to PDF generation support, which has now been removed
    • removed scaffold.css - part of the previous, manual CSS styling
Clone this wiki locally