Sunday, January 4, 2015

Release 2.10

We are happy to announce the release of WeBWorK version 2.10, now available from your friendly neighborhood github repository.  This new version features many additions.  For example the Show Me Another feature allows students to request different versions of existing problems.   There are also a number of additions which help bring WeBWorK meet web accessibility standards.  For site administrators we have a new "update notification" system so your server will never be out of date again.  Read more about it in the release notes or after the jump. 

This version contains a couple of major new features and a collection of smaller features.  Lets go through the larger changes. 

Accessibility

We made a number of changes to the math4 interface to make it much friendlier to screen readers and other accessibility tools.  Rather than one large change this is a huge number of small tweaks and improvements.   We brought all color contrasts up to AA level and added an easy to see focus box and a skip to main content link.  Tables and fields should mostly meet accessibility standards now. The big exception is that fields in problems do not have proper labels.  To fix this we added aria labels to fields generated by PG. These labels identify each answer field as "Answer 1", or "Answer 1 Part 1", etc...  These are not technical replacements for input labels, but are functional replacements for most screen readers. We also made tweaks to make the student interface of WeBWorK easy to navigate using the tab key, reordered the problem results table to make more sense when read left to right, and added links which change focus from the "correct/incorrect" text to the corresponding field.  The VPAT  for release version 2.10 can be found here.

Update Notifier:


When properly set up and enabled using the configuration files this feature will notify you when there are updates, or new versions, available for WeBWorK or PG.  It will also notify you when there are updates to the OPL and if you need to run OPL-update.  The notification appears on the Course Administration page of the admin course.  Caution: This uses git ls-remote to check in with the github repositories.  If the wait is too long the system can be disabled.  You can read more about how to set up and configure this feature here

Theme Overrides:  


Using the files math4-overrides.css and math4-overrides.js administrators can include their own js and css in a way which will be compatible with future updates.  Using this administrators can change coloring, the header images, or even basic functionality.  As an example of how this can be applied we added a red and green variant of the math4 theme.   You can read more about it here.

Show Me Another: 

When enabled this feature will give students the option of viewing a different version of their current problem. Depending on the configuration this version may or may not come with a solution, hints, the ability to check answers, or the ability to view correct answers.  The problem is guaranteed to be different so the feature will fail on problems with no randomization.  To enable the feature and adjust its settings go to the  PG - Problem Display/Answer Checking portion of the Course Configuration page.  Note that in order to use the feature you will need to enable it for each individual problem.   You can read more here.  

Reduced Scoring: 

Changed how reduced scoring works so that instead of a fixed reduced scoring period, each set has an individual "reduced scoring date".  After this reduced scoring date students will receive reduced credit for their answers.  This reduced scoring date can be set differently for individual sets or even individual students.  This can, for example, allow you to extend a due date for a student with reduced credit without changing the due date of the set for the class.  You can read more about it here.

PG Additions:  


There were a number of new PG macros added which provide some nice functionality and are listed below.  
  • niceTables.pl:  This allows problem authors to create tables with a large degree of control, including accessibility support. 
  • contextPercentage.pl: This is a context for Percentages.
  • contextAlternateDecimal.pl:  This context allows ',' instead of '.' as decimal places.
  • contextAlternateInterval.pl:  This context allows ']2,3[' as an alternate notation for open intervals.
  • contextInequalitySetBuilder.pl:  This allows for inequality based set notation.
  • contextPartition.pl:  This allows for partitions of integers.
  • contextPermutation.pl:  This allows for permutation notation.
  • parserRoot.pl:  This allows for more generalized roots.
  • scaffold.pl:  This new Scaffolding structure is an upgrade to the existing compoundProblem series of macros.

Smaller Changes:

There are also a bunch of smaller changes and improvements.  You can find the full(ish) list at the release notes page here.  The most important ones are listed below.  


  • Changed password hashing to use SHA512. This allows passwords to be functionally longer than 6 characters and is much safer. 
  • Added option to use a custom file in place of "site-info.txt".  This will keep git from overwriting your site-info.txt changes. 
  • Changed how display options work so that they are persistent.  Now there will be no "Display Options" sidebar menu.  Instead these are set in the "User Settings" page (formerly the "Password/Email" page) and persist across page calls and logins.
  • Removed the configuration option for Drag Math.  The feature can still be enabled in course.conf
  • Removed the configuration option for pgMatrixMacros since those have been replaced by MathObjects.  The flag can still be modified in course.conf.
  • Fixed a bug where fileFromPath and read_whole_problem didn't work on newer systems.

Upgrading

Because of the number of additions and upgrades since version 2.9, the upgrade process for version 2.10 is more involved.  In particular a number of new modules have been added since version 2.9, as well as significant database upgrades. There are also changes to the configuration files which will need to be integrated into your existing configurations. The process for upgrading to 2.10 is described below.:
1) Go to /opt/webwork/webwork2, /opt/webwork/pg and run
git pull origin master
on each directory (assuming that origin is your remote name for the openwebwork repository).  
2) There were a number of new perl modules added for 2.10. Run check_modules.pl and look for missing modules. They may include
  • Array::Utils
  • Dancer
  • Dancer::Plugin::Database
  • Iterator
  • Iterator::Util
  • Path::Class
  • XML::Parser::EasyTree 
Install using your distribution's package manager or via cpan
cpan Array::Utils Dancer::Plugin::Database Iterator::Util Path::Class XML::Parser::EasyTree
3) There were a couple of new LaTeX packages added for 2.10.  Change to a writeable directory outside the webwork2 directory (like ~)  Run pdflatex /opt/webwork/webwork2/bin/check_latex.tex and look for missing packages. Added packages include booktabs, tabularx, colortbl, caption, xcolor, path.  In apt based systems you may have to install texlive-latex-recommended and yum based systems may have to install texlive-path. Warning: There currently is no package on CentOS 7 which provides the path package. You can manually download and install the Fedora package and it will work.
4) Check localOverrides.conf.dist and look for changes to add to the existing localOverrides.conf. They may include
  • Information for the Upgrade Notifier.
  • Information for a local "site_info.txt" file.
  • Default values for the showMeAnother feature.
5) Check site-conf.dist and look for changes to add to the existing site.conf. They may include paths for the external programs git and curl.  
6) Run the upgrade_admin_db.pl command from webwork2/bin to upgrade your admin course database. Warning: You will not be able to access the admin course until you perform this step.
7) Restart the webserver (with apachectl graceful or a similar command).
8) Log into the admin course and upgrade the databases for all of your courses.
9) Download the latest version of the OPL using
cd /opt/webwork/libraries/webwork-open-problem-library
git pull origin
OPL-update
Hopefully you dont run into too much trouble or accidentally set your server on fire.  If you do have questions or need help, though, feel free to stop by our friendly neighborhood forums or checkout our irc channel.  Bugs can be reported at bugzilla or github.  Happy upgrading. 

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.