Difference between revisions of "Release notes for WeBWorK 2.10"

From WeBWorK_wiki
Jump to navigation Jump to search
(Created page with " <pre> WeBWorK Online Homework Delivery System ...")
 
 
(27 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
<pre> WeBWorK
 
<pre> WeBWorK
 
Online Homework Delivery System
 
Online Homework Delivery System
Version 2.9
+
Version 2.10
   
Copyright 2000-2014, The WeBWorK Project
+
Copyright 2000-2015, The WeBWorK Project
 
All rights reserved.
 
All rights reserved.
   
Line 12: Line 12:
   
   
Release date: June 20, 2014
+
Release date: January ??, 2015
   
 
Github repository: https://github.com/openwebwork
 
Github repository: https://github.com/openwebwork
Line 18: Line 18:
   
 
=== Cautions ===
 
=== Cautions ===
{{Warning |No new modules or database fields were added between 2.8 and 2.9 so you shouldn't need to upgrade your courses or install any new Perl modules. However, you will need to run OPL-update and if you are upgrading from 2.7 or earlier you may still need to upgrade courses or install software.:}}
 
  +
{{Warning | 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.:}}
   
* Necessary: Update the OPL to the latest version using git and run webwork2/bin/OPL-update.
 
  +
=== Upgrade Instructions ===
* Suggested: Run webwork2/bin/check_modules to insure that your CPAN modules are all installed.
 
  +
1) Go to <code>/opt/webwork/webwork2</code>, <code>/opt/webwork/pg</code> and run
* Suggested: Check the course tables are up to date by visiting the admin web page (the upgrade courses tab).
 
  +
<pre>
* Suggested: Make sure that MathJax is properly installed in /opt/webwork/MathJax.
 
  +
git pull origin master
  +
</pre>
  +
on each directory (assuming that origin is your remote name for the openwebwork repo).
  +
  +
2) There were a number of new perl modules added for 2.10. Run <code>check_modules.pl</code> and look for missing modules. They may include
  +
* Array::Utils
  +
* Dancer
  +
* Dancer::Plugin::Database
  +
* Iterator
  +
* Iterator::Util
  +
* Path::Class
  +
* XML::Parser::EasyTree
  +
* LWP::Protocol::https
  +
Install using your distributions package manager or via cpan
  +
<code>
  +
cpan Array::Utils Dancer::Plugin::Database Iterator::Util Path::Class XML::Parser::EasyTree
  +
</code>
  +
  +
3) There were a couple of new LaTeX packages added for 2.10. Change to a writeable directory outside the webwork2 directory (like ~) Run <code>pdflatex /opt/webwork/webwork2/bin/check_latex.tex</code> 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
  +
<pre>
  +
################################################################################
  +
# Repository Information
  +
###############################################################################
  +
# This is where you put your remote and branch for your WeBWorK, PG and OPL
  +
# github repositories.
  +
# To disable checking for a particular repository, set the remote and branch
  +
# variables to be empty strings.
  +
$enableGitUpgradeNotifier = 1;
  +
$gitWeBWorKRemoteName = "origin";
  +
$gitWeBWorKBranchName = "master";
  +
$gitPGRemoteName = "origin";
  +
$gitPGBranchName = "master";
  +
$gitLibraryRemoteName = "origin";
  +
$gitLibraryBranchName = "master";
  +
</pre>
  +
* Information for a local "site_info.txt" file
  +
<pre>
  +
# This is the site_info file. You should consider changing this to point
  +
# to a file which is not tracked by git
  +
$webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt";
  +
</pre>
  +
* Default value for the showMeAnother feature
  +
<pre>
  +
# The default showMeAnother for a problem to use when using the
  +
# Library Browser, Problem Editor or Hmwk Sets Editor to add problems to a set
  +
# or when this value is left blank in an imported set definition file. Note that
  +
# setting this to -1 disables the showMeAnother button
  +
$problemDefaults{showMeAnother} = -1;
  +
</pre>
  +
  +
5) Check site-conf.dist and look for changes to add to the existing site.conf. They may include paths for the following external programs
  +
* Git <code>$externalPrograms{git} = "/usr/bin/git";</code>
  +
* Curl <code>$externalPrograms{curlCommand} = "/usr/bin/curl";</code>
  +
  +
6) Run the <code>upgrade_admin_db.pl</code> 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 <code>apachectl graceful</code> or 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
  +
