bin/egrade is a shell script to call java, running
eGrade.
egrade file
#! /bin/sh
JAVA="/path/to/java"
CLASSES="/path/to/default/java/classes/rt.jar"
EGRADE="/path/to/home/dir/of/egrade"
CP=$EGRADE/lib/egrade.jar:$EGRADE/lib/ia_math.jar:\
$EGRADE/lib/swingall.jar:$CLASSES
JOPTS="-noclassgc -mx64m"
$JAVA $JOPTS -classpath $CP -Dsystem.home=$EGRADE egrade.Main
end egrade file
config/httpd.conf is the configuration file for the
eGrade Web server. Variable/value pairs are tab separated.
httpd.conf file
memoryPersist 5
httpdPersist 2
port [port#]
<suffixes>
[mime types, e.g.]
.au server.resources.Audio
</suffixes>
<aliases>
</aliases>
<dirs>
</dirs>
end httpd.conf file
config/system.conf is the global configuration file for
the eGrade server and the classes and testbanks being used by eGrade.
As with other configuration files, variable/value pairs are tab
separated.
system.conf file
SuperUserPassword [password]
TimeZone EST
MailServer [mail.server]
DatabasePersist 10
TestPersist 20
SessionPersist 20
MaxHttpds 20
<classes>
"classname1" classdir1
"classname2" classdir2
</classes>
<tests>
"testbankname1" testbankfile1
"testbankname2" testbankfile2
</tests>
endsystem.conf file
These are generally self-explanatory; DatabasePersist is the
time a gradebook remains in memory to avoid having to reload it for a
subsequent instructor, TestPersist is the time a testbank
remains in memory to avoid reloading it for subsequent tests,
SessionPersist is the time before a user is logged out of a
session if they are idle, and MaxHttpds is the maximum number
of Http processes that will be started by eGrade. The
classes and tests sections define classes and
testbanks available to the system. The file and directory names in
these sections are given relative to the records and
testbanks directories, respectively. Directory names are
given without a trailing "/"
.../Class.sys is the definition file for a defined eGrade
class. If a field is in the file is empty it may (or may not) be
omitted. Indented variable/value pairs in the different sections of
the file are indented by a tab, and all variable/value pairs are
tab-separated.
Class.sys file
<1>
pass 6
quPerPage -1
preAuthorize false
restrictions ()
allowedTime 0.5
allow "proctored "
gradeReporting 0
staticTopics false
testBank.0 "global:Math 116 Integral"
mailto addr
testName "Math 116 Integral Gateway"
template "0 3 1 "
weighting "1 1 1"
</1>
<tests>
"name" filename.qu
</tests>
<global>
isVisible true
isLocked false
password [instrPword]
email [instrEmail]
lastName [instrLname]
MI [instrMI]
firstName [instrFname]
</global>
end Class.sys file
The options between <N> and </N>
define definitions for the Nth assignment. In this section,
quPerPage gives the number of questions per page (the default
is "-1"; this appears to give one question per page),
preAuthorize indicates whether a proctor must sign in to
allow a proctored test to be started, restrictions gives
requirements that must be met before the assignment may be completed,
allowedTime is the time in hours allowed for the assignment,
allow is the allowed administration modes
(proctored=proctored test (mode '1'), unproctored=homework/quiz (mode
'2'), etc.), gradeReporting is '0' to show students their
final grade and solutions/comments when they finish, '1' to only show
final grade, (and '2' to show neither?), staticTopics
indicates whether topics should be ordered non-randomly when the test
is given, testbank.0 gives the testbank for the assignment,
mailto the e-mail address to which pass/fail results should
be sent (blank indicates no e-mail should be sent), testName
gives the name of the assignment, template gives something or
other (and may be omitted), and weighting specifies the
weighting of each problem. If omitted, this is one point per
problem. Additionally, header (with value "text string") may
be used to specify a header to appear on each page, and
exitText to specify text appearing on the results page.
The tests section specifies local testbanks defined for
the class, and the global section global options for the
class. The meaning of the options in these is fairly obvious.
proctors/[proctorname] give the information about
proctors. The className field is omitted for global proctors. The
email field may be blank. Variables and values are tab separated, and
serve a purpose clearly indicated by their names.
proctor file
className "Name of Class"
password [password]
email [email@address]
lastName [lastname]
MI [middleinitial]
firstName [firstname]
end proctor file
testbanks/[test].qu is a file giving a list of all
questions available for an assignment. c.f. the
testbank section in the eGrade
use tutorial page.
testbank.qu file
qu.1.topic=Polynomials@
qu.1.1.mode=Formula@
qu.1.1.question=
<IMG SRC="../html/tests/ma116_gateway/images/img00001.gif">
@
qu.1.1.answer=16@
qu.1.2.mode=Formula@
qu.1.2.question=
<IMG SRC="../html/tests/ma116_gateway/images/img00002.gif">
@
qu.1.2.answer=(5/4)x^4 + 3x^2 - 5x@
end testbank.qu file
Another example is this testbank file, which includes examples of each of the different problem types (except imagemaps).