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
.../fall01-mth161/webworkCourse.ph
.../fall01-mth161/html/index.html
replacing all occurances of "mth161" by "fall01-mth161" Also edit
.../fall01-mth161/webworkCourse.ph 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/webworkCourse.ph.
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
mth161/logs/ mth161/scoring/ mth161/html/tmp/
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 import_classlist-database.pl and
setProfPermissions.pl 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
import_classlist-database.pl mth161 mth161.lst setProfPermissions.pl mth161 your_user_id
OR
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 webwworkCourse.ph file changing the $Global::feedbackAddress, etc. if necessary.
Arnie
<| Post or View Comments |>
|