* <code> cd /opt/webwork/libraries/webwork-open-problem-library</code>
  +
* <code> git pull origin</code>
  +
* <code>OPL-update</code>
   
 
=== Primary Changes ===
 
=== Primary Changes ===
   
This is a smaller release than 2.8, as evidenced by the fact that there are no database or module additions. The primary changes to WeBWorK for this release are: support for Apache version 2.4 (and hence the latest versions of Ubuntu and Fedora), polishing the math4 interface, adding a couple of new PG modules, and general bug fixing.
 
  +
This version contains a couple of major additions to WeBWorK and a collection of smaller features. The major changes are listed below.
   
=== Installer ===
 
  +
* 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.
  +
** All color contrasts should be up to AA level
  +
** There is an easy to see focus box now 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.
  +
** 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.
  +
** 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 can be found at http://spot.pcc.edu/~ajordan/WeBWorKVPAT2-10.pdf
  +
* Update Notifier: When properly set up and enabled using the configuration files this 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 <code>OPL-update</code>. The notification appears on the '''Course Administration''' page of the admin course.
  +
** ''Caution:'' This uses <code>git ls-remote</code> to check in with the github repositories. If the wait is too long the system can be disabled.
  +
** http://webworkgoehle.blogspot.com/2014/12/upgrade-notifier.html
  +
* Theme Overrides: Using the files <code>math4-overrides.css</code> and <code>math4-overrides.js</code> 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.
  +
** Added a red and green variant of the math4 theme.
  +
** http://webworkgoehle.blogspot.com/2014/07/customizing-colors.html
  +
* Show Me Another: Added a "Show Me Another" feature. When enabled this 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.
  +
** The feature is enabled in the Course Configuration page, but also needs to be enabled for each individual problem.
  +
** http://cmhugheswebwork.blogspot.com/2014/05/show-me-another-feature-for-webwork.html
  +
* 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 can be used with the existing override system to extend a due date for a student with reduced credit without changing the due date of the set for the class.
  +
** http://webwork.maa.org/wiki/Reduced_Scoring
  +
* PG Additions: There were a number of new PG macros added which provide some nice functionality.
  +
** 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.
   
