Release notes for WeBWorK 2.12
WeBWorK Online Homework Delivery System Version 2.12 Copyright 2000-2016, The WeBWorK Project All rights reserved. Details ------- Release date: May 17, 2016 Github repository: https://github.com/openwebwork Modules: webwork2 pg ww_install
Contents
Cautions
WARNING: There are significant database upgrades since 2.11, as well as potential new modules. There are also changes to the configuration files which will need to be integrated into your existing configurations. The process for upgrading to 2.12 is described below.
Upgrade Instructions
1) Go to /opt/webwork/webwork2
, as well as /opt/webwork/pg
and run
git pull origin master
on each directory (assuming that origin is your remote name for the openwebwork repo).
2) Depending on your system there may be new perl modules added for 2.12. Run check_modules.pl
and look for missing modules. They may include:
- Digest::SHA
You should also run pdflatex /opt/webwork/webwork2/bin/check_latex.tex
and look for missing latex packages. They may include:
- fullpage
If you are missing fullpage it is in the texlive-latex-extra package in apt based distributions and texlive-preprint in yum/dnf distributions.
4) Check localOverrides.conf.dist and look for changes to add to the existing localOverrides.conf.
- Library Statistics - This is a new feature (see below). There are variables which control whether or not global and local problem statistics are shown in the library browser.
# These flags control if statistics on opl problems are shown in the library # browser. If you want to include local statistics you will need to # run webwork2/bin/update-OPL-statistics on a regular basis. $problemLibrary{showLibraryLocalStats} = 1; # This flag controls whether global statistics will be displayed $problemLibrary{showLibraryGlobalStats} = 1;
- Problem Re-Randomization - The problem rerandomization feature (see below) has default options which need to be set.
# The default prPeriod value (re-randomization period) to use for the newly created problem. # It is suggested to use the value of -1, which means that the course-wide setting would be used # Setting this to -1 defaults to the use of course-wide settings (suggested) # Setting this to 0 disables periodic randomization regardless of the course-wide setting # Setting this to a positive value will override the course-wide setting $problemDefaults{prPeriod} = -1; ################################################################################ # Periodic re-randomization ################################################################################ # switch to enable periodic re-randomization $pg{options}{enablePeriodicRandomization} = 0; # course-wide default period for re-randomization, should be an integer # the value of 0 disables re-randomization $pg{options}{periodicRandomizationPeriod} = 5;
5) Check your apache configuration file and look for changes to add to your existing configuration file. In particular you may need to add the following:
- Code to set the location of the pg directory as an environment variable
$WeBWorK::Constants::PG_DIRECTORY = $pg_dir; $ENV{PG_ROOT} = $pg_dir;
- A line to set the server admin email
$ENV{WEBWORK_SERVER_ADMIN} = $webwork_server_admin_email;
You should also check site-conf.dist and look for changes to add to the existing site.conf. There is nothing particular in this version release but you should check just the same.
6) Check your courses.dist/modelCourse/course.conf and look for changes against your course.conf file. They may include:
- Removing a number of outdated settings.
- Commented out settings for controlling which instructors can see which students.
# The following hashes control which users are allowed to see students from which # sections. This is typically used for large multi-section classes with many students, ta's and # professors. When set users will only be allowed to see students from the appropriate section in the following: # - Instructor Tools # - Student Progress # - Email # - Problem Grader # - Show Answers # They will be able to see students from other sections on other pages. # These variables generally should be set here and not in defaults.conf. # $viewable_sections = { user_id1 => [1 ,2 ,3] , # list of viewable sections for user_id1 # user_id2 => [1], # }; # $viewable_recitations = { user_id1 => [1 ,2 ,3] , # list of viewable recitations for user_id1 # user_id2 => [1], # };
7) Restart the webserver.
sudo apachectl restart
8) Run the upgrade admin database script. You will not be able to access your admin course until this is done, and you will need to do that to upgrade the course databases.
upgrade_admin_db.pl
Next, log into the admin course and upgrade the databases for all of your courses. Your server will not be functional until you perform this step.
9) Download the latest version of the OPL. Note: If you have library statistics enabled this will also update your statistics tables.
cd /opt/webwork/libraries/webwork-open-problem-library git pull origin OPL-update
10) Download the latest version of MathJax.
cd /opt/webwork/MathJax git pull
Primary Changes
- LTI Grade Passback: This is a complete rewrite of the LTI authentication module including upgrades to allow grades to be passed back from WeBWorK to the LMS (e.g. Blackboard, Moodle, etc...). The authentication feature includes the ability to automatically create students logging into WeBWorK for the first time. The grading feature has two modes. You can either have WeBWorK pass back a single "homework" grade for the entire course, or you can set it up on a set by set basis. You can read more about this module at the following links. Note: The new LTIAdvanced module not a strict upgrade from the older LTI authentication module LTIBasic. The older module still works, but should be considered legacy code.
- http://webworkgoehle.blogspot.com/2016/03/webwork-lti-authentication.html - This contains information about how to set up the new module and use it for authentication. See also LTI-Advanced Authentication
- http://webworkgoehle.blogspot.com/2016/03/webwork-lti-grading.html - This contains information about how to use the grade passback features of the module. See also LTI-Advanced Grading
- https://github.com/openwebwork/webwork2/pull/687 - This is the github pull request.
- Hardcopy Themes: This adds support for different hardcopy themes. Instructors will set the theme that students have access to on the Course Configuration page, and can also select the different themes on the instructor download handouts page. Right now there are two themes: the traditional two column WeBWorK theme and a new "one column" theme which the full page width. The system is also set up so that universities can add their own themes for tests or with branding. Note: You will need to make sure the fullpage latex package is available on your server to use this feature.
- http://webworkgoehle.blogspot.com/2016/02/hardcopy-themes.html - This contains information about how to use the hardcopy themes feature, and also how to set up your own themes.
- https://github.com/openwebwork/webwork2/pull/682 - This is the github pull request.
- Past Answer Refactor: This is a rewrite of the existing Past Answer's page. First, it replaces the old "wildcard/regex" feature in Past Answers with multiselect lists. Now instructors will explicitly select which sets, users and problems they would like to search for past answers. It also adds the ability to download answers from the Past Answer page as a CSV.
- https://github.com/openwebwork/webwork2/pull/677 - This is the github pull request.
- OPL Statistics: This adds problem usage statistics to the Library Browser. When enabled and configured you should see both local and 'global' statistics on how many times problems have been assigned, students average scores and, average attempt numbers. Here local statistics are generated from the data on your WeBWorK server and reflects how your courses use problems. Global statistics are generated from over a dozen different universities and includes information on 23000 problems.
- You can donate data from your school by running
update-OPL-statistics
and thenupload-OPL-statistics
. - http://webworkgoehle.blogspot.com/2016/01/opl-statistics.html - This page contains more information about the statistics feature.
- https://github.com/openwebwork/webwork2/pull/665 - This is the github pull request.
- You can donate data from your school by running
- Translator Refactor: This is an extensive under the hood revamping of how PG tracks problem resources, aliases, answer blanks and evaluators. In general the new approach uses less "dead reckoning" and is smarter about treating answer blanks and evaluators as different components of the same "object". You should not see any changes in functionality.
- https://github.com/openwebwork/webwork2/pull/653 - This is the github pull request.
- https://github.com/openwebwork/webwork2/pull/656 - This is the github pull request.
- https://github.com/openwebwork/webwork2/pull/657 - This is the github pull request.
- https://github.com/openwebwork/webwork2/pull/672 - This is the github pull request.
- Advanced Problem Debugging: Users with admin privileges will have the ability to see detailed debugging information about problems. There are four options available. AnswerGroupInfo shows information about answer "groups". This is most helpful for multianswer style problems. Show Auxiliary Resources shows information about auxiliary files used by the problem. AnswerHashInfo shows information about the answer hash, including answers, filters and evaluators. PGInfo prints the PG environment, including all available variables.
- https://github.com/openwebwork/webwork2/pull/654 - This is the github pull request.
- Periodic Randomization: This feature allows you to force problems to generate a new seed after a fixed number of attempts. It is sort of "max attempts lite" in that students can keep trying, but they have to start over. The feature is enabled via the Course Configuration page (in the Optional Modules section). Instructors can set the default number of attempts before re-randomization. The number of attempts before re-randomization can also be set on a per problem basis.
- Periodic Randomization: This is a wiki resource for this feature.
- https://github.com/openwebwork/webwork2/pull/626 - This is the github pull request.
- parserWordCompletion: This new macro allows authors to ask free response fill in the blank questions with interactive help. As a student types their answer into the answer blank, jQuery's autocomplete feature generates a drop-down list of allowable answers that match what has already been typed.
- https://github.com/openwebwork/pg/blob/master/macros/parserWordCompletion.pl - As with many macro files, the best documentation is actually contained at the beginning of the macro itself.
- https://github.com/openwebwork/pg/pull/258 - This is the github pull request.
- Grades: The Grades page was overhauled with an number of small modifications. The total percentage score for homeworks is now shown and the "C" has been replaced by a 100. There is also a course homework grade at the bottom of the Grades table. This score is generated from the total number of points earned divided by the total number of points available and should match the score generated by selecting all sets on the Scoring Tools page. (This can be turned off on the Course Configuration page if WeBWorK's grading scheme doesn't match with what you use.)
- http://webworkgoehle.blogspot.com/2016/03/grades-external-grades-and-email.html - You can read more about the changes here.
- https://github.com/openwebwork/webwork2/pull/678 - This is the github pull request.
Smaller Changes
- Updated the orientation and demo sets to more accurately reflect how things currently work. https://github.com/openwebwork/webwork2/pull/633
- Refactored the attempts table code out into its own module. https://github.com/openwebwork/webwork2/pull/649
- Refactored the show me another feature out into its own module. https://github.com/openwebwork/webwork2/pull/612
- Changed how options are grouped on the config page. Now there is a "Optional Modules" tab which has all of the different module options in one place. https://github.com/openwebwork/webwork2/pull/675
- When generating individual set scores from the Scoring Tools page just-in-time sets now provide information about sub problems as well as top level problems https://github.com/openwebwork/webwork2/pull/675
- Fixed a bug where apache child processes had the same random seed. https://github.com/openwebwork/webwork2/pull/645
- Polished two existing features to make them more obvious. The first is the ability to display extra grade information to students on the Grades page by using email merge and the second is to restrict which students instructors can see to a particular section or group sections. https://github.com/openwebwork/webwork2/pull/678
- Started making changes about how reduced scoring dates are reported to make it clearer that the reduced scoring date occurs before the due/close date. https://github.com/openwebwork/webwork2/pull/683
- Fixed a bug where students may be unable to open a problem they previously attempted. https://github.com/openwebwork/webwork2/pull/688
- Added localization files for Russian https://github.com/openwebwork/webwork2/pull/690
- Add differentiation to parserRoot https://github.com/openwebwork/pg/pull/267
- Added video macros to pg so that you can use the
video
command to deliver video hints via html5 https://github.com/openwebwork/pg/pull/264 - Fixed bugs with correct answers https://github.com/openwebwork/pg/pull/262 https://github.com/openwebwork/pg/pull/261
- Changed the ? popups to click instead of hover since the hover detection was spotty https://github.com/openwebwork/webwork2/pull/675
- Added better "more like this" messages to the library browser https://github.com/openwebwork/webwork2/pull/676
- Refactored all of the server rendering scripts to one big script
sendXMLRPC.pl
. In particular this enables automated sanity checking of the OPL https://github.com/openwebwork/webwork2/pull/672 - Fixed a bug with gateways with multiple pages and checkboxes https://github.com/openwebwork/webwork2/pull/641
- Fixed a bug where the reduced credit date wasn't set on newly created sets https://github.com/openwebwork/webwork2/pull/699
- Polished the hide scores feature on Gateways. Now if hide scores is selected scores aren't shown in grades and you cannot check answers or see correct answers. https://github.com/openwebwork/webwork2/pull/699
- Changed the default text in the welcome message for a course and made it so that students do not see the info box if the welcome message is the default text. https://github.com/openwebwork/webwork2/pull/699
- Fixed a bug where on very new installations the Library Browser would fail with MySQL errors https://github.com/openwebwork/webwork2/pull/699
- Added ability to reorder problems on tables using the Problem Set Detail 2 using touch-punch https://github.com/openwebwork/webwork2/pull/699
- Made scaffold problems more accessible by allowing the closed tab headings to be navigated to and opened using the keyboard. https://github.com/openwebwork/pg/pull/275
Installer
The ww_install installer has been updated to support version 2.12. It has been tested on all of the distributions listed below. The installer has also been refactored to be more modular when it comes to different distributions. If you are interested in modifying the installer to work with your distribution post an issue on the ww_install github. You can read more about it at WeBWorK Installer Guide
Supported Distributions
The following are the distributions and features that are officially still supported. They have all been tested with the webwork installer. 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 15.10
- Ubuntu 16.04 (LTS)
- Debian 8
- CentOS 7
- Fedora 22
- Fedora 23
What could possibly go wrong?
- I cannot access the admin course. This could be because you have not run
upgrade_admin_db.pl
yet. - I cannot generate a "one column" hardcopy. You may be missing the fullpage latex package. In apt based systems its part of the package texlive-latex-extra and in yum/dnf based systems its part of texlive-preprint
- I see little vertical lines next to MathJax rendered formulas. This is caused by an incompatibility between older versions of MathJax and Chrome. Update MathJax with
cd /opt/webwork/MathJax
andgit pull
to fix the problem. - I do not see links to some of the editors in the Main Menu, including the links to Problem Set Detail 2, or I get an error about "SimplePGEditor". To fix this remove the definition of the
%showeditors
from localOverrides.conf. This hash should be defined in defaults.config and if you want to change things in localOverrides.conf you should set hash elements individually. - I can't get LTI to work. First make sure that you are using the new version of LTI. (Make a fresh copy of authen_LTI.conf from the distribution file.) Also enable the
$debug_lti_parameters
flag. For security reasons the default error messages from the LTI module are very vague. - I dont see the Library Statistics. Make sure that you have enable the appropriate flags in localOverrides.conf (see the first section of this page) and run OPL-update