Release notes for WeBWorK 2.14
WeBWorK Online Homework Delivery System Version 2.14 Copyright 2000-2018, The WeBWorK Project All rights reserved. Details ------- Prerelease date: July 20, 2018 -- the advanced beta version of 2.14 is currently on github Release date: December 30, 2018 -- 2.14 is merged into the master branch Github repository: https://github.com/openwebwork Modules: webwork2 pg ww_install
Contents
WeBWorK in a Box
It is now possible to set up a development version of WeBWorK on your laptop. It requires that you install an app called Docker. This app is available for Mac, Linux and Windows operating systems. See [1] and [2] for instructions and to download the free "Docker Community Edition". Docker can be run on a 2012 MacBook Pro with 8 Gb of RAM running High Sierra (macOS 10.13.6) without interfering with other apps. It should run fine on most modern laptops and desktop computers.
Having your own development version means that you can safely experiment with new versions of WeBWorK without affecting your production server that is being used by students.
Once Docker is installed on your computer see the instructions on the github webwork2 wiki for installing WeBWorK with ALL of its supporting infrastructure. Once Docker is installed the rest of the installation is the same for all computers.
In addition the 2.14 release version of WeBWorK includes an automatic installation of an R-server so that you can test statistics problems that use R.
If your laptop can run Docker you will have a "WeBWorK in a Box" available for experimentation (and you can help with testing and bug fixing! -- Please!!!)
Cautions
WARNING: It is likely that new modules will be required since the release 2.12. There are also changes to the configuration files which will need to be integrated into your existing configurations.
The process for upgrading to 2.14 is described below. This assumes that you have been
using release 2.13 or some other recent release that you installed using git
from
the github.com repository. If your installation is earlier than 2.13 you should skim through
the installation sections of earlier releases
If you are setting up WeBWorK for the very first time you will probably want help with directory structure, permissions (always a hassle) and installing infrastructure tools. If you are installing webwork on a fresh OS install such as Ubuntu or Debian, try using the ww_install script. [3] This will save you lots of time. As of this writing the install script does not include all the new CPAN modules and you will need to install them by hand as described below.
If you prefer to have more control and to install all of the modules by hand there is a collection of installation manuals of which I recommend Installation_Manual_for_2.13_on_Ubuntu_18.04 as the most up-to-date. There are only slight differences between the instructions for the recent releases of WeBWorK and the directions are quite similar for the different flavors of unix. The directory names may sometimes be different but a google search can help clarify how to translate instructions from one OS to another.
Three quarters of the work of a fresh install is getting the supporting stack of applications: apache, perl, CPAN modules, tex, mysql and so forth installed. This is essentially the same for all versions of WeBWorK (except possibly for some extra CPAN modules) but the details may change slightly with upgrades to the unix operating system, apache, mysql and so forth. Changes in the underlying stack is beyond the scope of these release notes see the install manuals for guidance and remember that "google is your friend" for the latest changes.
Once you get to the section in the manual where the WeBWorK and PG software is to be installed you can refer to the instructions below. Let's get started:
Upgrade Instructions
1) Go to /opt/webwork/webwork2
>git branch * develop master > sudo git fetch # this will update your local links to the github.com/openwebwork/webwork2 repository > sudo git checkout master > sudo git branch -m master-save # rename your current copy of master to master-save for safety (-m stands for "move") > sudo git branch -t master origin/master # create a clean copy of master on your machine, # linked to the master branch on github.com/openwebwork/webwork2 (aka origin) > sudo git checkout master # switch to your new local master branch error: You have local changes to 'lib/WeBWorK/ContentGenerator/Feedback.pm'; cannot switch branches. #### this means that you have made local changes you might want to save. Use `git stash` or `git add`, `git commit` or just move the file to a safe place outside the folder. >sudo git checkout -f master # the `f` forces the change and overwrites the file if you didn't move it. Switched to branch 'master' > git branch # view current status * master master-save develop >sudo git pull # make sure things are updated .... list of updated files (could be long if updating an old version of master, otherwise it's short) > less VERSION # this should tell you that the current version is now 2.14
2) Now go to /opt/webwork/pg
and run
>git branch * develop master > sudo git fetch # this will update your local links to the github.com/openwebwork/pg repository > sudo git checkout master > sudo git branch -m master-save # rename your current copy of master to master-save for safety (-m stands for "move") > sudo git branch -t master origin/master # create a clean copy of master on your machine, # linked to the master branch on github.com/openwebwork/pg (aka origin) > sudo git checkout master # switch to your new local master branch >sudo git checkout master Switched to branch 'master' >sudo git pull # make sure things are updated .... list of updated files (could be long if updating an old version of master, otherwise it's short) > less VERSION # this should tell you that the current version is now 2.14
The -t
flag has your branch "track" the version of master at the origin site. If there are updates
on github.com/openwebwork/webwork2 to the master branch a simple sudo git pull
will update your local webwork2 directory.
If you issue the "git pull" command from the /opt/pg directory you will update from the master branch of github.com/openwebwork/pg.
3) Depending on your system there may be new perl modules which have been added since 2.12. Run check_modules.pl
and look for missing modules. They may include:
cd /opt/webwork/webwork2/bin ./check_modules.pl ** Digest::SHA not found in @INC ** Email::Sender not found in @INC ** Data::Dump not found in @INC cpan HTML::Scrubber found and loaded ** Statistics::R::IO not found in @INC
In this case the first three modules are missing. You will need to install them with
sudo cpan Digest::SHA sudo cpan Email::Sender sudo cpan Data::Dump sudo cpan Statistics:R::IO
and so forth.
You should also run
cd /opt/webwork/webwork2/bin pdflatex check_latex.tex
and look for missing latex packages. They may include:
- fullpage.sty
- preview.sty
If you are missing fullpage it is in the texlive-latex-extra package in apt based distributions and texlive-preprint in yum/dnf distributions.
Configuration file update
If you are upgrading from a version 2.12 or any version earlier than 2.13 there are a number of configuration changes that you will have to make in your site.conf and localOverrides.conf and possibly course.conf files. See Configuration file update for 2.13 This is IMPORTANT because there were significant changes in the configuration files from release 2.12 to 2.13.
If you are updating from a working version of 2.13 there are no required changes, but there have been changes in localOverrides.conf.dist which you might like to incorporate into your current localOverrides.conf file.
Restart the apache server
8) Restart the webserver.
sudo apachectl restart
Upgrade the admin course, MathJax and the OPL
9) 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 #(if this doesn't work use) perl upgrade_admin_db.pl
10) 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 /opt/webwork/webwork2/bin/OPL-update
11) Download the latest version of MathJax.
cd /opt/webwork/MathJax git pull
Upgrade course databases
If you are upgrading from release 2.12 or 2.13 you should not have to upgrade any course databases -- there have been no changes. If you are upgrading from an older version, or if you have courses which were created under older versions and not updated then you will need to upgrade the courses from the web.
- 1. Login in to the admin course
https://yourSite/webwork2/admin
. - 2. Choose the "Upgrade Courses" tab.
- 3. Follow instructions, choosing which courses you want to upgrade.
- 4. There will be an intermediate report telling what changes will be made -- click "continue"
- 5. There will be a final report on the changes successfully completed -- click "done"
Basic tests
Because the underlying mechanisms for sending email have changed it is important to run two tests to check that WeBWorK is still communicating with the SMTP (the post office) which you have designated (in site.conf) to handle mail.
- 1. Create a new course
test_course</course> from the admin page
- 2. You should be listed in this new course as an
admin
- 3. Add a student to the course
- 4. Login as the student and from the front page use the "email the instructor" button to send a feedback notice
- 5. Check that you receive this feedback (at your admin email address in the course). Remember the subject starts with [WWfeedback] and you may be shunting such messages off to another mailbox.
- 6. Login as a professor or admin and from the email page send email to your self (and perhaps to the student you have added).
- 7. Check that this mail comes through.
Features
New Features in PG release 2.14
- Geogebra applets work again -- fixed our implementation to match changes by geogebra.org javascript code: #354, #355
- Sage applets work again: Modified sage.pl so that it works with new interface provided by SageMath. #329
- SageCalculatorPad is now available: #329
- PreTeXt support (mostly from Alex Jordan) -- #327, #352, #353,#360
- Add custom latex (customLatex.pl) #326, #339
- Add custom font options for on the fly graphs: #359
- Allow true display math mode in PGML (\ [....\ ] in addition to \displaystyle) #358
- New chemistry macros (contextReaction.pl) #334
- New units -- (e.g. s, sec, second, seconds are all aliases for the short time unit. )
- An old but under utilized feature. You can add new units for a specific problem
$newUnits = ['apple',{name=>'apples',conversion=>{factor=>1,apple=>1}}];
$a = NumberWithUnits("3 apples",{newUnit=>$newUnits});
- See #268 for details. There is also a Units::add_unit() command that allows you to add units for all of the answer checkers in a problem. Would someone volunteer investigate this and write up a tutorial for the Problem Techniques page of the Authors section?
- Under-the-hood
- Better warning messages for authors
- Enable persistent storage (store persistence data for applets in local persistent storage instead of hidden answer blanks) #324
- Matrix handling improvements and bug fixes: (Value/Matrix.pm,) #330, #331 , #332, #333, #344, #347
- PGML bug fixes and small feature requests, #320, #321, #322, #335, #341,#333, #348,#349,
New Features in WeBWorK2 release 2.14
- !! New Docker support for R "in a box" #853 (thanks Pan Luo and UBC)
- Show number of currently "active" students on Statistics page: #823
- LTI connection improvements, particularly for D2L #804, #813
- iframe resizer javascript update. For embedding WW problems in HTML pages: #829
- Under the hood
- Allow double quote in OPL taxonomy #833, #834
- PTX compatibility #807
- Class::Accessor (part of "Modern Perl" -- allows for easier coding of subroutines) #849
- Plugged XSS exploit #848
- showmeanother bug fixed #842
- clarified "reduced scoring messages" #842
references
- Gory details of changes to PG from 2.13 to 2.14
- Gory details of changes to WeBWorK2 from 2.13 to 2.14