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

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

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

Revision 1032 Revision 1822
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.21 2003-06-05 20:48:39 sh002i Exp $ 4# Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/
5# $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.51 2004/02/14 00:54:02 sh002i 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# $webworkURL base URL handled by Apache::WeBWorK
26# $pgRoot directory that contains the PG distribution
15# $courseName name of the course being used 27# $courseName name of the course being used
16 28
17################################################################################ 29################################################################################
18# WeBWorK settings 30# WeBWorK settings
19################################################################################ 31################################################################################
20 32
21%webworkDirs = ( 33%webworkDirs = (
22 root => "$webworkRoot", 34 root => "$webworkRoot",
35 DATA => "$webworkRoot/DATA",
36 uploadCache => "$webworkRoot/DATA/uploads",
23 bin => "$webworkRoot/bin", 37 bin => "$webworkRoot/bin",
24 conf => "$webworkRoot/conf", 38 conf => "$webworkRoot/conf",
25 courses => "$webworkRoot/courses", 39 courses => "$webworkRoot/courses",
40 htdocs => "$webworkRoot/htdocs",
41 htdocs_temp => "$webworkRoot/htdocs/tmp",
42 equationCache => "$webworkRoot/htdocs/tmp/equations",
26 lib => "$webworkRoot/lib", 43 lib => "$webworkRoot/lib",
27 logs => "$webworkRoot/logs", 44 logs => "$webworkRoot/logs",
28 macros => "$webworkRoot/macros", 45 macros => "$pgRoot/macros",
29 tmp => "$webworkRoot/tmp", 46 tmp => "$webworkRoot/tmp",
30); 47);
31 48
32%webworkFiles = ( 49%webworkFiles = (
33 environment => "$webworkDirs{conf}/global.conf", 50 environment => "$webworkDirs{conf}/global.conf",
34 hardcopySnippets => { 51 hardcopySnippets => {
35 preamble => "$webworkDirs{conf}/hardcopyPreamble.tex", 52 preamble => "$webworkDirs{conf}/snippets/hardcopyPreamble.tex",
36 setHeader => "$webworkDirs{conf}/hardcopySetHeader.pg", 53 setHeader => "$webworkDirs{conf}/snippets/hardcopySetHeader.pg",
37 problemDivider => "$webworkDirs{conf}/hardcopyProblemDivider.tex", 54 problemDivider => "$webworkDirs{conf}/snippets/hardcopyProblemDivider.tex",
38 setFooter => "$webworkDirs{conf}/hardcopySetFooter.pg", 55 setFooter => "$webworkDirs{conf}/snippets/hardcopySetFooter.pg",
39 setDivider => "$webworkDirs{conf}/hardcopySetDivider.tex", 56 setDivider => "$webworkDirs{conf}/snippets/hardcopySetDivider.tex",
57 userDivider => "$webworkDirs{conf}/snippets/hardcopyUserDivider.tex",
40 postamble => "$webworkDirs{conf}/hardcopyPostamble.tex", 58 postamble => "$webworkDirs{conf}/snippets/hardcopyPostamble.tex",
41 }, 59 },
42 screenSnippets => { 60 screenSnippets => {
43 setHeader => "$webworkDirs{conf}/screenSetHeader.pg", 61 setHeader => "$webworkDirs{conf}/snippets/setHeader.pg",
44 }, 62 },
45 logs => { 63 logs => {
46 timing => "$webworkDirs{logs}/timing.log", 64 timing => "$webworkDirs{logs}/timing.log",
47 }, 65 },
66 equationCacheDB => "$webworkDirs{DATA}/equationcache",
48); 67);
49 68
50%webworkURLs = ( 69%webworkURLs = (
51 root => "$webworkURLRoot", 70 root => "$webworkURLRoot",
52 home => "/webwork2_files/index.html", 71 home => "/webwork2_files/index.html",
53 htdocs => "/webwork2_files", 72 htdocs => "/webwork2_files",
73 htdocs_temp => "/webwork2_files/tmp",
74 equationCache => "/webwork2_files/tmp/equations",
54 docs => "http://webhost.math.rochester.edu/webworkdocs/docs", 75 docs => "http://webhost.math.rochester.edu/webworkdocs/docs",
55 oldProf => "/webwork-old/profLogin.pl", 76 oldProf => "/webwork1/profLogin.pl",
56); 77);
57 78
58################################################################################ 79################################################################################
59# Default course-specific settings 80# Default course-specific settings
60################################################################################ 81################################################################################
69 html_temp => "$courseRoot/html/tmp", 90 html_temp => "$courseRoot/html/tmp",
70 logs => "$courseRoot/logs", 91 logs => "$courseRoot/logs",
71 scoring => "$courseRoot/scoring", 92 scoring => "$courseRoot/scoring",
72 templates => "$courseRoot/templates", 93 templates => "$courseRoot/templates",
73 macros => "$courseRoot/templates/macros", 94 macros => "$courseRoot/templates/macros",
95 email => "$courseRoot/templates/email",
74); 96);
75 97
76%courseFiles = ( 98%courseFiles = (
77 environment => "$courseDirs{root}/course.conf", 99 environment => "$courseDirs{root}/course.conf",
78 motd => "$courseDirs{root}/motd.txt", 100 motd => "$courseDirs{templates}/motd.txt",
101 logs => {
102 answer_log => "$courseDirs{logs}/answer_log",
103 },
104 course_info => "course_info.txt", # path relative to templates directory
105 login_info => "login_info.txt", # path relative to templates directory
79); 106);
80 107
81# quick hack to fix transaction logging. blah. 108# quick hack to fix transaction logging. blah.
82$webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log"; 109$webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log";
83$webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log"; 110$webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log";
84 111
85my $courseURLRoot = "$webworkURLs{htdocs}/courses/$courseName"; 112my $courseURLRoot = "/webwork2_courses/$courseName";
86%courseURLs = ( 113%courseURLs = (
87 root => "$courseURLRoot", 114 root => "$courseURLRoot",
88 html => "$courseURLRoot", 115 html => "$courseURLRoot",
89 html_temp => "$courseURLRoot/tmp", 116 html_temp => "$courseURLRoot/tmp",
90); 117);
94################################################################################ 121################################################################################
95 122
96%mail = ( 123%mail = (
97 smtpServer => "mail.math.rochester.edu", 124 smtpServer => "mail.math.rochester.edu",
98 smtpSender => "webwork\@math.rochester.edu", 125 smtpSender => "webwork\@math.rochester.edu",
126
99 # allowedRecipients defines addresses that the PG system is allowed to 127 # allowedRecipients defines addresses that the PG system is allowed to
100 # send mail to. this prevents subtle PG exploits. This should be set 128 # send mail to. this prevents subtle PG exploits. This should be set
101 # in course.conf to the addresses of professors of each course. Sending 129 # in course.conf to the addresses of professors of each course. Sending
102 # mail from the PG system (i.e. questionaires, essay questions) will 130 # mail from the PG system (i.e. questionaires, essay questions) will
103 # fail if this is not set somewhere (either here or in course.conf). 131 # fail if this is not set somewhere (either here or in course.conf).
104 #allowedRecipients => [ 132 #allowedRecipients => [
105 # "yourname\@host.yourdomain.edu", 133 # 'prof1@host.yourdomain.edu',
134 # 'prof2@host.yourdomain.edu',
106 #], 135 #],
136
107 # if defined, feedbackRecipients overrides the list of recipients for 137 # if defined, feedbackRecipients overrides the list of recipients for
108 # feedback email. It's appropriate to set this in the course.conf for 138 # feedback email. It's appropriate to set this in the course.conf for
109 # specific courses, but probably not in global.conf. if not defined, 139 # specific courses, but probably not in global.conf. if not defined,
110 # mail is sent to all professors and TAs for a given course 140 # mail is sent to all professors and TAs for a given course
111 #feedbackRecipients => [ 141 #feedbackRecipients => [
112 # "prof1\@host.yourdomain.edu", 142 # 'prof1@host.yourdomain.edu',
113 # "prof2\@host.yourdomain.edu", 143 # 'prof2@host.yourdomain.edu',
114 #], 144 #],
145
115 # feedbackVerbosity: 146 # feedbackVerbosity:
116 # 0: send only the feedback comment and context link 147 # 0: send only the feedback comment and context link
117 # 1: as in 0, plus user, set, problem, and PG data 148 # 1: as in 0, plus user, set, problem, and PG data
118 # 2: as in 1, plus the problem environment (debugging data) 149 # 2: as in 1, plus the problem environment (debugging data)
119 feedbackVerbosity => 1, 150 feedbackVerbosity => 1,
151
152 # defines the size of the Mail Merge editor window
153 # FIXME: should this be here? it's UI, not mail
154 # FIXME: replace this with the auto-size method that TWiki uses
155 editor_window_rows => 15,
156 editor_window_columns => 100,
120); 157);
121 158
122%externalPrograms = ( 159%externalPrograms = (
123 mkdir => "/bin/mkdir", 160 mkdir => "/bin/mkdir",
124 tth => "/usr/local/bin/tth", 161 tth => "/usr/local/bin/tth",
125 pdflatex => "/usr/local/bin/pdflatex", 162 pdflatex => "/usr/local/bin/pdflatex",
126 latex => "/usr/local/bin/latex", 163 latex => "/usr/local/bin/latex",
127 dvipng => "/usr/local/bin/dvipng -mode ljfivemp -D600 -Q6 -x1000.5 -bgTransparent", 164 dvipng => "/usr/local/bin/dvipng",
128 gif2eps => "$webworkDirs{bin}/gif2eps", 165 gif2eps => "$webworkDirs{bin}/gif2eps",
129 png2eps => "$webworkDirs{bin}/png2eps", 166 png2eps => "$webworkDirs{bin}/png2eps",
130 gif2png => "$webworkDirs{bin}/gif2png", 167 gif2png => "$webworkDirs{bin}/gif2png",
131); 168);
132 169
133################################################################################ 170################################################################################
134# Frontend options 171# Frontend options
135################################################################################ 172################################################################################
136 173
137%templates = ( 174%templates = (
138 system => "$webworkDirs{conf}/barebones.template", 175 system => "$webworkDirs{conf}/templates/ur.template",
139); 176);
140 177
141################################################################################ 178################################################################################
142# Database and session 179# Database options
143################################################################################ 180################################################################################
144# temporary values needed for using both GDBM databases.
145# Use auser name for which all problems have been built, and none have
146# been specifically reassigned.
147#FIXME !!!! what hack!!!!!!
148 181
149 $dbLayout{set}->{params}->{globalUserID} = "practice1"; 182# Several database are defined in the file conf/database.conf and stored in the
150 $dbLayout{problem}->{params}->{globalUserID} = "practice1"; 183# hash %dbLayouts.
151 184include "conf/database.conf";
152# dbInfo records some data for the "old" WW/Classlist/Auth.pm database system
153# {auth,wwdb,cldb}_type = database type: GDBM currently implemented
154# {auth_passwd,auth_perm,auth_keys,wwdb,cldb}_file = path to database file
155%dbInfo = (
156 auth_type => "GDBM",
157 auth_passwd_file => "$courseDirs{auth_DATA}/$courseName\_password_DB",
158 auth_perm_file => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
159 auth_keys_file => "$courseDirs{auth_DATA}/keys",
160 wwdb_type => "GDBM",
161 wwdb_file => "$courseDirs{DATA}/$courseName\_webwork_DB",
162 cldb_type => "GDBM",
163 cldb_file => "$courseDirs{DATA}/$courseName\_classlist_DB",
164 psvn_digits => 5,
165);
166 185
167# dbLayout records the schema and source for each table in the "new" DB.pm 186# Select the default database layout. This can be overridden in the course.conf
168# database system. consult DB.pm for the authoritative list of tables. 187# file of a particular course.
169# schema = perl module to use for access to the table 188#$dbLayoutName = "sql";
170# driver = perl module to use for access to the data source 189$dbLayoutName = "gdbm";
171# source = location of data source (i.e. path, url, DBI spec)
172# params = extra information needed by the schema (optional)
173# note: schema and driver must have the same interface.
174%dbLayout = (
175 password => {
176 record => "WeBWorK::DB::Record::Password",
177 schema => "WeBWorK::DB::Schema::Auth1Hash",
178 driver => "WeBWorK::DB::Driver::GDBM",
179 source => "$courseDirs{auth_DATA}/$courseName\_password_DB",
180 },
181 permission => {
182 record => "WeBWorK::DB::Record::PermissionLevel",
183 schema => "WeBWorK::DB::Schema::Auth1Hash",
184 driver => "WeBWorK::DB::Driver::GDBM",
185 source => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
186 },
187 key => {
188 record => "WeBWorK::DB::Record::Key",
189 schema => "WeBWorK::DB::Schema::Auth1Hash",
190 driver => "WeBWorK::DB::Driver::GDBM",
191 source => "$courseDirs{auth_DATA}/keys",
192 },
193 user => {
194 record => "WeBWorK::DB::Record::User",
195 schema => "WeBWorK::DB::Schema::Classlist1Hash",
196 driver => "WeBWorK::DB::Driver::GDBM",
197 source => "$courseDirs{DATA}/$courseName\_classlist_DB",
198 },
199 set => {
200 record => "WeBWorK::DB::Record::Set",
201 schema => "WeBWorK::DB::Schema::GlobalTableEmulator",
202 driver => "WeBWorK::DB::Driver::Null",
203 source => undef,
204 },
205 set_user => {
206 record => "WeBWorK::DB::Record::UserSet",
207 schema => "WeBWorK::DB::Schema::WW1Hash",
208 driver => "WeBWorK::DB::Driver::GDBM",
209 source => "$courseDirs{DATA}/$courseName\_webwork_DB",
210 params => { psvnLength => 5 },
211 },
212 problem => {
213 record => "WeBWorK::DB::Record::Problem",
214 schema => "WeBWorK::DB::Schema::GlobalTableEmulator",
215 driver => "WeBWorK::DB::Driver::Null",
216 source => undef,
217 },
218 problem_user => {
219 record => "WeBWorK::DB::Record::UserProblem",
220 schema => "WeBWorK::DB::Schema::WW1Hash",
221 driver => "WeBWorK::DB::Driver::GDBM",
222 source => "$courseDirs{DATA}/$courseName\_webwork_DB",
223 params => { psvnLength => 5 },
224 },
225);
226 190
191*dbLayout = $dbLayouts{$dbLayoutName};
192
193################################################################################
194# Authorization system
195################################################################################
196
227# This lets you specify a minimum permission level needed to perform 197# This lets you specify a minimum permission level needed to perform certain
228# certain actions. In the current system, >=10 will allow a professor 198# actions. In the current system, >=10 will allow a professor to perform the
229# to perform the action, >=5 will allow a TA to, and >=0 will allow a 199# action, >=5 will allow a TA to, and >=0 will allow a student to perform an
230# student to perform an action (almost never what you want). 200# action (almost never what you want).
231my $ta = 5; 201my $ta = 5;
232my $professor = 10; 202my $professor = 10;
233%permissionLevels = ( 203%permissionLevels = (
234 "become_student" => 10, 204 become_student => $professor,
235 "access_instructor_tools" => $ta, 205 access_instructor_tools => $ta,
236 "create_and_delete_problem_sets" => $professor, 206 create_and_delete_problem_sets => $professor,
237 "modify_problem_sets" => $professor, 207 modify_problem_sets => $professor,
238 "assign_problem_sets" => $professor, 208 assign_problem_sets => $professor,
209 modify_student_data => $professor,
210 score_sets => $professor,
211 send_mail => $professor,
212 modify_classlist_files => $professor,
213 modify_set_def_files => $professor,
239); 214);
215
216################################################################################
217# Session options
218################################################################################
240 219
241# $sessionKeyTimeout defines seconds of inactivity before a key expires 220# $sessionKeyTimeout defines seconds of inactivity before a key expires
242$sessionKeyTimeout = 60*30; 221$sessionKeyTimeout = 60*30;
243 222
244# $sessionKeyLength defines the length (in characters) of the session key 223# $sessionKeyLength defines the length (in characters) of the session key
260################################################################################ 239################################################################################
261# PG translation options 240# PG translation options
262################################################################################ 241################################################################################
263 242
264%pg = ( 243%pg = (
244 # options for various renderers
245 renderers => {
246 "WeBWorK::PG::Remote" => {
247 proxy => "http://localhost:21000/RenderD"
248 }
249 },
250 # currently selected renderer
251 renderer => "WeBWorK::PG::Local",
252 #renderer => "WeBWorK::PG::Remote",
253 # directories used by PG
254 directories => {
255 # directories used only by PG
256 lib => "$pgRoot/lib",
257 macros => "$pgRoot/macros",
258 },
265 options => { 259 options => {
266 # default translation options 260 # default translation options
267 displayMode => "images", 261 displayMode => "images",
268 showOldAnswers => 1, 262 showOldAnswers => 1,
269 showCorrectAnswers => 0, 263 showCorrectAnswers => 0,
270 showHints => 0, 264 showHints => 0,
271 showSolutions => 0, 265 showSolutions => 0,
272 catchWarnings => 1, 266 catchWarnings => 0, # there's a global warning catcher now
273 # default grader 267 # default grader
274 grader => "avg_problem_grader", 268 grader => "avg_problem_grader",
269 },
270 # this will be customized in the course.conf file
271 specialPGEnvironmentVars => {
272 PRINT_FILE_NAMES_FOR => [ qw(professor) ],
273 CAPA_Tools => "$courseDirs{macros}/CAPA_Tools/",
274 CAPA_MCTools => "$courseDirs{macros}/CAPA_MCTools/",
275 CAPA_Graphics_URL => "$courseDirs{html}/CAPA_Graphics/",
276 CAPA_GraphicsDirectory => "$courseDirs{html}CAPA_Graphics/",
275 }, 277 },
276 # modules lists module names and the packages each contains 278 # modules lists module names and the packages each contains
277 modules => [ 279 modules => [
278 [qw(DynaLoader)], 280 [qw(DynaLoader)],
279 [qw(Exporter)], 281 [qw(Exporter)],

Legend:
Removed from v.1032  
changed lines
  Added in v.1822

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9