[system] / trunk / webwork2 / conf / global.conf.dist Repository:
ViewVC logotype

Annotation of /trunk/webwork2/conf/global.conf.dist

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1099 - (view) (download)

1 : sh002i 654 #!perl
2 :     ################################################################################
3 :     # WeBWorK mod_perl (c) 1995-2002 WeBWorK Team, Univeristy of Rochester
4 : gage 1099 # $Id: global.conf.dist,v 1.25 2003-06-09 23:41:43 gage Exp $
5 : sh002i 654 ################################################################################
6 :    
7 :     # 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.
9 :     # 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,
11 :     # use the "my" keyword. The following variables are available to this file:
12 :     #
13 :     # $webworkRoot directory that contains the WeBWorK distribution
14 : sh002i 695 # $webworkURL base URL handled by Apache::WeBWorK
15 : sh002i 1051 # $pgRoot directory that contains the PG distribution
16 : sh002i 654 # $courseName name of the course being used
17 :    
18 :     ################################################################################
19 : sh002i 663 # WeBWorK settings
20 :     ################################################################################
21 : sh002i 654
22 :     %webworkDirs = (
23 :     root => "$webworkRoot",
24 :     bin => "$webworkRoot/bin",
25 :     conf => "$webworkRoot/conf",
26 : sh002i 655 courses => "$webworkRoot/courses",
27 : gage 1089 lib => "$pgRoot/lib",
28 : sh002i 654 logs => "$webworkRoot/logs",
29 : sh002i 1051 macros => "$pgRoot/macros",
30 : sh002i 654 tmp => "$webworkRoot/tmp",
31 :     );
32 :    
33 :     %webworkFiles = (
34 : gage 1021 environment => "$webworkDirs{conf}/global.conf",
35 :     hardcopySnippets => {
36 : sh002i 654 preamble => "$webworkDirs{conf}/hardcopyPreamble.tex",
37 :     setHeader => "$webworkDirs{conf}/hardcopySetHeader.pg",
38 :     problemDivider => "$webworkDirs{conf}/hardcopyProblemDivider.tex",
39 :     setFooter => "$webworkDirs{conf}/hardcopySetFooter.pg",
40 :     setDivider => "$webworkDirs{conf}/hardcopySetDivider.tex",
41 :     postamble => "$webworkDirs{conf}/hardcopyPostamble.tex",
42 :     },
43 :     screenSnippets => {
44 :     setHeader => "$webworkDirs{conf}/screenSetHeader.pg",
45 :     },
46 :     logs => {
47 : gage 1021 timing => "$webworkDirs{logs}/timing.log",
48 : sh002i 654 },
49 :     );
50 :    
51 :     %webworkURLs = (
52 : malsyned 670 root => "$webworkURLRoot",
53 : gage 1021 home => "/webwork2_files/index.html",
54 :     htdocs => "/webwork2_files",
55 : malsyned 670 docs => "http://webhost.math.rochester.edu/webworkdocs/docs",
56 :     oldProf => "/webwork-old/profLogin.pl",
57 : sh002i 654 );
58 :    
59 : sh002i 663 ################################################################################
60 :     # Default course-specific settings
61 :     ################################################################################
62 :    
63 :     my $courseRoot = "$webworkDirs{courses}/$courseName";
64 :     %courseDirs = (
65 :     root => "$courseRoot",
66 :     DATA => "$courseRoot/DATA",
67 :     auth_DATA => "$courseRoot/DATA/.auth",
68 :     html => "$courseRoot/html",
69 :     html_images => "$courseRoot/html/images",
70 :     html_temp => "$courseRoot/html/tmp",
71 :     logs => "$courseRoot/logs",
72 :     scoring => "$courseRoot/scoring",
73 :     templates => "$courseRoot/templates",
74 :     macros => "$courseRoot/templates/macros",
75 :     );
76 :    
77 :     %courseFiles = (
78 :     environment => "$courseDirs{root}/course.conf",
79 : sh002i 701 motd => "$courseDirs{root}/motd.txt",
80 : sh002i 663 );
81 :    
82 : sh002i 705 # quick hack to fix transaction logging. blah.
83 : sh002i 1032 $webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log";
84 :     $webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log";
85 : sh002i 705
86 : sh002i 663 my $courseURLRoot = "$webworkURLs{htdocs}/courses/$courseName";
87 : sh002i 654 %courseURLs = (
88 : sh002i 699 root => "$courseURLRoot",
89 : sh002i 654 html => "$courseURLRoot",
90 :     html_temp => "$courseURLRoot/tmp",
91 :     );
92 :    
93 :     ################################################################################
94 : sh002i 663 # Other site-specific options
95 :     ################################################################################
96 : sh002i 654
97 : sh002i 663 %mail = (
98 :     smtpServer => "mail.math.rochester.edu",
99 :     smtpSender => "webwork\@math.rochester.edu",
100 : sh002i 705 # allowedRecipients defines addresses that the PG system is allowed to
101 :     # 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
103 :     # 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).
105 : sh002i 706 #allowedRecipients => [
106 :     # "yourname\@host.yourdomain.edu",
107 :     #],
108 : sh002i 705 # if defined, feedbackRecipients overrides the list of recipients for
109 :     # 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,
111 :     # mail is sent to all professors and TAs for a given course
112 :     #feedbackRecipients => [
113 :     # "prof1\@host.yourdomain.edu",
114 :     # "prof2\@host.yourdomain.edu",
115 :     #],
116 : sh002i 740 # feedbackVerbosity:
117 :     # 0: send only the feedback comment and context link
118 :     # 1: as in 0, plus user, set, problem, and PG data
119 :     # 2: as in 1, plus the problem environment (debugging data)
120 :     feedbackVerbosity => 1,
121 : sh002i 654 );
122 :    
123 : gage 1099
124 :    
125 : sh002i 663 %externalPrograms = (
126 : sh002i 737 mkdir => "/bin/mkdir",
127 : sh002i 663 tth => "/usr/local/bin/tth",
128 :     pdflatex => "/usr/local/bin/pdflatex",
129 :     latex => "/usr/local/bin/latex",
130 :     dvipng => "/usr/local/bin/dvipng -mode ljfivemp -D600 -Q6 -x1000.5 -bgTransparent",
131 :     gif2eps => "$webworkDirs{bin}/gif2eps",
132 :     png2eps => "$webworkDirs{bin}/png2eps",
133 :     gif2png => "$webworkDirs{bin}/gif2png",
134 :     );
135 :    
136 :     ################################################################################
137 :     # Frontend options
138 :     ################################################################################
139 :    
140 : sh002i 654 %templates = (
141 :     system => "$webworkDirs{conf}/barebones.template",
142 :     );
143 :    
144 : sh002i 663 ################################################################################
145 :     # Database and session
146 :     ################################################################################
147 : gage 1021
148 : sh002i 768 # dbInfo records some data for the "old" WW/Classlist/Auth.pm database system
149 :     # {auth,wwdb,cldb}_type = database type: GDBM currently implemented
150 :     # {auth_passwd,auth_perm,auth_keys,wwdb,cldb}_file = path to database file
151 : sh002i 663 %dbInfo = (
152 :     auth_type => "GDBM",
153 :     auth_passwd_file => "$courseDirs{auth_DATA}/$courseName\_password_DB",
154 :     auth_perm_file => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
155 :     auth_keys_file => "$courseDirs{auth_DATA}/keys",
156 :     wwdb_type => "GDBM",
157 :     wwdb_file => "$courseDirs{DATA}/$courseName\_webwork_DB",
158 :     cldb_type => "GDBM",
159 :     cldb_file => "$courseDirs{DATA}/$courseName\_classlist_DB",
160 :     psvn_digits => 5,
161 :     );
162 :    
163 : sh002i 768 # dbLayout records the schema and source for each table in the "new" DB.pm
164 :     # database system. consult DB.pm for the authoritative list of tables.
165 :     # schema = perl module to use for access to the table
166 :     # driver = perl module to use for access to the data source
167 :     # source = location of data source (i.e. path, url, DBI spec)
168 : sh002i 808 # params = extra information needed by the schema (optional)
169 : sh002i 768 # note: schema and driver must have the same interface.
170 :     %dbLayout = (
171 :     password => {
172 : sh002i 798 record => "WeBWorK::DB::Record::Password",
173 :     schema => "WeBWorK::DB::Schema::Auth1Hash",
174 : sh002i 768 driver => "WeBWorK::DB::Driver::GDBM",
175 :     source => "$courseDirs{auth_DATA}/$courseName\_password_DB",
176 :     },
177 :     permission => {
178 : sh002i 798 record => "WeBWorK::DB::Record::PermissionLevel",
179 :     schema => "WeBWorK::DB::Schema::Auth1Hash",
180 : sh002i 768 driver => "WeBWorK::DB::Driver::GDBM",
181 : sh002i 798 source => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
182 : sh002i 768 },
183 : sh002i 774 key => {
184 : sh002i 798 record => "WeBWorK::DB::Record::Key",
185 :     schema => "WeBWorK::DB::Schema::Auth1Hash",
186 : sh002i 768 driver => "WeBWorK::DB::Driver::GDBM",
187 : sh002i 798 source => "$courseDirs{auth_DATA}/keys",
188 : sh002i 768 },
189 : sh002i 774 user => {
190 : sh002i 798 record => "WeBWorK::DB::Record::User",
191 :     schema => "WeBWorK::DB::Schema::Classlist1Hash",
192 : sh002i 774 driver => "WeBWorK::DB::Driver::GDBM",
193 : sh002i 798 source => "$courseDirs{DATA}/$courseName\_classlist_DB",
194 : sh002i 774 },
195 : sh002i 768 set => {
196 : sh002i 798 record => "WeBWorK::DB::Record::Set",
197 : gage 1021 schema => "WeBWorK::DB::Schema::GlobalTableEmulator",
198 : sh002i 808 driver => "WeBWorK::DB::Driver::Null",
199 :     source => undef,
200 : sh002i 768 },
201 :     set_user => {
202 : sh002i 798 record => "WeBWorK::DB::Record::UserSet",
203 : sh002i 768 schema => "WeBWorK::DB::Schema::WW1Hash",
204 :     driver => "WeBWorK::DB::Driver::GDBM",
205 : sh002i 798 source => "$courseDirs{DATA}/$courseName\_webwork_DB",
206 : sh002i 808 params => { psvnLength => 5 },
207 : sh002i 768 },
208 :     problem => {
209 : sh002i 798 record => "WeBWorK::DB::Record::Problem",
210 : gage 1021 schema => "WeBWorK::DB::Schema::GlobalTableEmulator",
211 : sh002i 808 driver => "WeBWorK::DB::Driver::Null",
212 :     source => undef,
213 : sh002i 768 },
214 :     problem_user => {
215 : sh002i 798 record => "WeBWorK::DB::Record::UserProblem",
216 : sh002i 768 schema => "WeBWorK::DB::Schema::WW1Hash",
217 :     driver => "WeBWorK::DB::Driver::GDBM",
218 : sh002i 798 source => "$courseDirs{DATA}/$courseName\_webwork_DB",
219 : sh002i 808 params => { psvnLength => 5 },
220 : sh002i 768 },
221 :     );
222 :    
223 : malsyned 1054 # If you are using the GlobalTableEmulator, you need these to be set to
224 :     # a user that will exist. Professors will probably want to override this
225 : gage 1089 # in their course's course.conf, using their own user name instead of "professor".
226 : gage 1099
227 : malsyned 1054 $dbLayout{set}->{params}->{globalUserID} = "professor";
228 :     $dbLayout{problem}->{params}->{globalUserID} = "professor";
229 :    
230 :    
231 : sh002i 654 # This lets you specify a minimum permission level needed to perform
232 :     # certain actions. In the current system, >=10 will allow a professor
233 :     # to perform the action, >=5 will allow a TA to, and >=0 will allow a
234 :     # student to perform an action (almost never what you want).
235 : gage 1021 my $ta = 5;
236 :     my $professor = 10;
237 : sh002i 654 %permissionLevels = (
238 :     "become_student" => 10,
239 : malsyned 1017 "access_instructor_tools" => $ta,
240 :     "create_and_delete_problem_sets" => $professor,
241 :     "modify_problem_sets" => $professor,
242 :     "assign_problem_sets" => $professor,
243 : sh002i 654 );
244 :    
245 : sh002i 768 # $sessionKeyTimeout defines seconds of inactivity before a key expires
246 :     $sessionKeyTimeout = 60*30;
247 :    
248 : sh002i 811 # $sessionKeyLength defines the length (in characters) of the session key
249 :     $sessionKeyLength = 40;
250 :    
251 :     # @sessionKeyChars lists the legal session key characters
252 :     @sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9', '.', '^', '/', '!', '*');
253 :    
254 : sh002i 768 # Practice users are users who's names start with $practiceUser
255 :     # (you can comment this out to remove practice user support)
256 :     $practiceUserPrefix = "practice";
257 :    
258 :     # There is a practice user who can be logged in multiple times. He's
259 :     # commented out by default, though, so you don't hurt yourself. It is
260 :     # kindof a backdoor to the practice user system, since he doesn't have a
261 :     # password. Come to think of it, why do we even have this?!
262 :     #$debugPracticeUser = "practice666";
263 :    
264 : sh002i 663 ################################################################################
265 :     # PG translation options
266 :     ################################################################################
267 : sh002i 654
268 :     %pg = (
269 :     options => {
270 : sh002i 663 # default translation options
271 : sh002i 654 displayMode => "images",
272 :     showOldAnswers => 1,
273 :     showCorrectAnswers => 0,
274 :     showHints => 0,
275 :     showSolutions => 0,
276 : sh002i 663 catchWarnings => 1,
277 : sh002i 654 # default grader
278 :     grader => "avg_problem_grader",
279 :     },
280 : gage 1099 # this will be customized in the course.conf file
281 :     specialPGEnvironmentVars => {
282 :     PRINT_FILE_NAMES_FOR => ['gage','apizer','voloshin','lr003k','professor'],
283 :     CAPA_Tools => "$courseDirs{macros}/CAPA_Tools/",
284 :     CAPA_MCTools => "$courseDirs{macros}/CAPA_MCTools/",
285 :     CAPA_Graphics_URL => "$courseDirs{html}/CAPA_Graphics/",
286 :     CAPA_GraphicsDirectory => "$courseDirs{html}CAPA_Graphics/",
287 :     },
288 : sh002i 654 # modules lists module names and the packages each contains
289 :     modules => [
290 :     [qw(DynaLoader)],
291 :     [qw(Exporter)],
292 :     [qw(GD)],
293 :    
294 :     [qw(AlgParser AlgParserWithImplicitExpand Expr ExprWithImplicitExpand)],
295 :     [qw(AnswerHash AnswerEvaluator)],
296 :     [qw(WWPlot)], # required by Circle (and others)
297 :     [qw(Circle)],
298 :     [qw(Complex)],
299 :     [qw(Complex1)],
300 :     [qw(Distributions)],
301 :     [qw(Fraction)],
302 :     [qw(Fun)],
303 :     [qw(Hermite)],
304 :     [qw(Label)],
305 :     [qw(List)],
306 :     [qw(Match)],
307 :     [qw(MatrixReal1)], # required by Matrix
308 :     [qw(Matrix)],
309 :     [qw(Multiple)],
310 :     [qw(PGrandom)],
311 :     [qw(Regression)],
312 :     [qw(Select)],
313 :     [qw(Units)],
314 :     [qw(VectorField)],
315 :     ],
316 :     # defaults used by answer evaluators
317 :     ansEvalDefaults => {
318 :     functAbsTolDefault => .001,
319 :     functLLimitDefault => .0000001,
320 :     functMaxConstantOfIntegration => 1E8,
321 :     functNumOfPoints => 3,
322 :     functRelPercentTolDefault => .1,
323 :     functULimitDefault => .9999999,
324 :     functVarDefault => "x",
325 :     functZeroLevelDefault => 1E-14,
326 :     functZeroLevelTolDefault => 1E-12,
327 :     numAbsTolDefault => .001,
328 :     numFormatDefault => "",
329 :     numRelPercentTolDefault => .1,
330 :     numZeroLevelDefault => 1E-14,
331 :     numZeroLevelTolDefault => 1E-12,
332 :     },
333 :     );

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9