# Release notes for WeBWorK 2.8

                                     WeBWorK
Online Homework Delivery System
Version 2.8

Details
-------

Release date: December 20, 2013

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


## Contents

### Cautions

 Error creating thumbnail: /var/lib/mediawiki/bin/ulimit4.sh: line 4: rsvg: command not found Warning: Because new tables and fields have been added to the OpenProblemLibrary and for new MathAchievement features upgrading from stable webwork (WW-2.7) will require you to:
• Run webwork2/bin/check_modules to insure that your CPAN modules are all installed. Two new ones are required for this release (see below).
• Upgrade the course tables by visiting the admin web page. (The main change will be to add the field "description" to the set and user_set tables.)
• Update the library collection webwork-open-problem-library
• Make sure that MathJax is properly installed.
 /opt/webwork/MathJax   should have a copy of MathJax cloned from http://github.com/mathjax
/opt/webwork/webwork2/htdocs should have a link   mathjax -> ../../MathJax
this is different from some earlier versions where MathJax files were actually stored in the directory .../webwork2/htdocs/mathjax
the current version will hopefully be easier to maintain -- but the method for keeping MathJax updated may change yet again -- be alert. :-)

• Run webwork2/bin/OPL-update to update the library database tables. This can take some time -- have a cup of coffee.
 sudo -E webwork2/bin/OPL-update # you may need the sudo if you don't have permission to write new files in webwork2/htdocs

• Run webwork2/bin/setfilepermissions to insure that permissions on webwork2 and pg files are correct. (In particular the directory pg/lib/chromatic must be set so that the server can write to it when compiling the color.c file.) This might take 30 seconds to complete.
 sudo -E webwork2/bin/setfilepermissions

• For this release your server will require at least perl version 5.10.x (5.12.x would be better, 5.18 is the current version) to run weBWorK release/2.8. Type  perl --version  on the command line of your server to check the server's version of perl.

October 7, 2013: Release/2.8 is pretty stable but may still have a few bugs.

The plan is to merge this into the "master" branch on December 1, 2013.

Decembe 19, 2013: Release/2.8 has been merged into master and is now the main webwork version.

Most changes only impact the instructor use of WeBWorK. With the exception of Achievement Items, no new features (or bugs) will be apparent to students.

### What's new?

• New CPAN modules:
• Add CPAN requirement for JSON.pm (for sage)
• Add CPAN requirement for File::Find::Rule
• Tweaks to update course page -- slightly less scary warning error messages. -- adding harmless: in front of the message helps but we should change the color on these.
• Allow db storage engine to be selected more easily. Speeds up OPL update in particular
• New script that will set permissions for all files.
• In particular the directory pg/lib/chromatic needs to have write permissions for the server since the C code color is compiled into it.
• To set all of the file permissions in webwork use sudo -E /opt/webwork/webwork2/bin/setfilepermissions
• Mathjax is replaced by a link to a folder at webwork/MathJax. This simplifies some git processes, but
• you must verify the link is pointed correctly if you are not using standard layout
• if you switch to a previous branch you will have to create and commit this link.

