Wednesday, March 13, 2013

WeBWorK::Raleigh -- March 7-11, 2013

WeBWorK developers from across the US and Canada gathered in Raleigh, NC to work on polishing new WeBWorK features -- some for immediate release and some for later.  The event was hosted at North Carolina State University.  Alina Duca, a faculty member of the NCSU mathematics department, handled local arrangements.  Thank you Alina.

The mathematics department building, SAS Hall, is truly gorgeous, well equipped, light and airy.  I think it's the nicest facility we've used so far at a code camp.

There were a lot of exciting developments. The details will be rolled out over the next couple of weeks as we create thorough descriptions for each feature.

John TDjunBruceDannyJohn JAlinaRobin
David GLisa

photo by John Travis

The code camp participants were Mike Gage, University of Rochester; Davide Cervone, MAA and Union College; Peter Staab, Fitchburg State University; David Gage, University of Waterloo; John Travis, Mississippi College; Djun Kim, University of British Columbia; Bruce Romano, Fitchburg State University; Danny Glin, University of Calgary; John Jones, Arizona State University; Alina Duca, North Carolina State University; Robin Cruz, College of Idaho; Lisa Fiedor, NCSU; Bill Kranec, NCSU; Anneke Bart, St. Louis University; and Jason Aubrey, University of Missouri.  Jeff Holt, University of Virginia, joined us later after the photograph was taken.

One of the observations that arose during the general discussions was that many people are not trying the new features simply because they don't know they exist.  We've resolved to do a better job of getting the word out.  Among other things we'll send out short news bulletins via email with links to longer descriptions and instructions in the wiki and here in the planet blog aggregator (  You might forward these new bulletins to your IT support staff to give them a heads-up about installation details for the new features when the time comes at the end of the semester.

There are two very important developments that everyone should be aware of before they do their next upgrade.

  1. The NationalProblemLibrary which was hosted using SVN is now closed.  All of the updated problems from the NPL (and more) have been transferred to the OpenProblemLibrary hosted on GitHub. ( The OPL is now up-to-date and is where all future additions and bug fixes will be made. You can inspect the files in the repository webwork-open-problem-library.  Various features of github allow you to see changes that have been made to the files, who has made them and network timelines of how the changes were made. Go explore.

    Preliminary instructions for downloading a copy of the OPL are in the wiki.  You will note that you should also download a new version of WeBWorK, release/2.6 (aka ww2.5.1.1) and release/2.7 (aka ww2.5.1.3),  although the only thing that is needed to update the library is the new  webwork2/bin/OPL-update script.

    Please help by correcting typos and clarifying the instructions.  You can enter corrections under the discussion tab page of the wiki if you are not sure of your changes.
  2. We have settled on a workflow for WeBWorK software development that is a variant of the git-flow process. Some aspects of this have already been posted to the webwork-devel mailing list. 
    1. For those downloading software for use in a production server: Use the master branch of the webwork2 repo and the pg repo. The webwork2-dev and pg-dev repos will no longer be used and will disappear within a few months.
      For those already familiar with git and github you can use
      git clone
       (and similarly with pg) to download the master branch of the repositories. There will be more detailed instructions available on the wiki soon or you can find git instructions on the web.
  3. For WW software developers:  There are two main branches in each repo, master and develop. The basic rule is that to develop a new feature you should always start with a new copy of develop and just before issuing a pull-request to include your feature branch back to develop you should once again update from develop.  This way your new feature will merge cleanly with existing code. When developing NEVER check out from master or send a pull request to master.  There will be more details later, including a collection of rules that maintainers will use to transfer features from the development branch to candidate release branches and eventually to tagged nodes (e.g 2.6, 2.7, etc.) on the master branch.

    A person with some experience will be able to inspect the github site to determine which features are about to be included in develop, which are in a candidate release branch and which features have been transferred to master and tagged. It won't be necessary to follow every post in the webwork-devel mail-list to stay in the loop -- although that does help.

We will update you on other developments in subsequent posts.  Anneke has already mentioned three of them.  Achievements (available in master (tag 2.6) authored by Geoff Goehle), free response questions or essay questions (available in candidate release/2.7 branch --  also authored by Geoff Goehle ) and integration of statistic problems with R (Djun Kim's contribution -- soon to be pulled into the develop branch ).

There's more:
  1. Model Course: Elementary Statistics.  You can see the outline and some questions for this course on the wiki. In addition Anneke Bart, Robin Cruz and Alina Duca have developed a work process for creating and documenting a WeBWorK modelCourse so that it can be used by others.  This process will be refined, documented and used in this summer's PREP modelCourse workshop. (There will be two PREP courses related to WeBWorK this summer. )
  2. Set your own WeBWorK webserver up in the cloud in half an hour.  One of the most exciting new developments is the ability to create a complete WeBWorK webserver hosted in the Amazon cloud from an image file (AIM) in a few simple steps.  Such a "micro server" is free for the first year and costs only 6 cents per hour of actual use in subsequent years. 
    • Such a server is perfect for someone who wants to experiment with WeBWorK but doesn't want to set it up on their laptop and does not have access to a development server at their institution. 
    • It is also perfect for a single professor who wants to try WeBWorK out in a small class before encouraging their administration to install WeBWorK on local servers
  1. There were also more technical developments including extensive discussion of a new webservice API for WeBWorK and a new database schema for future expansion.  There is a github repository set up for API discussion. You can contribute to that and also participate in further technical discussions on the webwork-devel mail list.  
  2. There is a new bibliography site built by Djun Kim using Drupal that will be fleshed out during the coming days.  In the coming weeks will have a complete blog post on how to help collect references to WeBWorK and place them in the bibliography.  There have been several masters theses and some semester long student projects in addition to math education research on the effectiveness of online homework using WeBWorK.  We want these collected in one place where we can easily show them off.  Go to to see the prototype.
That's all for now -- but keep your eyes on the news bulletins and check in at this site for future developments as we try to keep you informed and up-to-date on everything WeBWorK.   


  1. Great post. Congrats to the code camp and glad to see there are great progresses on planning and webwork development. The refactored code repos is much clear and easy to follow. Looking forward to see the new features!

  2. Is it possible to enable the RSS feed on It is easier to follow on new reader. Thanks