Mathematics tools

Webwork

 
 
Picture of Bruce Nuttman
Webwork
 

We are using WebWork as online homework system for math and sciences courses. We are using Moodle 1.9 and will be upgrading to 2.5 in the Fall.

Has anyone had any experiences using WebWork with 2.5?

 

Thanks

 
Average of ratings: -
Picture of Daniel Thies
Re: Webwork
Group DevelopersGroup Particularly helpful MoodlersGroup Testers

I have used Webwork 2.4.9 w/ Moodle 2.2-2.4, and have recently upgraded to Moodle 2.5 and and WeBWorK 2.7.  At the same time, we upgraded the server from Centos 5 to Centos 6. I did not have any problem on the Moodle end, but WeBWorK is a little more challenging to install and configure. 

I would recommend that you upgrade to a recent WeBWorK installation and make sure it is working. Then download the current version of wwassignment to use it for integration. I would not assume that older version of WeBWorK would work with Moodle 2.5 because WeBWorK does not seem to backport to older editions.

That being said I found that the Moodle/WeBWorK integration works about the same as it has before.  Both platforms have made a lot of improvements, but they seem to exchange information the same way as before. There may be more of a difference changing from Moodle 1.9, but that information should be available on the WeBWorK site.

 
Average of ratings: -
Picture of James Logan
Re: Webwork
 

Daniel, thanks for your post.  Good to know that Moodle 2.5 and Webwork 2.7 "integration works about the same as it has before" and "exchange information the same way as before".  Great!  Anyone else have this combination working, and on what platform please?

We have used Moodle 1.9.5+/Webwork 2.4.7 on FreeBSD 7.1 for years, but have not been able to get any version of Webwork (2.5 - 2.7) to work with any version of Moodle 2.* on Ubuntu 12.04 or FreeBSD 8 or 9.  Most recently tried installing Moodle versions 2.3.3, 2.3.8, 2.5.1 on a Webwork 2.7 Live Install (Ubuntu 12.04) with wwassignment5.  Moodle and Webwork function okay separately, but we see the following problems when working together:

webwork2_rpc - Internal Server Error

SOAP - The LENGTH argument can't be negative at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP2.pm line 103

The SOAP problem might be caused by the RPC problem?  Debugging in the following two PHP files revealed that $wwcoursename was set to -1 in mod_form.php at about line 14 when trying to add a WebWork activity to a Moodle course:  

moodle/course/modedit.php

moodle/mod/wwassignment/mod_form.php

Browsing to webwork2_wsdl works as expected.  

Anxious to upgrade - suggestions welcome.

 
Average of ratings: -
Picture of Daniel Thies
Re: Webwork
Group DevelopersGroup Particularly helpful MoodlersGroup Testers

I believe I had to install perl-Apache2::SOAP package to fix this which the webwork check script does not search for. Webwork requires Apache::SOAP which is a different package. On ubuntu it may be in the Apache Axis 2 package or you may have to build it with CPAN.

 
Average of ratings: -
Picture of James Logan
Re: Webwork
 

Thanks, Daniel.  Still struggling.  We've had the Apache2::SOAP module installed from the beginning - it's explicitly required by the "webwork.apache2-config" file, as you noted.  Also had SOAP::Lite installed.  We installed the Axis 2 package, but it didn't seem to help.  

 
Average of ratings: -
Picture of Daniel Thies
Re: Webwork
Group DevelopersGroup Particularly helpful MoodlersGroup Testers

I installed WeBWorK on a development machine today which is running Ubuntu 12.04. I don't believe you really have Apache2::SOAP installed.  The apache2 config file only tells apache where to find it, but it will not produce an error until it needs it.

You can check it with perl -MApache2::SOAP -e 'print "installed\n"'.  I could not find it in ubuntu so I built it with CPAN:

apt-get install mod-perl-dev libyaml-perl

cpan install Apache2::SOAP

service apache2 restart

then I commented out lines 56 and 61 in moodle/mod/wwassignment/mod_form.php to fix the remaining problem.  Who would expect the help buttons to work with webwork anyway?wink

 

 

 
Average of ratings: -
Picture of James Logan
Re: Webwork
 

We have a new problem within the last two days on three different servers.  The environment variable "MOD_PERL_API_VERSION" is not being set, and we don't know where it should be set.  MOD_PERL_API_VERSION is used to set the "MP2" constant in at least two modules in Webwork, and also by the SOAP::Transport::HTTP2 module which now gives us this error:

perl -MApache2::SOAP -e 'print "installed!\n"'
Unsupported version of mod_perl at /usr/local/share/perl/5.14.2/SOAP/Transport/HTTP2.pm line 86.
Compilation failed in require.
BEGIN failed--compilation aborted.

We've been checking Apache2::SOAP installed status with the command all along, and no idea why suddenly this error arises.  Defining this environment variable to = "2" at the command line causes the Apache2:SOAP status to change to "Installed".

 
Average of ratings: -
Picture of James Logan
Re: Webwork
 

More detail:  mod_perl  2 appears to be installed but maybe not loaded even though we restart apache2:

perl -Mmod_perl2 -e 'print "installed!\n"'
installed!

 
Average of ratings: -
Picture of James Logan
Re: Webwork
 

Problem solved, thanks very much Daniel ...

We have Moodle v2.3.8 and Webwork v2.7 working together after appending the following line to the file "/etc/apache2/envvars" on an Ubuntu 12.04.2 64-bit server (from the Webwork Vanilla_Live distribution at the webwork.maa.org web site):

export MOD_PERL_API_VERSION=2

This solves the "SOAP - The LENGTH argument can't be negative" problem noted above, as you would guess from looking at the code.

We could not get Moodle v2.5.1+ to work with Webwork v2.7.

 
Average of ratings: -