[system] / trunk / webwork-modperl / conf / global.conf.dist Repository:
ViewVC logotype

Diff of /trunk/webwork-modperl/conf/global.conf.dist

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1089 Revision 2417
1#!perl 1#!perl
2################################################################################ 2################################################################################
3# WeBWorK mod_perl (c) 1995-2002 WeBWorK Team, Univeristy of Rochester 3# WeBWorK Online Homework Delivery System
4# $Id: global.conf.dist,v 1.24 2003-06-09 21:10:03 gage Exp $ 4# Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/
5# $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.79 2004/06/25 23:56:56 jj Exp $
6#
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
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.
11#
12# This program is distributed in the hope that it will be useful, but WITHOUT
13# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14# FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the
15# Artistic License for more details.
5################################################################################ 16################################################################################
6 17
7# This file is used to set up the default WeBWorK course environment for all 18# This file is used to set up the default WeBWorK course environment for all
8# requests. Values may be overwritten by the course.conf for a specific course. 19# requests. Values may be overwritten by the course.conf for a specific course.
9# 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.
10# 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,
11# 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:
12# 23#
13# $webworkRoot directory that contains the WeBWorK distribution 24# $webworkRoot directory that contains the WeBWorK distribution
14# $webworkURL base URL handled by Apache::WeBWorK 25# $webworkURLRoot base URL handled by Apache::WeBWorK
15# $pgRoot directory that contains the PG distribution 26# $pgRoot directory that contains the PG distribution
16# $courseName name of the course being used 27# $courseName name of the course being used
17 28
18################################################################################ 29################################################################################
19# WeBWorK settings 30# WeBWorK settings
20################################################################################ 31################################################################################
21 32
22%webworkDirs = ( 33%webworkDirs = (
23 root => "$webworkRoot", 34 root => "$webworkRoot",
35 DATA => "$webworkRoot/DATA",
36 uploadCache => "$webworkRoot/DATA/uploads",
24 bin => "$webworkRoot/bin", 37 bin => "$webworkRoot/bin",
25 conf => "$webworkRoot/conf", 38 conf => "$webworkRoot/conf",
26 courses => "$webworkRoot/courses", 39 courses => "$webworkRoot/courses",
40 htdocs => "$webworkRoot/htdocs",
41 htdocs_temp => "$webworkRoot/htdocs/tmp",
42 equationCache => "$webworkRoot/htdocs/tmp/equations",
43 local_help => "$webworkRoot/htdocs/helpFiles",
27 lib => "$pgRoot/lib", 44 lib => "$webworkRoot/lib",
28 logs => "$webworkRoot/logs", 45 logs => "$webworkRoot/logs",
29 macros => "$pgRoot/macros", 46 macros => "$pgRoot/macros",
30 tmp => "$webworkRoot/tmp", 47 tmp => "$webworkRoot/tmp",
31); 48);
32 49
33%webworkFiles = ( 50%webworkFiles = (
34 environment => "$webworkDirs{conf}/global.conf", 51 environment => "$webworkDirs{conf}/global.conf",
35 hardcopySnippets => { 52 hardcopySnippets => {
36 preamble => "$webworkDirs{conf}/hardcopyPreamble.tex", 53 preamble => "$webworkDirs{conf}/snippets/hardcopyPreamble.tex",
37 setHeader => "$webworkDirs{conf}/hardcopySetHeader.pg", 54 setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", # hardcopySetHeader.pg",
38 problemDivider => "$webworkDirs{conf}/hardcopyProblemDivider.tex", 55 problemDivider => "$webworkDirs{conf}/snippets/hardcopyProblemDivider.tex",
39 setFooter => "$webworkDirs{conf}/hardcopySetFooter.pg", 56 setFooter => "$webworkDirs{conf}/snippets/hardcopySetFooter.pg",
40 setDivider => "$webworkDirs{conf}/hardcopySetDivider.tex", 57 setDivider => "$webworkDirs{conf}/snippets/hardcopySetDivider.tex",
58 userDivider => "$webworkDirs{conf}/snippets/hardcopyUserDivider.tex",
41 postamble => "$webworkDirs{conf}/hardcopyPostamble.tex", 59 postamble => "$webworkDirs{conf}/snippets/hardcopyPostamble.tex",
42 }, 60 },
43 screenSnippets => { 61 screenSnippets => {
44 setHeader => "$webworkDirs{conf}/screenSetHeader.pg", 62 setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", # screenSetHeader.pg",
45 }, 63 },
46 logs => { 64 logs => {
47 timing => "$webworkDirs{logs}/timing.log", 65 timing => "$webworkDirs{logs}/timing.log",
48 }, 66 },
67 # Set this to "" if you don't want to use the equation cache file
68 equationCacheDB => "$webworkDirs{DATA}/equationcache",
49); 69);
50 70
51%webworkURLs = ( 71%webworkURLs = (
52 root => "$webworkURLRoot", 72 root => "$webworkURLRoot",
53 home => "/webwork2_files/index.html", 73 home => "/webwork2_files/index.html",
54 htdocs => "/webwork2_files", 74 htdocs => "/webwork2_files",
75 htdocs_temp => "/webwork2_files/tmp",
76 equationCache => "/webwork2_files/tmp/equations",
55 docs => "http://webhost.math.rochester.edu/webworkdocs/docs", 77 docs => "http://webhost.math.rochester.edu/webworkdocs/docs",
78 local_help => "/webwork2_files/helpFiles",
56 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",
57); 83);
58 84
59################################################################################ 85################################################################################
60# Default course-specific settings 86# Default course-specific settings
61################################################################################ 87################################################################################
70 html_temp => "$courseRoot/html/tmp", 96 html_temp => "$courseRoot/html/tmp",
71 logs => "$courseRoot/logs", 97 logs => "$courseRoot/logs",
72 scoring => "$courseRoot/scoring", 98 scoring => "$courseRoot/scoring",
73 templates => "$courseRoot/templates", 99 templates => "$courseRoot/templates",
74 macros => "$courseRoot/templates/macros", 100 macros => "$courseRoot/templates/macros",
101 email => "$courseRoot/templates/email",
75); 102);
76 103
77%courseFiles = ( 104%courseFiles = (
78 environment => "$courseDirs{root}/course.conf", 105 environment => "$courseDirs{root}/course.conf",
79 motd => "$courseDirs{root}/motd.txt", 106 motd => "$courseDirs{templates}/motd.txt",
107 logs => {
108 answer_log => "$courseDirs{logs}/answer_log",
109 },
110 course_info => "course_info.txt", # path relative to templates directory
111 login_info => "login_info.txt", # path relative to templates directory
80); 112);
81 113
82# quick hack to fix transaction logging. blah. 114# quick hack to fix transaction logging. blah.
83$webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log"; 115$webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log";
84$webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log"; 116$webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log";
85 117
86my $courseURLRoot = "$webworkURLs{htdocs}/courses/$courseName"; 118my $courseURLRoot = "/webwork2_course_files/$courseName";
87%courseURLs = ( 119%courseURLs = (
88 root => "$courseURLRoot", 120 root => "$courseURLRoot",
89 html => "$courseURLRoot", 121 html => "$courseURLRoot",
90 html_temp => "$courseURLRoot/tmp", 122 html_temp => "$courseURLRoot/tmp",
91); 123);
95################################################################################ 127################################################################################
96 128
97%mail = ( 129%mail = (
98 smtpServer => "mail.math.rochester.edu", 130 smtpServer => "mail.math.rochester.edu",
99 smtpSender => "webwork\@math.rochester.edu", 131 smtpSender => "webwork\@math.rochester.edu",
132
100 # allowedRecipients defines addresses that the PG system is allowed to 133 # allowedRecipients defines addresses that the PG system is allowed to
101 # 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
102 # 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
103 # mail from the PG system (i.e. questionaires, essay questions) will 136 # mail from the PG system (i.e. questionaires, essay questions) will
104 # 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).
105 #allowedRecipients => [ 138 #allowedRecipients => [
106 # "yourname\@host.yourdomain.edu", 139 # 'prof1@host.yourdomain.edu',
140 # 'prof2@host.yourdomain.edu',
107 #], 141 #],
142
108 # if defined, feedbackRecipients overrides the list of recipients for 143 # if defined, feedbackRecipients overrides the list of recipients for
109 # 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
110 # specific courses, but probably not in global.conf. if not defined, 145 # specific courses, but probably not in global.conf. if not defined,
111 # 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
112 #feedbackRecipients => [ 147 #feedbackRecipients => [
113 # "prof1\@host.yourdomain.edu", 148 # 'prof1@host.yourdomain.edu',
114 # "prof2\@host.yourdomain.edu", 149 # 'prof2@host.yourdomain.edu',
115 #], 150 #],
151
116 # feedbackVerbosity: 152 # feedbackVerbosity:
117 # 0: send only the feedback comment and context link 153 # 0: send only the feedback comment and context link
118 # 1: as in 0, plus user, set, problem, and PG data 154 # 1: as in 0, plus user, set, problem, and PG data
119 # 2: as in 1, plus the problem environment (debugging data) 155 # 2: as in 1, plus the problem environment (debugging data)
120 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
161 editor_window_rows => 15,
162 editor_window_columns => 100,
121); 163);
122 164
123%externalPrograms = ( 165%externalPrograms = (
124 mkdir => "/bin/mkdir", 166 mkdir => "/bin/mkdir",
125 tth => "/usr/local/bin/tth", 167 tth => "/usr/local/bin/tth",
126 pdflatex => "/usr/local/bin/pdflatex", 168 pdflatex => "/usr/local/bin/pdflatex",
127 latex => "/usr/local/bin/latex", 169 latex => "/usr/local/bin/latex",
128 dvipng => "/usr/local/bin/dvipng -mode ljfivemp -D600 -Q6 -x1000.5 -bgTransparent", 170 dvipng => "/usr/local/bin/dvipng",
129 gif2eps => "$webworkDirs{bin}/gif2eps", 171 gif2eps => "$webworkDirs{bin}/gif2eps",
130 png2eps => "$webworkDirs{bin}/png2eps", 172 png2eps => "$webworkDirs{bin}/png2eps",
131 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 },
132); 188);
133 189
134################################################################################ 190################################################################################
135# Frontend options 191# Frontend options
136################################################################################ 192################################################################################
137 193
138%templates = ( 194%templates = (
139 system => "$webworkDirs{conf}/barebones.template", 195 system => "$webworkDirs{conf}/templates/ur.template",
140); 196);
141 197
142################################################################################ 198################################################################################
143# Database and session 199# Database options
144################################################################################ 200################################################################################
145# temporary values needed for using both GDBM databases.
146# Use auser name for which all problems have been built, and none have
147# been specifically reassigned.
148#FIXME !!!! what hack!!!!!!
149 201
150 $dbLayout{set}->{params}->{globalUserID} = "practice1"; 202# Several database are defined in the file conf/database.conf and stored in the
151 $dbLayout{problem}->{params}->{globalUserID} = "practice1"; 203# hash %dbLayouts.
152 204include "conf/database.conf";
153# dbInfo records some data for the "old" WW/Classlist/Auth.pm database system
154# {auth,wwdb,cldb}_type = database type: GDBM currently implemented
155# {auth_passwd,auth_perm,auth_keys,wwdb,cldb}_file = path to database file
156%dbInfo = (
157 auth_type => "GDBM",
158 auth_passwd_file => "$courseDirs{auth_DATA}/$courseName\_password_DB",
159 auth_perm_file => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
160 auth_keys_file => "$courseDirs{auth_DATA}/keys",
161 wwdb_type => "GDBM",
162 wwdb_file => "$courseDirs{DATA}/$courseName\_webwork_DB",
163 cldb_type => "GDBM",
164 cldb_file => "$courseDirs{DATA}/$courseName\_classlist_DB",
165 psvn_digits => 5,
166);
167 205
168# dbLayout records the schema and source for each table in the "new" DB.pm 206# Select the default database layout. This can be overridden in the course.conf
169# database system. consult DB.pm for the authoritative list of tables. 207# file of a particular course.
170# schema = perl module to use for access to the table 208#$dbLayoutName = "sql";
171# driver = perl module to use for access to the data source 209$dbLayoutName = "gdbm";
172# source = location of data source (i.e. path, url, DBI spec) 210
173# params = extra information needed by the schema (optional) 211*dbLayout = $dbLayouts{$dbLayoutName};
174# note: schema and driver must have the same interface. 212
175%dbLayout = ( 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",
176 password => { 221 passwordSQL => "",
177 record => "WeBWorK::DB::Record::Password",
178 schema => "WeBWorK::DB::Schema::Auth1Hash",
179 driver => "WeBWorK::DB::Driver::GDBM",
180 source => "$courseDirs{auth_DATA}/$courseName\_password_DB",
181 },
182 permission => {
183 record => "WeBWorK::DB::Record::PermissionLevel",
184 schema => "WeBWorK::DB::Schema::Auth1Hash",
185 driver => "WeBWorK::DB::Driver::GDBM",
186 source => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
187 },
188 key => {
189 record => "WeBWorK::DB::Record::Key",
190 schema => "WeBWorK::DB::Schema::Auth1Hash",
191 driver => "WeBWorK::DB::Driver::GDBM",
192 source => "$courseDirs{auth_DATA}/keys",
193 },
194 user => {
195 record => "WeBWorK::DB::Record::User",
196 schema => "WeBWorK::DB::Schema::Classlist1Hash",
197 driver => "WeBWorK::DB::Driver::GDBM",
198 source => "$courseDirs{DATA}/$courseName\_classlist_DB",
199 },
200 set => {
201 record => "WeBWorK::DB::Record::Set",
202 schema => "WeBWorK::DB::Schema::GlobalTableEmulator",
203 driver => "WeBWorK::DB::Driver::Null",
204 source => undef,
205 },
206 set_user => {
207 record => "WeBWorK::DB::Record::UserSet",
208 schema => "WeBWorK::DB::Schema::WW1Hash",
209 driver => "WeBWorK::DB::Driver::GDBM",
210 source => "$courseDirs{DATA}/$courseName\_webwork_DB",
211 params => { psvnLength => 5 },
212 },
213 problem => {
214 record => "WeBWorK::DB::Record::Problem",
215 schema => "WeBWorK::DB::Schema::GlobalTableEmulator",
216 driver => "WeBWorK::DB::Driver::Null",
217 source => undef,
218 },
219 problem_user => {
220 record => "WeBWorK::DB::Record::UserProblem",
221 schema => "WeBWorK::DB::Schema::WW1Hash",
222 driver => "WeBWorK::DB::Driver::GDBM",
223 source => "$courseDirs{DATA}/$courseName\_webwork_DB",
224 params => { psvnLength => 5 },
225 },
226); 222);
227 223
228# If you are using the GlobalTableEmulator, you need these to be set to 224################################################################################
229# a user that will exist. Professors will probably want to override this 225# Authorization system
230# in their course's course.conf, using their own user name instead of "professor". 226################################################################################
231$dbLayout{set}->{params}->{globalUserID} = "professor";
232$dbLayout{problem}->{params}->{globalUserID} = "professor";
233 227
234
235# This lets you specify a minimum permission level needed to perform 228# This lets you specify a minimum permission level needed to perform certain
236# certain actions. In the current system, >=10 will allow a professor 229# actions. In the current system, >=10 will allow a professor to perform the
237# to perform the action, >=5 will allow a TA to, and >=0 will allow a 230# action, >=5 will allow a TA to, and >=0 will allow a student to perform an
238# student to perform an action (almost never what you want). 231# action (almost never what you want).
232my $student = 0;
239my $ta = 5; 233my $ta = 5;
240my $professor = 10; 234my $professor = 10;
241%permissionLevels = ( 235%permissionLevels = (
242 "become_student" => 10, 236 report_bugs => $student,
237 view_multiple_sets => $ta,
238 view_unopened_sets => $ta,
239 view_unpublished_sets => $ta,
240 view_answers => $ta,
241 become_student => $professor,
243 "access_instructor_tools" => $ta, 242 access_instructor_tools => $ta,
244 "create_and_delete_problem_sets" => $professor, 243 create_and_delete_problem_sets => $professor,
245 "modify_problem_sets" => $professor, 244 modify_problem_sets => $professor,
246 "assign_problem_sets" => $professor, 245 assign_problem_sets => $professor,
246 modify_student_data => $professor,
247 score_sets => $professor,
248 send_mail => $professor,
249 modify_classlist_files => $professor,
250 modify_set_def_files => $professor,
251 modify_scoring_files => $professor,
252 create_and_delete_courses => $professor,
253 fix_course_databases => $professor,
247); 254);
255
256################################################################################
257# Session options
258################################################################################
248 259
249# $sessionKeyTimeout defines seconds of inactivity before a key expires 260# $sessionKeyTimeout defines seconds of inactivity before a key expires
250$sessionKeyTimeout = 60*30; 261$sessionKeyTimeout = 60*30;
251 262
252# $sessionKeyLength defines the length (in characters) of the session key 263# $sessionKeyLength defines the length (in characters) of the session key
268################################################################################ 279################################################################################
269# PG translation options 280# PG translation options
270################################################################################ 281################################################################################
271 282
272%pg = ( 283%pg = (
284 # available display modes
285 displayModes => [ qw(plainText formattedText images jsMath asciimath) ],
286 # pg options
273 options => { 287 options => {
274 # default translation options 288 # default translation options
275 displayMode => "images", 289 displayMode => "images",
276 showOldAnswers => 1, 290 showOldAnswers => 1,
277 showCorrectAnswers => 0, 291 showCorrectAnswers => 0,
278 showHints => 0, 292 showHints => 0,
279 showSolutions => 0, 293 showSolutions => 0,
280 catchWarnings => 1, 294 catchWarnings => 0, # there's a global warning catcher now
281 # default grader 295 # default grader
282 grader => "avg_problem_grader", 296 grader => "avg_problem_grader",
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 # To create the database in mysql, as root use:
312
313 # create database DvipngDepths;
314 # use DvipngDepths;
315 # create table depths ( md5 char(33) not null, depth smallint, PRIMARY KEY (md5)) ;
316 # grant ALL on DvipngDepths.* to webworkWrite;
317
318 # In the last statement, "webworkWrite" should match the
319 # user below
320
321 dvipng_depth_db => {
322 dbsource => 'dbi:mysql:DvipngDepths',
323 user => $dbLayouts{sql}->{password}->{params}->{usernameRW},
324 passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW},
325 }
326 },
327 # currently selected renderer
328 renderer => "WeBWorK::PG::Local",
329 #renderer => "WeBWorK::PG::Remote",
330 # directories used by PG
331 directories => {
332 # directories used only by PG
333 root => "$pgRoot",
334 lib => "$pgRoot/lib",
335 macros => "$pgRoot/macros",
336 },
337 # this can be customized in the course.conf file
338 specialPGEnvironmentVars => {
339 PRINT_FILE_NAMES_FOR => [ qw(professor) ],
340 CAPA_Tools => "$courseDirs{macros}/CAPA_Tools/",
341 CAPA_MCTools => "$courseDirs{macros}/CAPA_MCTools/",
342 CAPA_Graphics_URL => "$courseURLs{html}/CAPA_Graphics/",
343 CAPA_GraphicsDirectory => "$courseDirs{html}/CAPA_Graphics/",
344 onTheFlyImageSize => 400,
283 }, 345 },
284 # modules lists module names and the packages each contains 346 # modules lists module names and the packages each contains
285 modules => [ 347 modules => [
286 [qw(DynaLoader)], 348 [qw(DynaLoader)],
287 [qw(Exporter)], 349 [qw(Exporter)],
323 numAbsTolDefault => .001, 385 numAbsTolDefault => .001,
324 numFormatDefault => "", 386 numFormatDefault => "",
325 numRelPercentTolDefault => .1, 387 numRelPercentTolDefault => .1,
326 numZeroLevelDefault => 1E-14, 388 numZeroLevelDefault => 1E-14,
327 numZeroLevelTolDefault => 1E-12, 389 numZeroLevelTolDefault => 1E-12,
390 useBaseTenLog => 0,
391 defaultDisplayMatrixStyle => "[s]",
328 }, 392 },
329); 393);

Legend:
Removed from v.1089  
changed lines
  Added in v.2417

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9