Forum archive 2000-2006

David Gilliam - instructions for reusing a webwork course

David Gilliam - instructions for reusing a webwork course

by Arnold Pizer -
Number of replies: 0
inactiveTopicinstructions for reusing a webwork course topic started 12/9/2003; 6:32:24 PM
last post 12/10/2003; 12:35:35 PM
userDavid Gilliam - instructions for reusing a webwork course  blueArrow
12/9/2003; 6:32:24 PM (reads: 1544, responses: 3)
Since I am new at using webwork this semester I may well have missed some earlier instructions for properly cleaning out a webwork course so that it can be used the next semester.

In particular, I used webwork for 2 sections of calculus this semester and I want to use the same setup next semester. I realize that I must import a new classlist and problem sets need to be modified, but surely there are a lot of files that should be deleted. I am hoping to find instructions to do this properly.

I did try searching for this info but without luck.

If such documentation is available could someone please direct me to it?

Best regards

David Gilliam

<| Post or View Comments |>

userArnold K. Pizer - Re: instructions for reusing a webwork course  blueArrow
12/10/2003; 10:11:37 AM (reads: 1772, responses: 0)

Hi David,

If you just want to reuse the course, see the discussion at$1318

If you want to archive the current course and make a new copy of it, see the next post.


<| Post or View Comments |>

userArnold K. Pizer - Re: instructions for reusing a webwork course  blueArrow
12/10/2003; 10:14:38 AM (reads: 1776, responses: 0)

Here is how to archive a WebWork course and also make a copy of it to be used again.

I'm not sure there is a standard way to do this, but here is what we do at Rochester. Basically the set definition files define the course and these should be saved. The totals file contains all the scoring information that I use to compute grades and this should be saved in a secure location. How much or little you want to save beyond that depends on your circumstances. At Rochester we keep courses active (with altered names) so that they can be accessed from the web for a year or so. We keep keep their basic structure intact (so they can be copied) forever.
A. First I make a paper copy of all problem sets (with .pg file names) and put them in a folder with paper copies of the syllabus, etc. Giving someone a xerox copy of this is an easy way to show them what was done.
B. Next I clean things up a bit (you can skip this step if you want).
1. From the prof/house keeping section, compress the data base.
2. Remove everything from under the course tmp directory.
3. In the DATA directory remove all .sco files. These are used mostly for a backup failsafe scoring method --- keep them if you really want to save the extra data they contain.
4. In the scoring directory, I remove everything except for the final totals file. I can always score things again if I want the extra data.
5. Remove all the files under the logs directory. Mostly these are used for reconstructing corrupted databases.
6. Remove backup copies remaining scoring files, classlist files, etc.
C. Now I move the course to a new location. I'll assume I am working with mth161, a course we teach every semester.
1. Enter the command
mv mth161 fall01-mth161
to move the mth161 directory to the fall01-mth161 directory.
ASIDE. Since we will teach mth161 again and it will be quite similar to the previous version, before doing anything else I enter the commands
mkdir mth161
cp -rp fall01-mth161/* mth161/
to use in setting up the new mth161 course. I also create a subdirectory of mth161/templates called old_set_defs and mv all the set definition files from mth161/templates into it.  See section F. below for comments on how to clean out the new mth161 course.
2. Next edit the files
replacing all occurances of "mth161" by "fall01-mth161" Also edit .../fall01-mth161/ near the bottom correcting the names of the databases. E.g. change "${classID}_webwork_DB" to "mth161_webwork_DB" since the new classID is fall01-mth161 but we didn't rename the database. Of course, alternately, you could rename the four databases.
3. In your webserver's document root enter a link called fall01-mth161 pointing to fall01-mth161/html in analogy with the link for mth161.
4. If you have put the course's tmp directory in a non standard location (as we do at Rochester) you either have to create that tmp directory or edit the approiate data in .../fall01-mth161/
5. At this point professors and students can log into from the web fall01-mth161 and it will look identical to the old mth161.
6. You may or may not want to allow web access --- it's up to you. Obviouly follow the above directions only if you want to. You may want to have a less obvious URL than fall01-mth161.
7. Change the permission on the set definition files to say 644 so they are world readable (and copyable).
D. After a few weeks or months (when we are sure everyone is really finished using the course and professors have saved any scoing data they want to save), we remove all the scoring data, all the databases, and the classlist file. We create a very short classlist file containing Pizer and Gage and a few practice users. We then rebuild all the sets in the course. That way people can see what the course looked like but students can no longer login.
E. After about a year we remove the link to the course in the webserver's document root which means the course can no longer be accessed over the web. But people can always copy the course by copying the set definition files.
F. Now I fix up the (new) mth161 course.
1.  Delete everything under


Note that the tmp directy is often in a different location if you follow our recommendations. Also some stuff under tmp can be deleted via the web but the l2h (for typeset) and png (for typeset2)directories can not be.

2. Under mth161/DATA/ delete all the .sco files and the course_webwork_DB file and any backup files.  That is delete all files except mth161_classlist_DB.

3. In the mth161/templates/ directory edit the file mth161.lst removing all old students, TA's and professors but keeping yourself and practice users.  At this point I usually do not know all the new students so I don't add them to the classlist but you could.  At this point you have a choice. Either

3a. Use the commandline scripts and as follows.  First delete mth161/DATA/mth161_classlist_DB and all files under mth161/DATA/.auth/  (this is not absolutely necessary but will result in a cleaner installation). Now in the directory mth161/templates/ run the commands mth161 mth161.lst mth161  your_user_id


3b.  From the Edit Class Roster page,  Import (item 6) the mth161.lst classlist. Be sure to change the default action under  "If a student is in the current classlist database but is not in the the selected classlist file:" to "Remove the student's records from the classlist database."

4. Copy set0.def (or an analogous introductory set definition file) from mth161/templates/old_set_defs/ to mth161/templates/, edit the open, due, and answer dates and build the set just to make sure everything works.

5. Edit the file changing the $Global::feedbackAddress, etc. if necessary.



<| Post or View Comments |>

userDavid Gilliam - Re: instructions for reusing a webwork course  blueArrow
12/10/2003; 12:35:35 PM (reads: 1793, responses: 0)

Thank you very much.

I believe this answers all my questions.

Very best regards

David Gilliam

<| Post or View Comments |>