| 1 | #!perl |
1 | #!perl |
| 2 | ################################################################################ |
2 | ################################################################################ |
| 3 | # WeBWorK Online Homework Delivery System |
3 | # WeBWorK Online Homework Delivery System |
| 4 | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
4 | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
| 5 | # $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.48 2004/02/12 04:25:47 sh002i Exp $ |
5 | # $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.78 2004/06/25 16:29:20 jj Exp $ |
| 6 | # |
6 | # |
| 7 | # This program is free software; you can redistribute it and/or modify it under |
7 | # This program is free software; you can redistribute it and/or modify it under |
| 8 | # the terms of either: (a) the GNU General Public License as published by the |
8 | # the terms of either: (a) the GNU General Public License as published by the |
| 9 | # Free Software Foundation; either version 2, or (at your option) any later |
9 | # Free Software Foundation; either version 2, or (at your option) any later |
| 10 | # version, or (b) the "Artistic License" which comes with this package. |
10 | # version, or (b) the "Artistic License" which comes with this package. |
| … | |
… | |
| 20 | # All package variables set in this file are added to the course environment. |
20 | # All package variables set in this file are added to the course environment. |
| 21 | # If you wish to set a variable here but omit it from the course environment, |
21 | # If you wish to set a variable here but omit it from the course environment, |
| 22 | # use the "my" keyword. The following variables are available to this file: |
22 | # use the "my" keyword. The following variables are available to this file: |
| 23 | # |
23 | # |
| 24 | # $webworkRoot directory that contains the WeBWorK distribution |
24 | # $webworkRoot directory that contains the WeBWorK distribution |
| 25 | # $webworkURL base URL handled by Apache::WeBWorK |
25 | # $webworkURLRoot base URL handled by Apache::WeBWorK |
| 26 | # $pgRoot directory that contains the PG distribution |
26 | # $pgRoot directory that contains the PG distribution |
| 27 | # $courseName name of the course being used |
27 | # $courseName name of the course being used |
| 28 | |
28 | |
| 29 | ################################################################################ |
29 | ################################################################################ |
| 30 | # WeBWorK settings |
30 | # WeBWorK settings |
| … | |
… | |
| 38 | conf => "$webworkRoot/conf", |
38 | conf => "$webworkRoot/conf", |
| 39 | courses => "$webworkRoot/courses", |
39 | courses => "$webworkRoot/courses", |
| 40 | htdocs => "$webworkRoot/htdocs", |
40 | htdocs => "$webworkRoot/htdocs", |
| 41 | htdocs_temp => "$webworkRoot/htdocs/tmp", |
41 | htdocs_temp => "$webworkRoot/htdocs/tmp", |
| 42 | equationCache => "$webworkRoot/htdocs/tmp/equations", |
42 | equationCache => "$webworkRoot/htdocs/tmp/equations", |
|
|
43 | local_help => "$webworkRoot/htdocs/helpFiles", |
| 43 | lib => "$webworkRoot/lib", |
44 | lib => "$webworkRoot/lib", |
| 44 | logs => "$webworkRoot/logs", |
45 | logs => "$webworkRoot/logs", |
| 45 | macros => "$pgRoot/macros", |
46 | macros => "$pgRoot/macros", |
| 46 | tmp => "$webworkRoot/tmp", |
47 | tmp => "$webworkRoot/tmp", |
| 47 | ); |
48 | ); |
| 48 | |
49 | |
| 49 | %webworkFiles = ( |
50 | %webworkFiles = ( |
| 50 | environment => "$webworkDirs{conf}/global.conf", |
51 | environment => "$webworkDirs{conf}/global.conf", |
| 51 | hardcopySnippets => { |
52 | hardcopySnippets => { |
| 52 | preamble => "$webworkDirs{conf}/snippets/hardcopyPreamble.tex", |
53 | preamble => "$webworkDirs{conf}/snippets/hardcopyPreamble.tex", |
| 53 | setHeader => "$webworkDirs{conf}/snippets/hardcopySetHeader.pg", |
54 | setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", # hardcopySetHeader.pg", |
| 54 | problemDivider => "$webworkDirs{conf}/snippets/hardcopyProblemDivider.tex", |
55 | problemDivider => "$webworkDirs{conf}/snippets/hardcopyProblemDivider.tex", |
| 55 | setFooter => "$webworkDirs{conf}/snippets/hardcopySetFooter.pg", |
56 | setFooter => "$webworkDirs{conf}/snippets/hardcopySetFooter.pg", |
| 56 | setDivider => "$webworkDirs{conf}/snippets/hardcopySetDivider.tex", |
57 | setDivider => "$webworkDirs{conf}/snippets/hardcopySetDivider.tex", |
| 57 | userDivider => "$webworkDirs{conf}/snippets/hardcopyUserDivider.tex", |
58 | userDivider => "$webworkDirs{conf}/snippets/hardcopyUserDivider.tex", |
| 58 | postamble => "$webworkDirs{conf}/snippets/hardcopyPostamble.tex", |
59 | postamble => "$webworkDirs{conf}/snippets/hardcopyPostamble.tex", |
| 59 | }, |
60 | }, |
| 60 | screenSnippets => { |
61 | screenSnippets => { |
| 61 | setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", |
62 | setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", # screenSetHeader.pg", |
| 62 | }, |
63 | }, |
| 63 | logs => { |
64 | logs => { |
| 64 | timing => "$webworkDirs{logs}/timing.log", |
65 | timing => "$webworkDirs{logs}/timing.log", |
| 65 | }, |
66 | }, |
|
|
67 | # Set this to "" if you don't want to use the equation cache file |
| 66 | equationCacheDB => "$webworkDirs{DATA}/equationcache", |
68 | equationCacheDB => "$webworkDirs{DATA}/equationcache", |
| 67 | ); |
69 | ); |
| 68 | |
70 | |
| 69 | %webworkURLs = ( |
71 | %webworkURLs = ( |
| 70 | root => "$webworkURLRoot", |
72 | root => "$webworkURLRoot", |
| 71 | home => "/webwork2_files/index.html", |
73 | home => "/webwork2_files/index.html", |
| 72 | htdocs => "/webwork2_files", |
74 | htdocs => "/webwork2_files", |
| 73 | htdocs_temp => "/webwork2_files/tmp", |
75 | htdocs_temp => "/webwork2_files/tmp", |
| 74 | equationCache => "/webwork2_files/tmp/equations", |
76 | equationCache => "/webwork2_files/tmp/equations", |
| 75 | docs => "http://webhost.math.rochester.edu/webworkdocs/docs", |
77 | docs => "http://webhost.math.rochester.edu/webworkdocs/docs", |
|
|
78 | local_help => "/webwork2_files/helpFiles", |
| 76 | oldProf => "/webwork-old/profLogin.pl", |
79 | oldProf => "/webwork1/profLogin.pl", |
|
|
80 | bugReporter => "http://bugs.webwork.rochester.edu/enter_bug.cgi?product=WeBWorK%20mod_perl", |
|
|
81 | jsMath => "/webwork2_files/jsMath/jsMath.js", |
|
|
82 | asciimath => "/webwork2_files/ASCIIMathML/ASCIIMathML.js", |
| 77 | ); |
83 | ); |
| 78 | |
84 | |
| 79 | ################################################################################ |
85 | ################################################################################ |
| 80 | # Default course-specific settings |
86 | # Default course-specific settings |
| 81 | ################################################################################ |
87 | ################################################################################ |
| … | |
… | |
| 107 | |
113 | |
| 108 | # quick hack to fix transaction logging. blah. |
114 | # quick hack to fix transaction logging. blah. |
| 109 | $webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log"; |
115 | $webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log"; |
| 110 | $webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log"; |
116 | $webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log"; |
| 111 | |
117 | |
| 112 | my $courseURLRoot = "$webworkURLs{htdocs}/courses/$courseName"; |
118 | my $courseURLRoot = "/webwork2_course_files/$courseName"; |
| 113 | %courseURLs = ( |
119 | %courseURLs = ( |
| 114 | root => "$courseURLRoot", |
120 | root => "$courseURLRoot", |
| 115 | html => "$courseURLRoot", |
121 | html => "$courseURLRoot", |
| 116 | html_temp => "$courseURLRoot/tmp", |
122 | html_temp => "$courseURLRoot/tmp", |
| 117 | ); |
123 | ); |
| … | |
… | |
| 121 | ################################################################################ |
127 | ################################################################################ |
| 122 | |
128 | |
| 123 | %mail = ( |
129 | %mail = ( |
| 124 | smtpServer => "mail.math.rochester.edu", |
130 | smtpServer => "mail.math.rochester.edu", |
| 125 | smtpSender => "webwork\@math.rochester.edu", |
131 | smtpSender => "webwork\@math.rochester.edu", |
|
|
132 | |
| 126 | # allowedRecipients defines addresses that the PG system is allowed to |
133 | # allowedRecipients defines addresses that the PG system is allowed to |
| 127 | # send mail to. this prevents subtle PG exploits. This should be set |
134 | # send mail to. this prevents subtle PG exploits. This should be set |
| 128 | # in course.conf to the addresses of professors of each course. Sending |
135 | # in course.conf to the addresses of professors of each course. Sending |
| 129 | # mail from the PG system (i.e. questionaires, essay questions) will |
136 | # mail from the PG system (i.e. questionaires, essay questions) will |
| 130 | # fail if this is not set somewhere (either here or in course.conf). |
137 | # fail if this is not set somewhere (either here or in course.conf). |
| 131 | #allowedRecipients => [ |
138 | #allowedRecipients => [ |
| 132 | # 'yourname@host.yourdomain.edu', |
139 | # 'prof1@host.yourdomain.edu', |
|
|
140 | # 'prof2@host.yourdomain.edu', |
| 133 | #], |
141 | #], |
|
|
142 | |
| 134 | # if defined, feedbackRecipients overrides the list of recipients for |
143 | # if defined, feedbackRecipients overrides the list of recipients for |
| 135 | # feedback email. It's appropriate to set this in the course.conf for |
144 | # feedback email. It's appropriate to set this in the course.conf for |
| 136 | # specific courses, but probably not in global.conf. if not defined, |
145 | # specific courses, but probably not in global.conf. if not defined, |
| 137 | # mail is sent to all professors and TAs for a given course |
146 | # mail is sent to all professors and TAs for a given course |
| 138 | #feedbackRecipients => [ |
147 | #feedbackRecipients => [ |
| 139 | # 'prof1@host.yourdomain.edu', |
148 | # 'prof1@host.yourdomain.edu', |
| 140 | # 'prof2@host.yourdomain.edu', |
149 | # 'prof2@host.yourdomain.edu', |
| 141 | #], |
150 | #], |
|
|
151 | |
| 142 | # feedbackVerbosity: |
152 | # feedbackVerbosity: |
| 143 | # 0: send only the feedback comment and context link |
153 | # 0: send only the feedback comment and context link |
| 144 | # 1: as in 0, plus user, set, problem, and PG data |
154 | # 1: as in 0, plus user, set, problem, and PG data |
| 145 | # 2: as in 1, plus the problem environment (debugging data) |
155 | # 2: as in 1, plus the problem environment (debugging data) |
| 146 | feedbackVerbosity => 1, |
156 | feedbackVerbosity => 1, |
|
|
157 | |
|
|
158 | # defines the size of the Mail Merge editor window |
|
|
159 | # FIXME: should this be here? it's UI, not mail |
|
|
160 | # FIXME: replace this with the auto-size method that TWiki uses |
| 147 | editor_window_rows => 15, |
161 | editor_window_rows => 15, |
| 148 | editor_window_columns => 100, |
162 | editor_window_columns => 100, |
| 149 | ); |
163 | ); |
| 150 | |
164 | |
| 151 | %externalPrograms = ( |
165 | %externalPrograms = ( |
| 152 | mkdir => "/bin/mkdir", |
166 | mkdir => "/bin/mkdir", |
| 153 | tth => "/usr/local/bin/tth", |
167 | tth => "/usr/local/bin/tth", |
| … | |
… | |
| 155 | latex => "/usr/local/bin/latex", |
169 | latex => "/usr/local/bin/latex", |
| 156 | dvipng => "/usr/local/bin/dvipng", |
170 | dvipng => "/usr/local/bin/dvipng", |
| 157 | gif2eps => "$webworkDirs{bin}/gif2eps", |
171 | gif2eps => "$webworkDirs{bin}/gif2eps", |
| 158 | png2eps => "$webworkDirs{bin}/png2eps", |
172 | png2eps => "$webworkDirs{bin}/png2eps", |
| 159 | gif2png => "$webworkDirs{bin}/gif2png", |
173 | gif2png => "$webworkDirs{bin}/gif2png", |
|
|
174 | mysql => "/usr/local/bin/mysql", |
|
|
175 | ); |
|
|
176 | |
|
|
177 | %siteDefaults = ( |
|
|
178 | status => { |
|
|
179 | audit => "Audit", |
|
|
180 | A => "Audit", |
|
|
181 | drop => "Drop", |
|
|
182 | D => "Drop", |
|
|
183 | withdraw => "Drop", |
|
|
184 | current => "Enrolled", |
|
|
185 | C => "Enrolled", |
|
|
186 | enrolled => "Enrolled", |
|
|
187 | }, |
| 160 | ); |
188 | ); |
| 161 | |
189 | |
| 162 | ################################################################################ |
190 | ################################################################################ |
| 163 | # Frontend options |
191 | # Frontend options |
| 164 | ################################################################################ |
192 | ################################################################################ |
| … | |
… | |
| 175 | # hash %dbLayouts. |
203 | # hash %dbLayouts. |
| 176 | include "conf/database.conf"; |
204 | include "conf/database.conf"; |
| 177 | |
205 | |
| 178 | # Select the default database layout. This can be overridden in the course.conf |
206 | # Select the default database layout. This can be overridden in the course.conf |
| 179 | # file of a particular course. |
207 | # file of a particular course. |
| 180 | #*dbLayout = $dbLayouts{sql}; |
208 | #$dbLayoutName = "sql"; |
|
|
209 | $dbLayoutName = "gdbm"; |
|
|
210 | |
| 181 | *dbLayout = $dbLayouts{gdbm}; |
211 | *dbLayout = $dbLayouts{$dbLayoutName}; |
|
|
212 | |
|
|
213 | ################################################################################ |
|
|
214 | # Problem library options |
|
|
215 | ################################################################################ |
|
|
216 | |
|
|
217 | %problemLibrary = ( |
|
|
218 | root => "", # set to the top of the problem library, if its installed |
|
|
219 | sourceSQL => "ProblemLibrary", |
|
|
220 | userSQL => "webworkRead", |
|
|
221 | passwordSQL => "", |
|
|
222 | ); |
| 182 | |
223 | |
| 183 | ################################################################################ |
224 | ################################################################################ |
| 184 | # Authorization system |
225 | # Authorization system |
| 185 | ################################################################################ |
226 | ################################################################################ |
| 186 | |
227 | |
| 187 | # This lets you specify a minimum permission level needed to perform certain |
228 | # This lets you specify a minimum permission level needed to perform certain |
| 188 | # actions. In the current system, >=10 will allow a professor to perform the |
229 | # actions. In the current system, >=10 will allow a professor to perform the |
| 189 | # action, >=5 will allow a TA to, and >=0 will allow a student to perform an |
230 | # action, >=5 will allow a TA to, and >=0 will allow a student to perform an |
| 190 | # action (almost never what you want). |
231 | # action (almost never what you want). |
|
|
232 | my $student = 0; |
| 191 | my $ta = 5; |
233 | my $ta = 5; |
| 192 | my $professor = 10; |
234 | my $professor = 10; |
| 193 | %permissionLevels = ( |
235 | %permissionLevels = ( |
|
|
236 | report_bugs => $student, |
|
|
237 | view_multiple_sets => $ta, |
|
|
238 | view_unopened_sets => $ta, |
|
|
239 | view_unpublished_sets => $ta, |
|
|
240 | view_answers => $ta, |
| 194 | become_student => $professor, |
241 | become_student => $professor, |
| 195 | access_instructor_tools => $ta, |
242 | access_instructor_tools => $ta, |
| 196 | create_and_delete_problem_sets => $professor, |
243 | create_and_delete_problem_sets => $professor, |
| 197 | modify_problem_sets => $professor, |
244 | modify_problem_sets => $professor, |
| 198 | assign_problem_sets => $professor, |
245 | assign_problem_sets => $professor, |
| 199 | modify_student_data => $professor, |
246 | modify_student_data => $professor, |
| 200 | score_sets => $professor, |
247 | score_sets => $professor, |
| 201 | send_mail => $professor, |
248 | send_mail => $professor, |
| 202 | modify_classlist_files => $professor, |
249 | modify_classlist_files => $professor, |
| 203 | modify_set_def_files => $professor, |
250 | modify_set_def_files => $professor, |
|
|
251 | modify_scoring_files => $professor, |
|
|
252 | create_and_delete_courses => $professor, |
|
|
253 | fix_course_databases => $professor, |
| 204 | ); |
254 | ); |
| 205 | |
255 | |
| 206 | ################################################################################ |
256 | ################################################################################ |
| 207 | # Session options |
257 | # Session options |
| 208 | ################################################################################ |
258 | ################################################################################ |
| … | |
… | |
| 229 | ################################################################################ |
279 | ################################################################################ |
| 230 | # PG translation options |
280 | # PG translation options |
| 231 | ################################################################################ |
281 | ################################################################################ |
| 232 | |
282 | |
| 233 | %pg = ( |
283 | %pg = ( |
| 234 | # options for various renderers |
284 | # available display modes |
| 235 | renderers => { |
285 | displayModes => [ qw(plainText formattedText images jsMath asciimath) ], |
| 236 | "WeBWorK::PG::Remote" => { |
286 | # pg options |
| 237 | proxy => "http://localhost:21000/RenderD" |
|
|
| 238 | } |
|
|
| 239 | }, |
|
|
| 240 | # currently selected renderer |
|
|
| 241 | renderer => "WeBWorK::PG::Local", |
|
|
| 242 | #renderer => "WeBWorK::PG::Remote", |
|
|
| 243 | # directories used by PG |
|
|
| 244 | directories => { |
|
|
| 245 | # directories used only by PG |
|
|
| 246 | lib => "$pgRoot/lib", |
|
|
| 247 | macros => "$pgRoot/macros", |
|
|
| 248 | }, |
|
|
| 249 | options => { |
287 | options => { |
| 250 | # default translation options |
288 | # default translation options |
| 251 | displayMode => "images", |
289 | displayMode => "images", |
| 252 | showOldAnswers => 1, |
290 | showOldAnswers => 1, |
| 253 | showCorrectAnswers => 0, |
291 | showCorrectAnswers => 0, |
| … | |
… | |
| 255 | showSolutions => 0, |
293 | showSolutions => 0, |
| 256 | catchWarnings => 0, # there's a global warning catcher now |
294 | catchWarnings => 0, # there's a global warning catcher now |
| 257 | # default grader |
295 | # default grader |
| 258 | grader => "avg_problem_grader", |
296 | grader => "avg_problem_grader", |
| 259 | }, |
297 | }, |
|
|
298 | # options for various renderers |
|
|
299 | renderers => { |
|
|
300 | "WeBWorK::PG::Remote" => { |
|
|
301 | proxy => "http://localhost:21000/RenderD" |
|
|
302 | }, |
|
|
303 | |
|
|
304 | # next can be baseline, absmiddle, or mysql |
|
|
305 | dvipng_align => 'baseline', |
|
|
306 | |
|
|
307 | # if we choose mysql, we need information on connecting |
|
|
308 | # to the database. Whatever you use here, you have to |
|
|
309 | # create the database and grant read/write priveleges to |
|
|
310 | # the user listed here |
|
|
311 | dvipng_depth_db => { |
|
|
312 | dbsource => 'dbi:mysql:DvipngDepths', |
|
|
313 | user => $dbLayouts{sql}->{password}->{params}->{usernameRW}, |
|
|
314 | passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW}, |
|
|
315 | } |
|
|
316 | }, |
|
|
317 | # currently selected renderer |
|
|
318 | renderer => "WeBWorK::PG::Local", |
|
|
319 | #renderer => "WeBWorK::PG::Remote", |
|
|
320 | # directories used by PG |
|
|
321 | directories => { |
|
|
322 | # directories used only by PG |
|
|
323 | root => "$pgRoot", |
|
|
324 | lib => "$pgRoot/lib", |
|
|
325 | macros => "$pgRoot/macros", |
|
|
326 | }, |
| 260 | # this will be customized in the course.conf file |
327 | # this can be customized in the course.conf file |
| 261 | specialPGEnvironmentVars => { |
328 | specialPGEnvironmentVars => { |
| 262 | PRINT_FILE_NAMES_FOR => [ qw(professor) ], |
329 | PRINT_FILE_NAMES_FOR => [ qw(professor) ], |
| 263 | CAPA_Tools => "$courseDirs{macros}/CAPA_Tools/", |
330 | CAPA_Tools => "$courseDirs{macros}/CAPA_Tools/", |
| 264 | CAPA_MCTools => "$courseDirs{macros}/CAPA_MCTools/", |
331 | CAPA_MCTools => "$courseDirs{macros}/CAPA_MCTools/", |
| 265 | CAPA_Graphics_URL => "$courseDirs{html}/CAPA_Graphics/", |
332 | CAPA_Graphics_URL => "$courseURLs{html}/CAPA_Graphics/", |
| 266 | CAPA_GraphicsDirectory => "$courseDirs{html}CAPA_Graphics/", |
333 | CAPA_GraphicsDirectory => "$courseDirs{html}/CAPA_Graphics/", |
|
|
334 | onTheFlyImageSize => 400, |
| 267 | }, |
335 | }, |
| 268 | # modules lists module names and the packages each contains |
336 | # modules lists module names and the packages each contains |
| 269 | modules => [ |
337 | modules => [ |
| 270 | [qw(DynaLoader)], |
338 | [qw(DynaLoader)], |
| 271 | [qw(Exporter)], |
339 | [qw(Exporter)], |
| … | |
… | |
| 307 | numAbsTolDefault => .001, |
375 | numAbsTolDefault => .001, |
| 308 | numFormatDefault => "", |
376 | numFormatDefault => "", |
| 309 | numRelPercentTolDefault => .1, |
377 | numRelPercentTolDefault => .1, |
| 310 | numZeroLevelDefault => 1E-14, |
378 | numZeroLevelDefault => 1E-14, |
| 311 | numZeroLevelTolDefault => 1E-12, |
379 | numZeroLevelTolDefault => 1E-12, |
|
|
380 | useBaseTenLog => 0, |
|
|
381 | defaultDisplayMatrixStyle => "[s]", |
| 312 | }, |
382 | }, |
| 313 | ); |
383 | ); |