-
Notifications
You must be signed in to change notification settings - Fork 3
/
config.plist
249 lines (245 loc) · 11.2 KB
/
config.plist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
{
optionCategories = ( "Directories", "Timing", "Other Settings" );
options = (
{
property = "grader.submissiondir";
type = shortText;
size = 70;
name = "Storage Directory Base";
category = "Directories";
description =
"Web-CAT stores student submissions and results in your server's file system.
This directory is where Web-CAT will store this information. This directory
must be writeable by Web-CAT. Be sure that this directory is backed up
on a regular schedule to prevent any data loss. All internal references
to student data files are maintained as relative paths based at this
location. If you modify this value but fail to physically move the old
contents, some data may become inaccessible from within Web-CAT.";
},
{
property = "grader.workarea";
type = shortText;
size = 70;
name = "Work Area";
category = "Directories";
description =
"Web-CAT upacks, compiles, and executes student submissions in a separate
area from where the originals are stored.
This directory is the \"scratch area\" where Web-CAT will perform these
operations. If possible, it is helpful to make sure this directory lives on
a different partition or different device from either the storage directory
listed above, or the system directories used by your server's operating
system. Sandboxing the scratch area in this way will ensure that student
program actions cannot consume excessive disk resources and cause problems
with other services. This directory
must be writeable by Web-CAT. This directory is only used for transient
data and need not be backed up.";
},
{
property = "grader.scriptsroot";
type = shortText;
size = 70;
name = "Plug-in Storage Directory Base";
category = "Directories";
description =
"Web-CAT unpacks and stores plug-ins in your server's file system.
This directory is where Web-CAT will store plug-in files. If left blank,
Web-CAT will use a subdirectory called \"UserScripts\" within the
submission storage directory. The plug-in storage directory
must be writeable by Web-CAT. Be sure that this directory is backed up
on a regular schedule to prevent any data loss. All internal references
to plug-in files are maintained as relative paths based at this
location. If you modify this value but fail to physically move the old
contents, some data may become inaccessible from within Web-CAT.";
},
{
property = "grader.scriptsdataroot";
type = shortText;
size = 70;
name = "Instructor Home Directory Base";
category = "Directories";
description =
"Web-CAT allows instructors to upload files used to configure grading
plug-ins (e.g., test cases, shared data files, and so on).
This directory is where Web-CAT will create home directories to hold
instructor-provided files. If left blank,
Web-CAT will use a subdirectory called \"UserScriptsData\" within the
submission storage directory. The instructor home directory base
must be writeable by Web-CAT. Be sure that this directory is backed up
on a regular schedule to prevent any data loss. All internal references
to instructor data files are maintained as relative paths based at this
location. If you modify this value but fail to physically move the old
contents, some data may become inaccessible from within Web-CAT.";
},
{
property = "grader.timeout.default";
type = integer;
default = 60;
name = "Default Timeout for Grading Plug-ins";
category = "Timing";
description =
"Many grading plug-ins allow an instructor to set a time limit on how long
student code can run (you fill this in while editing an assignment's
properties--it goes in the plug-in step table). This is the default value
(in seconds) used whenever an instructor leaves a timeout box blank.
Setting this number too large can lead to significant slowdowns of the
grading queue when students run into infinite looping problems or other
non-termination issues. Changes to this setting take effect the next time
Web-CAT restarts.";
},
{
property = "grader.timeout.max";
type = integer;
default = 600;
name = "Maximum Timeout for Grading Plug-ins";
category = "Timing";
description =
"This is an upper limit on the time limits instructors can fill un for
grading plug-ins. This limit (in seconds) is used only as a bounds check
when instructors explicitly set a timeout themselves. Changes to this
setting take effect the next time Web-CAT restarts.";
},
{
property = "grader.timeout.gracePeriod";
type = integer;
default = 15;
name = "Plug-in Grace Period";
category = "Timing";
description =
"Instructors can specify execution time limits for running student code.
Similarly, each plug-in provides Web-CAT with a formula used to predict
how long it will take to run the entire plug-in (including running the
student's code, running the instructor's reference tests, generating any
feedback, etc.). If the plug-in takes much longer than it promises, then
Web-CAT will terminate it and report the problem to the instructor and
the administrator. This grace period setting (in seconds) tells Web-CAT
how much slack time to allow beyond the plug-in's prediction before
terminating a plug-in. Changes to this setting take effect the next time
Web-CAT restarts.";
},
{
property = "grader.mailResultNotificationAfterMinutes";
type = integer;
default = 15;
name = "E-mail Notification Window";
category = "Timing";
description =
"When a student makes a submission, they normally receive feedback quickly.
However, if there is a significant delay between the submission time and
when results are ready, Web-CAT will send the student an e-mail notification
that results have become available. Web-CAT will send such a message
if the amount of time (in minutes) that elapses between the submission
upload and the availability of results is greater than what you set here.
Changes to this setting take effect the next time Web-CAT restarts.";
},
{
property = "grader.multithreaded";
type = boolean;
default = true;
name = "Grade Submissions in Parallel";
category = "Timing";
description =
"If true, Web-CAT will process multiple program submissions in parallel,
based on the number of processing cores available. If false, submissions
will be processed sequentially, one at a time.";
},
{
property = "grader.maxGraderThreads";
type = integer;
name = "Maximum Parallel Grading Threads";
category = "Timing";
description =
"If set to grade submissions in parallel, this number is used as the upper
limit for the number of concurrent grading jobs to process in parallel. If
unset, the system computes a default that is slightly under one half of
the available processor cores. Depending on available system memory, use
this setting to force a lower limit to avoid memory overload.";
},
{
property = "grader.usePluginInternalThreads";
type = boolean;
default = true;
name = "Run Plug-ins with Multithreading";
category = "Timing";
description =
"If true, Web-CAT will run some plug-ins (like the JavaTddPlugin)
multi-threaded, increasing the speed of processing a single submission--but
at the cost of reducing the number of submissions that can be graded in
parallel. When there are lower volumes of submissions , this may increase
the speed with which individual students receive results. When there are
high volumes of submissions, this will reduce the number that can be
processed in parallel, which may reduce overall throughput.";
},
{
property = "graderLangList";
type = longText;
name = "Message Listing Languages Supported";
category = "Other Settings";
description =
"If provided, this message (usually brief) is posted on the <b>login
page</b> below the Message of the Day, prefixed by the phrase \"This
Web-CAT server currently has the following languages installed:\". You
can use it to advertize which programming languages are supported on
your server. HTML markup is allowed.";
},
{
property = "grader.preserveScratchFiles";
type = boolean;
default = false;
name = "Preserve Scratch Files on Plug-in Failure";
category = "Other Settings";
description =
"If true, Web-CAT will preserve (not delete) files from the scratch work
area when a plug-in crashes or produces error output, so that the
work files can be used for debugging. If false, these files are
cleaned up just as when plug-ins complete normally, so that scratch
work space is available for new jobs. This option should only be
enabled when necessary to debug failing plug-ins, but should normally
be kept off.";
},
{
property = "grader.maxFileUploadSize";
type = integer;
default = 1048576;
name = "Maximum Submission Upload Size";
category = "Other Settings";
description =
"When a student makes a submission, the uploaded file must be less than this
amount (in bytes). Instructors can set their own limits in submission
policies, but instructors may not set any limits higher than this
maximum.";
},
{
property = "grader.defaultMaxFileUploadSize";
type = integer;
default = 204800;
name = "Default Maximum Upload Size";
category = "Other Settings";
description =
"Instructors can set the size limit for student submissions in an
assignment's submission policy. This value provides the default to
use when no value is set in an assignment's submission policy.";
},
{
property = "grader.willNotAutoUpdatePlugins";
type = boolean;
name = "Disable Auto-update Support for Plug-ins";
category = "Other Settings";
description =
"Normally, each time Web-CAT starts, it checks to see if newer versions
if any installed plug-ins are available. It will automatically download
and install any available plug-in updates unless you disable this feature.";
},
{
property = "grader.willNotAutoInstallPlugins";
type = boolean;
name = "Disable Auto-installation Support for New Plug-ins";
category = "Other Settings";
description =
"Normally, each time Web-CAT starts, it checks known providers to see if
any new plug-ins have been released for general installation. It will
automatically download and install any new plug-ins unless you disable
this feature.";
}
);
}