Release notes for WeBWorK 2.17

From WeBWorK_wiki
Jump to navigation Jump to search
Construction.png This article is under construction. Use the information herein with caution until this message is removed.

These are the release notes for WeBWorK 2.17.

Current release status: prerelease (no release candidate available yet)

New WeBWorK Features

  • As with WW 2.16, third party javascript libraries (jquery, jquery-ui, mathjax, codemirror, etc.) are installed via npm. WW 2.17 does even more. Now WeBWorK's own javascript and css files are minimized, and generated with a filename containing a hash of its contents. This means that users will not need to clear their browser cache when WeBWorK is upgraded. In addition if you would like to serve third party javascript from a remote CDN instead of serving these files from your server, there is an installation option to set that up.
  • Students may now attach files to emails they send to instructors via the "Email Instructor" page.

User Interface

  • The look of WeBWorK is very different mainly because of updating the look and feel of pages to using Bootstrap 5. This give a much more modern feel.
  • The theming of WeBWorK has changed significantly. Any old theming must be updated. See Customizing WeBWorK for information on how to update or create new themes.
  • Attachments for student emails

Notable Changes

  • The SOAP module is now disabled by default. You will need to set soap_authen_key to something secure.

Upgrade Instructions

  • WW 2.17 requires the apache rewrite module (mod_rewrite) to be enabled. On Ubuntu systems run: sudo a2enmod rewrite
  • The following perl packages will need to be installed:
    • Email::Stuffer (on Ubuntu install the package libemail-stuffer-perl)
  • Run npm in the htdocs directories to upgrade javascript libraries. This will also minimize the local javascript and css files. WW 2.17 requires newer versions of node and npm to do this. The javascript and css used solely by PG has been moved into /opt/webwork/pg/htdocs. This means that npm will also need to be run in that locaction as well.
  1. Install node and npm:
    • On Ubuntu: (Note that for Ubuntu 20.04 you may use the versions of node and npm in the repositories instead, although there will be a lot of warnings which can be safely ignored.)
      > curl -fsSL | sudo -E bash -
      > sudo apt install -y nodejs
    • On CentOS/RHEL:
      > curl -fsSL | sudo bash -
  2. Then run npm to install (or upgrade) third party javascript and minimize local javascript and css:
    > cd /opt/webwork/webwork2/htdocs
    > npm install
    > cd /opt/webwork/pg/htdocs
    > npm install
    Optionally, you may want to serve third party javascript via a CDN. If so, then change the above npm install commands to
    > USE_CDN=1 npm install

Call for Translators

Much of the text has changed in the WeBWorK interface, so there are new entries that need to be translated into other languages. If you would like to help in translating a language, please go to [1] and click on `Help Translate "webwork2"`. You will need to create a Transifex account (this is free, contrary to the remarks about a free trial). Then request to join the translation team for the language you will work on. If you would like to work on translating a language that is not yet in WeBWorK, you may also request to add a new language. If you have helped with translating a language for WeBWorK in the past, note that we will no longer be accepting direct pull requests to the webwork2 repository on GitHub for translations. This will all be done via Transifex.