The [https://github.com/aubreyja/ww_install ww_install] installer has been upgraded to support Apache 2.4. You can use it by following the instructions on the previous link. Note: ww_install also installs the components necessary to switch your installation to the develop branch without installing new software. (You will need to upgrade your course tables, and run OPL update though.)
 
  +
=== Smaller Changes ===
   
=== What's new? ===
 
  +
This is a list of the smaller changes and bugfixes that are in this release. Note: Not all bugfixes are included.
   
 
* System Updates
 
* System Updates
** Added support for Apache 2.4
 
  +
** Changed password hashing to use SHA512. This allows passwords to be functionally longer than 6 characters and is much safer.
*** This includes internal changes to WeBWorK to support Apache 2.4 as well as a new configuration file, webwork-apache2.4-config, which should be used for Apache 2.4
 
  +
** The Course Title and Course Institution are now stored in the setting database rather than being forgotten after course creation. I also made it so that the page title will be the course title on various pages that used to use courseID.
*** Remember that you also need to use the new Apache 2.4 directives when setting up your server: MaxConnectionsPerChild in place of MaxRequestsPerChild, and MaxRequestWorkers in place of MaxClients.
 
  +
** Added option to use a custom file in place of "site-info.txt". This will keep git from overwriting your site-info.txt changes.
** Removed jsMath. This display method has been entirely superseded by MathJax
 
  +
** Added options for customizing the amount of time between the open date, due date and answer date on set creation. These are used when creating sets via the webwork webservice, the problem set list 2 and the library browser (js and nojs).
** Added maketext calls to places where they are missing. This is the first step for localizing these strings. They now need to be translated.
 
** Fixed depreciation warnings for Perl >5.16
 
   
 
* General Interface Updates
 
* General Interface Updates
** Added an unsupported-themes folder and moved everything but math3 and math4 into that folder.
 
  +
** Changed how display options work so that they are persistent. Now there will be no "Display Options" menu. Instead these are set in the "User Settings" page (formerly the "Password/Email" page) and persist across page calls and logins.
*** Newer pages assume things like the presence of jQuery or certain bootstrap elements. These are missing from old themes that haven't been kept up to date. Using these themes will cause unexpected results. You can re-enable them, at your own risk, by moving them from unsupported-themes back to themes.
 
  +
** Changed how fields are colored to have a glow around the edge instead of a background color.
** Added LaTeX editing support for MathView. This has two uses.
 
  +
** Fixed a bug where math in plain text mode would still get rendered by MathJax
*** If you enable MathView and use essay questions then MathView can be used to typeset LaTeX equations in an essay box.
 
  +
** Added hidden text to glyphicons to support screen readers.
*** If you set $options{PGMathView} = 1; in a config file (not available in the main course config page) it will make the MathView editor available for inserting LaTeX equations into the PG Editors
 
  +
** Changed labels on some of the navigation buttons to be clearer.
** Cleaned up how MathView looks on small screens.
 
  +
** Changed forms so that they dont spill over their containers on phones.
** Cleaned up support for long set names. They still don't look great but they are better. (This includes allowing a lot of long set names to wrap. This is better than them overlapping other elements, but they can look weird if they are long names in a narrow area.)
 
  +
** Default displayMode for new installations is now MathJax
** Added a button which can collapse or expand the navigation bar on the left hand side of the page. The bar starts collapsed on phones and expanded otherwise.
 
** Improved how the Problem Sets and Problem Set page are formatted. They have links instead of buttons for set names and problem numbers. The set names wont drop below the checkmark/radioboxs anymore.
 
** Cleaned up the tables for the Homework Sets Editor and Classlist Editor. The select box in each is its own column, the select all feature has been moved to the table header. The select all, unselect all and clear buttons have been removed since they are not needed.
 
** Cleaned up some other math4 display things, including removing extraneous buttons and removing extraneous button coloring.
 
   
* Library Browser Updates
+
* Problem Page Updates
** Fixed a bug where the Hide Problem button froze browsers when used on a problem with "More Like This". Also improved how Hide Problems and More Like This work together.
+
** Changed results table order, results are now colored and contain a link pointing back to the corresponding input field.
** Added support to the OPL for cross-listing taxonomy in the library. Now things like "Vector Geometry" can appear in more than one subject.
+
** Fixed a bug where the problem correctness coloring didn't work with MultiAnswers.
  +
** Made score rounding to be consistent with across all pages. Problems were always stored correctly but now everything is displayed using the same rounding subroutine.
  +
** Removed the configuration option for Drag Math. The feature can still be used if configured manually.
  +
** 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 in rendering comments on essays.
   
* Achievement Updates
+
* Gateway Updates
** Fixed Achievement Editor bugs, including errors on exporting and selections disappearing.
+
** Fix bug in grading where some gateway problems use weighted grader.
** Changed achievement scoring so that dropped and audit students aren't scored. When you score achievements the success message contains a link to the scoring file.
+
** Fixed a bug where non-proctored gateway exams wouldn't work on some newer systems
  +
** Many of the tables, (grades, results, score summary) were redone to improve their look and accessibility.
  +
** Cleaned up the form for viewing Gateways in Student Progress
  +
** Added the MathView editor to GatewayQuizzes
  +
** Fixed a bug where reduced scores were not reported properly.
   
* Under the Hood Updates
+
* Library Browser Updates
** Changed how Essay Answers works to speed things up. It no longer reports if you have problems that need grading on the Problem Grader links, but the pages load faster.
+
** Changed XMLRPC calls so they do not verify sll certificates. (Allows the Library Browser to be used with self signed ssl certs)
  +
** Fixed LTI authentication so that it works with XMLRPC calls (i.e. the Library Browser)
   
* Homework Sets Editor Updates
+
* Achievement Updates
** Fixed a bug with the Datepicker and set names with a "." in them. Also improved how Datepicker works with the import date shift functionality.
+
** Fixed a bug where the item dropdowns might not allow student to select all the problems.
*** Fun fact some of our strings get parsed so often that "." needs to be replaced with "\\\\\."
+
** Fixed a bug where achievement items would produce errors when there are no open sets.
   
* Classlist Editor Updates
 
  +
* Show Answers
** Cleaned up the classlist table so that abbreviations for statuses aren't shown and the email address isn't shown. The actual status and a link to send an email are shown instead.
 
  +
** Blank entries are interpreted as * and * works with numbers.
** In ClassListEditor2 filtering on Permissions or Status now filters on the actual Permission or Status, not the code used to store those in the database.
 
  +
** Fixed a bug where gateway answer tags would get formatted as math.
   
  +
* File Manager
  +
** Changed the default names for rename and copy.
  +
  +
* Hardcopy Updates
  +
** Upgraded how paths are displayed in hard copies to allow wrapping
  +
** Fixed a bug where radio buttons didn't print in hard copies properly.
  +
** Hardcopy now uses pdflatex and not dvips.
  +
** Fixed a bug where hardcopies could be generated for sets locked with conditional release.
  +
  +
* Under the Hood Updates
  +
** Made it so that the debug log no longer contains unmasked passwords.
  +
** Fixed a bug where the admin course would keep trying to update non-native tables.
  +
** Cleaned up some pre WW3 code that was lying around in the WW2 directories
  +
** Added maketext hooks to lots of stuff. There is a great deal of translating that needs to be done.
  +
** Randomized which practice user is used when someone logs in as guest
  +
** Fixed a bug where clicking the log out button didn't log you out.
  +
** Fixed a bug with paths and shibboleth authentication.
  +
** Newer versions of <code>CGI::pop_up</code> dont respect the multiple attribute. Changed these to be scrolling_list.
  +
  +
* Datepicker changes
  +
** Added a changed class to datepicker. Now it shows you which fields it has changed.
  +
** Fixed a bug where timezone codes with 4 digits were not handled properly
  +
** Added datepicker to the UserDetail page.
  +
** Added support for GatewayQuizzes
  +
 
* Problem Editor Updates
 
* Problem Editor Updates
** Fixed a bug where "open in new window" sometimes didn’t open in a new window in PGProblemEditor2. Also made it so the "open in new window" checkbox is responsive to what you are selecting.
 
  +
** Changed the behavior of PGProblemEditor2 so that if you "Save As" or "Append" it will open the new file for editing instead of remaining on the old file.
** Upgraded PGProblemEditor2 so append works with gateway sets.
 
  +
** Fix bug when tagging problems using tagging menus which can accidentally remove lines from the pg file.
** Added support for "Append" back to PGProblemEditor3.
 
** Changed the behaviour of PGProblemEditor3 so that if you "Save As" or "Append" it will open the new file for editing instead of remaining on the old file.
 
   
* PG Updates
+
*PG Updates
** Fixed a bug where applet based questions weren't working properly.
+
** Fixed a bug where fileFromPath didn't work on newer systems.
** Fixed a bug with images in problems not having the right size in tables in IE.
+
** Upgraded AskSage error reporting and portability.
** Added a statistics macro and pcctables macro for pg to defaults.config.
+
** Fixed a bug when comparing ImplicitPlane objects
** Added some statistics functionality to PG, including more flexibility for Bernoulli variables and the ability to use arbitrary discrete probability distributions.
+
** Fixed a bug where problems which used read_whole_problem wouldn't run on newer systems.
** Added smarter fraction support to PG. Now toFraction now turns things like .33333 into 1/3 and not 33333/100000.
+
** Fixed a bug where student answers would be interpolated by pg.
** Added support to override arithmetic operators to distinguish between different forms of answers (bizzaroArithmetic.pl).
+
** Fixed a bug where viewing temporary pg files generated errors from the tagging subsystem.
** Added support for more accessible tables in PG using pccTables.pl.
+
** Fix MultiAnswer to set the correct_ans_latex_string, and also make it use the format and tex_format strings for the correct answer when singleResult is used.
** Changed how MathJax is loaded by PG. It should be a little faster on pages loading a number of problems at the same time.
+
** Fix contextComplexJ so that it can be loaded in parserCustomization.pl, and so that it can allow or disallow each of the i and j notation independently.
** Upgraded PG to support the newest versions of Perl.
+
** Fix parserFunctionPrime.pl to handle names with primes properly in perl output (needed for answer checking, but not for display). Apparently this file never worked (argh).
** Improving how tables work in PG. Among the little improvements are how table headers work, how images work in tables, and accessibility concerns.
+
** Fix List answer checker to set correct_ans_latex_string when parens have been removed.
** Fixed a bug with contextTypeset that was causing bugs when students used asciiMath formulas in Essay questions.
+
** Don't force functions to be of class parser::FunctionPrime (this messed up differentiation, since parser::FunctionPrime has parent parserFunction, and that overrides the D method).
  +
** Fix problem with error messages when a restricted input format is required. Make sure constants display their TeX forms correctly. Force the constant i into the given context so that it produces the proper class when evaluated.
  +
** Added href to knowl links
  +
** Changed pts to points in PG header.
  +
** Added BLABEL and ELABEL to support labels in PG
  +
** Make PopUp and RadioButtons objects work properly with the new MultiAnswer name prefixes. (These didn't work with singleResult=>1 in the past, but now do.)
  +
** Fix an infinite loop when checking sets formed by unions
  +
** Avoid error messages from comparisons to strings and in testing for when the formula agrees with the previous one typed by the student.
  +
** Fixed a bug in the definition of cosh which could cause it to fail.
  +
  +
=== Installer ===
  +
  +
The [https://github.com/aubreyja/ww_install ww_install] installer has been updated to support version 2.10. It has been tested on Ubuntu 14.04, Debian 7, CentOs 7, and Fedora 20. Note: ww_install also installs the components necessary to switch your installation to the develop branch without installing new software. (It has trouble installing the Template perl package on CentOS 7. This doesn't prevent you from using release 2.10.)
   
 
=== Supported Distributions and Features ===
 
=== Supported Distributions and Features ===
Line 98: Line 214:
 
* Ubuntu LTS 14.04
 
* Ubuntu LTS 14.04
 
* Debian 7
 
* Debian 7
* Centos 6
+
* CentOs 7
 
* Fedora 20
 
* Fedora 20
We also want to support RedHat 6 but can't reliably test on it because the distribution is not freely available. If you install on RedHat 6 and run into trouble let us know.
 
  +
Note: There is currently a bug which prevents installation on Fedora 21. There is no package which provides the <code>pnmtops</code> program and this causes the installation to fail.
 
We are also removing or depreciating support for some things that have been replaced by newer components.
 
* RedHat 5 is no longer supported because its version of Perl (5.8.x) is not new enough. Perl 5.10.x is required and 5.12 or higher is recommended.
 
* The old version of the Homework Sets Editor and the Classlist Editor are no longer shown by default and are no longer maintained. If they are enabled via a configuration file they will still (mostly) work, but are not kept up to date.
 
* With the increased use of JavaScript, more of our functionality has become dependent on to what were once mostly cosmetic themes. Right now the only two supported themes are math3 and math4, and math3 is only partially supported for the newest of features. Older themes can be found in the unsupported-themes directory.
 
   
 
=== What could possibly go wrong? ===
 
=== What could possibly go wrong? ===
* You can get a red warning error about using a theme which does not exist. You should go to Course Configuration and select either math3 or math4.
 
  +
* You can get a warning when trying to log into the admin course: You will need to run <code>upgrade_admin_db.pl</code>. You will also need to upgrade all of your other course.
* If you are upgrading from an older version you may need to update your course tables and install new modules.
 
  +
* The library browser may stop responding. When you select a subject the chapter list may not populate. You should look in your apache error log to see what errors pop up. There are a couple of different things that can cause older systems to fail when upgraded. Chief among these seems to be having outdated or incompatible SOAP modules.
* If you don't also upgrade PG to the latest version you might not be able to have problems load correctly on the latest versions of Perl.
 
  +
* You can't get the update notifier to work: You need to update both the localOverrides.conf and the site.conf configuration files with the latest additions to get the update notifier to work.
  +
* You can't get hardcopies to work: You will need to install the latest LaTeX packages, including path.sty. This can be a challenge on CentOS 7 because there is no native package that provides it. You can manually download and install the Fedora version and it will work.
 
* Remember to update the OPL '''and''' run OPL-update.
 
* Remember to update the OPL '''and''' run OPL-update.
   

Latest revision as of 12:39, 14 April 2015

                                     WeBWorK                                    
                         Online Homework Delivery System                        
                                  Version 2.10                          

                    Copyright 2000-2015, The WeBWorK Project                    
                              All rights reserved.                              

Details
-------



Release date: January ??, 2015

Github repository:  https://github.com/openwebwork
Modules:    webwork2   pg 

Cautions

Warning : 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.:

Upgrade Instructions

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 repo).

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
  • LWP::Protocol::https

Install using your distributions 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
################################################################################
# Repository Information
###############################################################################
# This is where you put your remote and branch for your WeBWorK, PG and OPL
# github repositories.
# To disable checking for a particular repository, set the remote and branch
# variables to be empty strings.
$enableGitUpgradeNotifier = 1;
$gitWeBWorKRemoteName = "origin";
$gitWeBWorKBranchName = "master";
$gitPGRemoteName = "origin";
$gitPGBranchName = "master";
$gitLibraryRemoteName = "origin";
$gitLibraryBranchName = "master";
  • Information for a local "site_info.txt" file
# This is the site_info file. You should consider changing this to point
# to a file which is not tracked by git
$webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt";
  • Default value for the showMeAnother feature
# The default showMeAnother for a problem to use when using the
# Library Browser, Problem Editor or Hmwk Sets Editor to add problems to a set
# or when this value is left blank in an imported set definition file. Note that
# setting this to -1 disables the showMeAnother button
$problemDefaults{showMeAnother} = -1; 

5) Check site-conf.dist and look for changes to add to the existing site.conf. They may include paths for the following external programs

  • Git $externalPrograms{git} = "/usr/bin/git";
  • Curl $externalPrograms{curlCommand} = "/usr/bin/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 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

Primary Changes

This version contains a couple of major additions to WeBWorK and a collection of smaller features. The major changes are listed below.

  • 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.
    • All color contrasts should be up to AA level
    • There is an easy to see focus box now 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.
    • 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.
    • 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 can be found at http://spot.pcc.edu/~ajordan/WeBWorKVPAT2-10.pdf
  • Update Notifier: When properly set up and enabled using the configuration files this 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.
  • 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.
  • Show Me Another: Added a "Show Me Another" feature. When enabled this 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.
  • 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.
  • PG Additions: There were a number of new PG macros added which provide some nice functionality.
    • 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

This is a list of the smaller changes and bugfixes that are in this release. Note: Not all bugfixes are included.

  • System Updates
    • Changed password hashing to use SHA512. This allows passwords to be functionally longer than 6 characters and is much safer.
    • The Course Title and Course Institution are now stored in the setting database rather than being forgotten after course creation. I also made it so that the page title will be the course title on various pages that used to use courseID.
    • Added option to use a custom file in place of "site-info.txt". This will keep git from overwriting your site-info.txt changes.
    • Added options for customizing the amount of time between the open date, due date and answer date on set creation. These are used when creating sets via the webwork webservice, the problem set list 2 and the library browser (js and nojs).
  • General Interface Updates
    • Changed how display options work so that they are persistent. Now there will be no "Display Options" menu. Instead these are set in the "User Settings" page (formerly the "Password/Email" page) and persist across page calls and logins.
    • Changed how fields are colored to have a glow around the edge instead of a background color.
    • Fixed a bug where math in plain text mode would still get rendered by MathJax
    • Added hidden text to glyphicons to support screen readers.
    • Changed labels on some of the navigation buttons to be clearer.
    • Changed forms so that they dont spill over their containers on phones.
    • Default displayMode for new installations is now MathJax
  • Problem Page Updates
    • Changed results table order, results are now colored and contain a link pointing back to the corresponding input field.
    • Fixed a bug where the problem correctness coloring didn't work with MultiAnswers.
    • Made score rounding to be consistent with across all pages. Problems were always stored correctly but now everything is displayed using the same rounding subroutine.
    • Removed the configuration option for Drag Math. The feature can still be used if configured manually.
    • 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 in rendering comments on essays.
  • Gateway Updates
    • Fix bug in grading where some gateway problems use weighted grader.
    • Fixed a bug where non-proctored gateway exams wouldn't work on some newer systems
    • Many of the tables, (grades, results, score summary) were redone to improve their look and accessibility.
    • Cleaned up the form for viewing Gateways in Student Progress
    • Added the MathView editor to GatewayQuizzes
    • Fixed a bug where reduced scores were not reported properly.
  • Library Browser Updates
    • Changed XMLRPC calls so they do not verify sll certificates. (Allows the Library Browser to be used with self signed ssl certs)
    • Fixed LTI authentication so that it works with XMLRPC calls (i.e. the Library Browser)
  • Achievement Updates
    • Fixed a bug where the item dropdowns might not allow student to select all the problems.
    • Fixed a bug where achievement items would produce errors when there are no open sets.
  • Show Answers
    • Blank entries are interpreted as * and * works with numbers.
    • Fixed a bug where gateway answer tags would get formatted as math.
  • File Manager
    • Changed the default names for rename and copy.
  • Hardcopy Updates
    • Upgraded how paths are displayed in hard copies to allow wrapping
    • Fixed a bug where radio buttons didn't print in hard copies properly.
    • Hardcopy now uses pdflatex and not dvips.
    • Fixed a bug where hardcopies could be generated for sets locked with conditional release.
  • Under the Hood Updates
    • Made it so that the debug log no longer contains unmasked passwords.
    • Fixed a bug where the admin course would keep trying to update non-native tables.
    • Cleaned up some pre WW3 code that was lying around in the WW2 directories
    • Added maketext hooks to lots of stuff. There is a great deal of translating that needs to be done.
    • Randomized which practice user is used when someone logs in as guest
    • Fixed a bug where clicking the log out button didn't log you out.
    • Fixed a bug with paths and shibboleth authentication.
    • Newer versions of CGI::pop_up dont respect the multiple attribute. Changed these to be scrolling_list.
  • Datepicker changes
    • Added a changed class to datepicker. Now it shows you which fields it has changed.
    • Fixed a bug where timezone codes with 4 digits were not handled properly
    • Added datepicker to the UserDetail page.
    • Added support for GatewayQuizzes
  • Problem Editor Updates
    • Changed the behavior of PGProblemEditor2 so that if you "Save As" or "Append" it will open the new file for editing instead of remaining on the old file.
    • Fix bug when tagging problems using tagging menus which can accidentally remove lines from the pg file.
  • PG Updates
    • Fixed a bug where fileFromPath didn't work on newer systems.
    • Upgraded AskSage error reporting and portability.
    • Fixed a bug when comparing ImplicitPlane objects
    • Fixed a bug where problems which used read_whole_problem wouldn't run on newer systems.
    • Fixed a bug where student answers would be interpolated by pg.
    • Fixed a bug where viewing temporary pg files generated errors from the tagging subsystem.
    • Fix MultiAnswer to set the correct_ans_latex_string, and also make it use the format and tex_format strings for the correct answer when singleResult is used.
    • Fix contextComplexJ so that it can be loaded in parserCustomization.pl, and so that it can allow or disallow each of the i and j notation independently.
    • Fix parserFunctionPrime.pl to handle names with primes properly in perl output (needed for answer checking, but not for display). Apparently this file never worked (argh).
    • Fix List answer checker to set correct_ans_latex_string when parens have been removed.
    • Don't force functions to be of class parser::FunctionPrime (this messed up differentiation, since parser::FunctionPrime has parent parserFunction, and that overrides the D method).
    • Fix problem with error messages when a restricted input format is required. Make sure constants display their TeX forms correctly. Force the constant i into the given context so that it produces the proper class when evaluated.
    • Added href to knowl links
    • Changed pts to points in PG header.
    • Added BLABEL and ELABEL to support labels in PG
    • Make PopUp and RadioButtons objects work properly with the new MultiAnswer name prefixes. (These didn't work with singleResult=>1 in the past, but now do.)
    • Fix an infinite loop when checking sets formed by unions
    • Avoid error messages from comparisons to strings and in testing for when the formula agrees with the previous one typed by the student.
    • Fixed a bug in the definition of cosh which could cause it to fail.

Installer

The ww_install installer has been updated to support version 2.10. It has been tested on Ubuntu 14.04, Debian 7, CentOs 7, and Fedora 20. Note: ww_install also installs the components necessary to switch your installation to the develop branch without installing new software. (It has trouble installing the Template perl package on CentOS 7. This doesn't prevent you from using release 2.10.)

Supported Distributions and Features

The following are the distributions and features that are officially still supported. You still can use WeBWorK on whatever you like, of course. In particular if you install WeBWorK on a very recent version of Ubuntu or Fedora and have problems let us know.

  • Ubuntu LTS 14.04
  • Debian 7
  • CentOs 7
  • Fedora 20

Note: There is currently a bug which prevents installation on Fedora 21. There is no package which provides the pnmtops program and this causes the installation to fail.

What could possibly go wrong?

  • You can get a warning when trying to log into the admin course: You will need to run upgrade_admin_db.pl. You will also need to upgrade all of your other course.
  • The library browser may stop responding. When you select a subject the chapter list may not populate. You should look in your apache error log to see what errors pop up. There are a couple of different things that can cause older systems to fail when upgraded. Chief among these seems to be having outdated or incompatible SOAP modules.
  • You can't get the update notifier to work: You need to update both the localOverrides.conf and the site.conf configuration files with the latest additions to get the update notifier to work.
  • You can't get hardcopies to work: You will need to install the latest LaTeX packages, including path.sty. This can be a challenge on CentOS 7 because there is no native package that provides it. You can manually download and install the Fedora version and it will work.
  • Remember to update the OPL and run OPL-update.