• Datepicker can now be disabled
• Achievement Items can now be enabled
• Timezone field now has validation
• OPL is now default library (replacing the NPL -national problem library)
• You can now search for problems by level
• Tagging buttons can be enabled for privileged users
• OPL taxonomy also stored in json file created when OPL-update is run.
• More like this button in OPL
• Library browser 1 has significant upgrades, including dynamic adding and hiding of problems.
• Library browser 1 uses the revamped webworkWebservice to make sets and render problems.
• Save tabs are now the default instead of the Cancel tab
• When importing homework sets you can input a "start date". All the dates of the homework sets will be shifted so that the earliest corresponds to the start date. (I.e. you import a semesters worth of homework with the start date as the first day of the new semester.)
• Datepicker (calendars) in Homeworksets1 & 2. These can be accessed by clicking the button next to the field.
• Add homework set descriptions as well as file names -- helps keep file names short. These descriptions are shown as tooltips on the Problem Sets Page and the Homework manager page. (requires database upgrade)
• Hide hints to students check box.
• Conditional release features -- hides homeworks sets until conditions are met. Can be enabled on the Set Detail page.
• Save tabs are now the default instead of the Cancel tab
• Tweaked the formatting of the show answers page significantly. It now renders formulas when it can and has much better support for longer answers.
• Added the ability to do basic regexping on student and set names in the Past Answers page.
• Cosign.pm -- fix typos
• Fix security issue when using bypassShib in Shibboleth module
• Math4 is now the default theme.
• In particular support for math3 is fading. It has limited support for things like tooltips and achievements. However there is definitely reduced functionality.
• Math4 theme updates. (Goehle and Hsu)
• MathView works with math4 theme
• MathView has been changed significantly since its previous incarnation. It has a new interface and also adds "typeahead" support to the answer fields when enabled.
• The statistics page was upgraded to use color coding to indicate attempts and correctness.
• Instructors can choose to show paths on hardcopy (or not). needs tweaking
• Instructors can choose whether to show solutions in hardcopy needs tweaking
• Default problem editor changed from PG1 to PG2.
• Fixed glitch in Statistics graph
• Add tabs to Achievement editor.
• Save tab is now the default.
• New "Achievement Items" -- allow for perks for doing well on homework.
• These Achievement Items are awarded every time the student gains a level. They give student some control over their homework in that they are one time use items which can extend due dates, mark problems correct, etc... More can be found in the achievement_items_readme.txt file in the achievements folder.
• (does not require database upgrade)
• Changed rendering on the Problem Grader page so everything goes through MathJax
• Added links to student names which open window with that students version of the problem.
• MathJax configured to provide better accessibility. Configured now only defaults.config.
• MathJax configured so that it treats ** as ^.
• Began the process of adding aria landmarks.
• Security
• More XSS vulnerabilities patched
• Fixed security issue where problem code could be displayed to users with insufficient permissions
• numOfAttempts should now gives the expected results in homework sets. Previously the number of attempts might be off by one. (Gatewayquizzes need more testing.)
• Removed old methods of displaying math
• Should ascii math be restored?
• Should LatexMathML be restored?
• Should jsMath be restored?
• Gateway quizzes now store past answers in the database.
• Chinese and Korean translations added.
• More additions to French translation
• Improved the behavior of HINTS and SOLUTIONS, especially with regard to hardcopies. Now hints and solutions can only be displayed by instructors or by students after then answer date, and will not be displayed unless they are requested.
• Updates to probability and statistics macros (Kelly Black)
• PGstatisticsGraphMacros.pl
• Sage cell macros added (sage.pl added)
• GeoGebraWebApplet added -- support for Geogebra HTML5 applets
• contextComplexJ -- allows j to be used for square root of minus one -- for engineering classes
• Chromatic.pm -- added to standard distribution -- used in graph theory problems.
• New Matrix MathObjects features: MatrixCheckers.pl MatrixReduce.pl MatrixUnits.pl
• Adjustments to LinearProgramming.pl to use MathObject fractions (preliminary work)
• CompoundProblem2.pl -- new support for writing sequential problems
• Essay answers can have new lines.
• add _init function to contextTypeset.pl so that it is not reloaded.
• Move text2PG.pl from Union macros to the main macros file folder pg/macros
• Macro files are identified when reporting errors (restores behavior that was lost in a past update).
• Significantly, increased the size of the past answer answer field. This allows for longer essay answers.
• Minor bug fixes and tweaks
• Fix PGalias bug where files have the same name but different extensions.
• Library -- after randomization try it and edit buttons use the new seed.
• Corrected Units: replace 'years' by 'yr'
• Under the hood changes
• WEBWORK_DIRECTORY is insured to be defined in WeBWorK::Constants.
• js directory reorganized (again :-) )
• Massive number of tweaks to make the basic WeBWorK CMS interface validate to W3 standards. Problems will usually not validate, mainly because of the use of $PAR which is not a container. ### What could possibly go wrong? • There are warning messages at the bottom of the page labeled Harmless: .... . • These indicate that many older courses have an extra field named published. This field was replaced by the field "visible" and has not been used for some time. In a future version of WeBWorK this field will be automatically removed, but we leave it in place for the moment for those rare cases where there is important data in the field. The extra field does no harm and the warning messages simply alert you that the unused field is still there. • There are a series of warning messages that$displayMode is undefined.
• This is most likely because you were using one of the display modes for showing equations that is now deprecated (e.g. jsMath). Click on the radio buttons in the lower left of the page to switch to MathJax or images mode. Also reset the default choice for displayMode in localOverrides.conf. You may also need to reset the default courses for individual courses on the Course Configuration page.
• There is a warning message that your modelCourse is not up to date
  cd webwork/courses
sudo mv modelCourses modelCourses.old
sudo ln -s ../webwork2/courses.dist/modelCourse modelCourse

• There appears to be a database failure on an older course -- but newly created courses work fine
• Most likely a CPAN module is missing -- run webwork2/bin/check_modules.pl and use cpan XXXX  to install module XXXX