I've been playing around with what appears to be a very nice open source, GPL licensed class management software called Moodle. From what I've seen it might be a good alternative to commercial systems like WebCT and Blackboard. It is available through the web site moodle.org.
One very nice feature of Moodle is that it implements dynamic URLs of the following sort. The instructor enters a plain old URL into Moodle, but when the student clicks on that link, Moodle adds extra parameters to the URL indicating which student clicked on the URL, where exactly in Moodle (s)he clicked it from, a timestamp and an md5 checksum authenticating this data. I've developed a WeBWorK interface to this API which may also be useful for other purposes.
If I enter the following URL into Moodle as a "program resource"
https://webwork.math.ohio-state.edu/cgi-bin/webwork/system/cgi-scripts/moodle2wwk.pl?course=math152demo&set=Hmwk1
Moodle adds the following user/authentication information (when I am logged in as guest):
&extern_nav=%3CM152sp03zf%3E%3Chttp%3A%2F%2Flocalhost%2Fmoodle%2F%2Fmod%2Fresource%2F..%2F..%2Fcourse%2Fview.php%3Fid%3D2%3E%3CResources%3E%3Chttp%3A%2F%2Flocalhost%2Fmoodle%2F%2Fmod%2Fresource%2Findex.php%3Fid%3D2%3E&extern_crs=M152sp03zf&extern_usr=guest&extern_nam=Guest+User+&extern_tim=1046085363&extern_pwd=0c7f3bae837cd100aad6c23d3ead63c0
to obtain the following URL
https://webwork.math.ohio-state.edu/cgi-bin/webwork/system/cgi-scripts/moodle2wwk.pl?course=math152demo&set=Hmwk1&extern_nav=%3CM152sp03zf%3E%3Chttp%3A%2F%2Flocalhost%2Fmoodle%2F%2Fmod%2Fresource%2F..%2F..%2Fcourse%2Fview.php%3Fid%3D2%3E%3CResources%3E%3Chttp%3A%2F%2Flocalhost%2Fmoodle%2F%2Fmod%2Fresource%2Findex.php%3Fid%3D2%3E&extern_crs=M152sp03zf&extern_usr=guest&extern_nam=Guest+User+&extern_tim=1046085363&extern_pwd=0c7f3bae837cd100aad6c23d3ead63c0
You can try it out yourself. You may need to recombine the URL into a single line if it got split it up. I'll also try to put it below as a clickable link.
Upon clicking this link, your browser should immediately open up a "Do problem set" window for a random practice user on our WeBWorK system. [If you try to use this to hack into our WeBWorK installation by modifying the timestamp and change the user name from "guest" to "fiedorow", you should get an error message, due to authentication failure with the md5 checksum.
The source for this script is available at http://webwork.math.ohio-state.edu/moodle2wwk.txt
Zig
link to Do Problem Set
link to Get Problem 1 from Problem Set
link to script source
<| Post or View Comments |>
|