Parent Directory
|
Revision Log
Revision 2261 -
(view)
(download)
Original Path: trunk/webwork-modperl/conf/global.conf.dist
| 1 : | sh002i | 1801 | #!perl |
| 2 : | sh002i | 654 | ################################################################################ |
| 3 : | sh002i | 1663 | # WeBWorK Online Homework Delivery System |
| 4 : | # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/ | ||
| 5 : | gage | 2261 | # $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.71 2004/05/24 21:28:42 jj Exp $ |
| 6 : | sh002i | 1663 | # |
| 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. | ||
| 16 : | sh002i | 654 | ################################################################################ |
| 17 : | |||
| 18 : | # This file is used to set up the default WeBWorK course environment for all | ||
| 19 : | # requests. Values may be overwritten by the course.conf for a specific course. | ||
| 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, | ||
| 22 : | # use the "my" keyword. The following variables are available to this file: | ||
| 23 : | # | ||
| 24 : | # $webworkRoot directory that contains the WeBWorK distribution | ||
| 25 : | sh002i | 695 | # $webworkURL base URL handled by Apache::WeBWorK |
| 26 : | sh002i | 1051 | # $pgRoot directory that contains the PG distribution |
| 27 : | sh002i | 654 | # $courseName name of the course being used |
| 28 : | |||
| 29 : | ################################################################################ | ||
| 30 : | sh002i | 663 | # WeBWorK settings |
| 31 : | ################################################################################ | ||
| 32 : | sh002i | 654 | |
| 33 : | %webworkDirs = ( | ||
| 34 : | sh002i | 1519 | root => "$webworkRoot", |
| 35 : | DATA => "$webworkRoot/DATA", | ||
| 36 : | sh002i | 1617 | uploadCache => "$webworkRoot/DATA/uploads", |
| 37 : | sh002i | 1519 | bin => "$webworkRoot/bin", |
| 38 : | conf => "$webworkRoot/conf", | ||
| 39 : | courses => "$webworkRoot/courses", | ||
| 40 : | htdocs => "$webworkRoot/htdocs", | ||
| 41 : | htdocs_temp => "$webworkRoot/htdocs/tmp", | ||
| 42 : | equationCache => "$webworkRoot/htdocs/tmp/equations", | ||
| 43 : | gage | 2261 | local_help => "$webworkRoot/htdocs/helpFiles", |
| 44 : | sh002i | 1519 | lib => "$webworkRoot/lib", |
| 45 : | logs => "$webworkRoot/logs", | ||
| 46 : | macros => "$pgRoot/macros", | ||
| 47 : | tmp => "$webworkRoot/tmp", | ||
| 48 : | sh002i | 654 | ); |
| 49 : | |||
| 50 : | %webworkFiles = ( | ||
| 51 : | gage | 1021 | environment => "$webworkDirs{conf}/global.conf", |
| 52 : | hardcopySnippets => { | ||
| 53 : | sh002i | 1100 | preamble => "$webworkDirs{conf}/snippets/hardcopyPreamble.tex", |
| 54 : | gage | 2182 | setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", # hardcopySetHeader.pg", |
| 55 : | sh002i | 1100 | problemDivider => "$webworkDirs{conf}/snippets/hardcopyProblemDivider.tex", |
| 56 : | setFooter => "$webworkDirs{conf}/snippets/hardcopySetFooter.pg", | ||
| 57 : | setDivider => "$webworkDirs{conf}/snippets/hardcopySetDivider.tex", | ||
| 58 : | gage | 1114 | userDivider => "$webworkDirs{conf}/snippets/hardcopyUserDivider.tex", |
| 59 : | sh002i | 1100 | postamble => "$webworkDirs{conf}/snippets/hardcopyPostamble.tex", |
| 60 : | sh002i | 654 | }, |
| 61 : | screenSnippets => { | ||
| 62 : | gage | 2182 | setHeader => "$webworkDirs{conf}/snippets/setHeader.pg", # screenSetHeader.pg", |
| 63 : | sh002i | 654 | }, |
| 64 : | logs => { | ||
| 65 : | gage | 1021 | timing => "$webworkDirs{logs}/timing.log", |
| 66 : | sh002i | 654 | }, |
| 67 : | sh002i | 1519 | equationCacheDB => "$webworkDirs{DATA}/equationcache", |
| 68 : | sh002i | 654 | ); |
| 69 : | |||
| 70 : | %webworkURLs = ( | ||
| 71 : | sh002i | 1519 | root => "$webworkURLRoot", |
| 72 : | home => "/webwork2_files/index.html", | ||
| 73 : | htdocs => "/webwork2_files", | ||
| 74 : | htdocs_temp => "/webwork2_files/tmp", | ||
| 75 : | equationCache => "/webwork2_files/tmp/equations", | ||
| 76 : | docs => "http://webhost.math.rochester.edu/webworkdocs/docs", | ||
| 77 : | jj | 2172 | local_help => "/webwork2_files/helpFiles", |
| 78 : | sh002i | 1801 | oldProf => "/webwork1/profLogin.pl", |
| 79 : | gage | 2174 | jsMath => "/webwork2_files/jsMath/jsMath.js", |
| 80 : | dpvc | 2200 | asciimath => "/webwork2_files/ASCIIMathML/ASCIIMathML.js", |
| 81 : | sh002i | 654 | ); |
| 82 : | |||
| 83 : | sh002i | 663 | ################################################################################ |
| 84 : | # Default course-specific settings | ||
| 85 : | ################################################################################ | ||
| 86 : | |||
| 87 : | my $courseRoot = "$webworkDirs{courses}/$courseName"; | ||
| 88 : | %courseDirs = ( | ||
| 89 : | root => "$courseRoot", | ||
| 90 : | DATA => "$courseRoot/DATA", | ||
| 91 : | auth_DATA => "$courseRoot/DATA/.auth", | ||
| 92 : | html => "$courseRoot/html", | ||
| 93 : | html_images => "$courseRoot/html/images", | ||
| 94 : | html_temp => "$courseRoot/html/tmp", | ||
| 95 : | logs => "$courseRoot/logs", | ||
| 96 : | scoring => "$courseRoot/scoring", | ||
| 97 : | templates => "$courseRoot/templates", | ||
| 98 : | macros => "$courseRoot/templates/macros", | ||
| 99 : | gage | 1380 | email => "$courseRoot/templates/email", |
| 100 : | sh002i | 663 | ); |
| 101 : | |||
| 102 : | %courseFiles = ( | ||
| 103 : | environment => "$courseDirs{root}/course.conf", | ||
| 104 : | gage | 1751 | motd => "$courseDirs{templates}/motd.txt", |
| 105 : | gage | 1387 | logs => { |
| 106 : | answer_log => "$courseDirs{logs}/answer_log", | ||
| 107 : | }, | ||
| 108 : | gage | 1793 | course_info => "course_info.txt", # path relative to templates directory |
| 109 : | login_info => "login_info.txt", # path relative to templates directory | ||
| 110 : | sh002i | 663 | ); |
| 111 : | |||
| 112 : | sh002i | 705 | # quick hack to fix transaction logging. blah. |
| 113 : | sh002i | 1032 | $webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log"; |
| 114 : | $webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log"; | ||
| 115 : | sh002i | 705 | |
| 116 : | sh002i | 2119 | my $courseURLRoot = "/webwork2_course_files/$courseName"; |
| 117 : | sh002i | 654 | %courseURLs = ( |
| 118 : | sh002i | 699 | root => "$courseURLRoot", |
| 119 : | sh002i | 654 | html => "$courseURLRoot", |
| 120 : | html_temp => "$courseURLRoot/tmp", | ||
| 121 : | ); | ||
| 122 : | |||
| 123 : | ################################################################################ | ||
| 124 : | sh002i | 663 | # Other site-specific options |
| 125 : | ################################################################################ | ||
| 126 : | sh002i | 654 | |
| 127 : | sh002i | 663 | %mail = ( |
| 128 : | gage | 1793 | smtpServer => "mail.math.rochester.edu", |
| 129 : | smtpSender => "webwork\@math.rochester.edu", | ||
| 130 : | sh002i | 1801 | |
| 131 : | sh002i | 705 | # allowedRecipients defines addresses that the PG system is allowed to |
| 132 : | # send mail to. this prevents subtle PG exploits. This should be set | ||
| 133 : | # in course.conf to the addresses of professors of each course. Sending | ||
| 134 : | # mail from the PG system (i.e. questionaires, essay questions) will | ||
| 135 : | # fail if this is not set somewhere (either here or in course.conf). | ||
| 136 : | sh002i | 706 | #allowedRecipients => [ |
| 137 : | sh002i | 1801 | # 'prof1@host.yourdomain.edu', |
| 138 : | # 'prof2@host.yourdomain.edu', | ||
| 139 : | sh002i | 706 | #], |
| 140 : | sh002i | 1801 | |
| 141 : | sh002i | 705 | # if defined, feedbackRecipients overrides the list of recipients for |
| 142 : | # feedback email. It's appropriate to set this in the course.conf for | ||
| 143 : | # specific courses, but probably not in global.conf. if not defined, | ||
| 144 : | # mail is sent to all professors and TAs for a given course | ||
| 145 : | #feedbackRecipients => [ | ||
| 146 : | sh002i | 1787 | # 'prof1@host.yourdomain.edu', |
| 147 : | # 'prof2@host.yourdomain.edu', | ||
| 148 : | sh002i | 705 | #], |
| 149 : | sh002i | 1801 | |
| 150 : | sh002i | 740 | # feedbackVerbosity: |
| 151 : | # 0: send only the feedback comment and context link | ||
| 152 : | # 1: as in 0, plus user, set, problem, and PG data | ||
| 153 : | # 2: as in 1, plus the problem environment (debugging data) | ||
| 154 : | sh002i | 1801 | feedbackVerbosity => 1, |
| 155 : | |||
| 156 : | # defines the size of the Mail Merge editor window | ||
| 157 : | # FIXME: should this be here? it's UI, not mail | ||
| 158 : | # FIXME: replace this with the auto-size method that TWiki uses | ||
| 159 : | editor_window_rows => 15, | ||
| 160 : | editor_window_columns => 100, | ||
| 161 : | sh002i | 654 | ); |
| 162 : | |||
| 163 : | sh002i | 663 | %externalPrograms = ( |
| 164 : | sh002i | 737 | mkdir => "/bin/mkdir", |
| 165 : | sh002i | 663 | tth => "/usr/local/bin/tth", |
| 166 : | pdflatex => "/usr/local/bin/pdflatex", | ||
| 167 : | latex => "/usr/local/bin/latex", | ||
| 168 : | sh002i | 1154 | dvipng => "/usr/local/bin/dvipng", |
| 169 : | sh002i | 663 | gif2eps => "$webworkDirs{bin}/gif2eps", |
| 170 : | png2eps => "$webworkDirs{bin}/png2eps", | ||
| 171 : | gif2png => "$webworkDirs{bin}/gif2png", | ||
| 172 : | sh002i | 1945 | mysql => "/usr/local/bin/mysql", |
| 173 : | sh002i | 663 | ); |
| 174 : | |||
| 175 : | toenail | 2111 | %siteDefaults = ( |
| 176 : | status => { | ||
| 177 : | audit => "Audit", | ||
| 178 : | A => "Audit", | ||
| 179 : | drop => "Drop", | ||
| 180 : | D => "Drop", | ||
| 181 : | withdraw => "Drop", | ||
| 182 : | current => "Enrolled", | ||
| 183 : | C => "Enrolled", | ||
| 184 : | enrolled => "Enrolled", | ||
| 185 : | }, | ||
| 186 : | ); | ||
| 187 : | |||
| 188 : | sh002i | 663 | ################################################################################ |
| 189 : | # Frontend options | ||
| 190 : | ################################################################################ | ||
| 191 : | |||
| 192 : | sh002i | 654 | %templates = ( |
| 193 : | sh002i | 1100 | system => "$webworkDirs{conf}/templates/ur.template", |
| 194 : | sh002i | 654 | ); |
| 195 : | |||
| 196 : | sh002i | 663 | ################################################################################ |
| 197 : | sh002i | 1108 | # Database options |
| 198 : | sh002i | 663 | ################################################################################ |
| 199 : | |||
| 200 : | sh002i | 1696 | # Several database are defined in the file conf/database.conf and stored in the |
| 201 : | # hash %dbLayouts. | ||
| 202 : | include "conf/database.conf"; | ||
| 203 : | sh002i | 768 | |
| 204 : | sh002i | 1696 | # Select the default database layout. This can be overridden in the course.conf |
| 205 : | # file of a particular course. | ||
| 206 : | sh002i | 1801 | #$dbLayoutName = "sql"; |
| 207 : | $dbLayoutName = "gdbm"; | ||
| 208 : | gage | 1099 | |
| 209 : | sh002i | 1801 | *dbLayout = $dbLayouts{$dbLayoutName}; |
| 210 : | |||
| 211 : | sh002i | 1108 | ################################################################################ |
| 212 : | sh002i | 2146 | # Problem library options |
| 213 : | ################################################################################ | ||
| 214 : | |||
| 215 : | %problemLibrary = ( | ||
| 216 : | root => "", # set to the top of the problem library, if its installed | ||
| 217 : | sourceSQL => "ProblemLibrary", | ||
| 218 : | userSQL => "webworkRead", | ||
| 219 : | passwordSQL => "", | ||
| 220 : | ); | ||
| 221 : | |||
| 222 : | ################################################################################ | ||
| 223 : | sh002i | 1108 | # Authorization system |
| 224 : | ################################################################################ | ||
| 225 : | |||
| 226 : | # This lets you specify a minimum permission level needed to perform certain | ||
| 227 : | # actions. In the current system, >=10 will allow a professor to perform the | ||
| 228 : | # action, >=5 will allow a TA to, and >=0 will allow a student to perform an | ||
| 229 : | # action (almost never what you want). | ||
| 230 : | gage | 1021 | my $ta = 5; |
| 231 : | my $professor = 10; | ||
| 232 : | sh002i | 654 | %permissionLevels = ( |
| 233 : | sh002i | 1108 | become_student => $professor, |
| 234 : | access_instructor_tools => $ta, | ||
| 235 : | create_and_delete_problem_sets => $professor, | ||
| 236 : | modify_problem_sets => $professor, | ||
| 237 : | assign_problem_sets => $professor, | ||
| 238 : | malsyned | 1210 | modify_student_data => $professor, |
| 239 : | malsyned | 1446 | score_sets => $professor, |
| 240 : | gage | 1380 | send_mail => $professor, |
| 241 : | sh002i | 1617 | modify_classlist_files => $professor, |
| 242 : | modify_set_def_files => $professor, | ||
| 243 : | sh002i | 2000 | modify_scoring_files => $professor, |
| 244 : | gage | 2027 | create_and_delete_courses => $professor, |
| 245 : | sh002i | 654 | ); |
| 246 : | |||
| 247 : | sh002i | 1108 | ################################################################################ |
| 248 : | # Session options | ||
| 249 : | ################################################################################ | ||
| 250 : | |||
| 251 : | sh002i | 768 | # $sessionKeyTimeout defines seconds of inactivity before a key expires |
| 252 : | $sessionKeyTimeout = 60*30; | ||
| 253 : | |||
| 254 : | sh002i | 811 | # $sessionKeyLength defines the length (in characters) of the session key |
| 255 : | $sessionKeyLength = 40; | ||
| 256 : | |||
| 257 : | # @sessionKeyChars lists the legal session key characters | ||
| 258 : | @sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9', '.', '^', '/', '!', '*'); | ||
| 259 : | |||
| 260 : | sh002i | 768 | # Practice users are users who's names start with $practiceUser |
| 261 : | # (you can comment this out to remove practice user support) | ||
| 262 : | $practiceUserPrefix = "practice"; | ||
| 263 : | |||
| 264 : | # There is a practice user who can be logged in multiple times. He's | ||
| 265 : | # commented out by default, though, so you don't hurt yourself. It is | ||
| 266 : | # kindof a backdoor to the practice user system, since he doesn't have a | ||
| 267 : | # password. Come to think of it, why do we even have this?! | ||
| 268 : | #$debugPracticeUser = "practice666"; | ||
| 269 : | |||
| 270 : | sh002i | 663 | ################################################################################ |
| 271 : | # PG translation options | ||
| 272 : | ################################################################################ | ||
| 273 : | sh002i | 654 | |
| 274 : | %pg = ( | ||
| 275 : | sh002i | 2192 | # available display modes |
| 276 : | dpvc | 2200 | displayModes => [ qw(plainText formattedText images jsMath asciimath) ], |
| 277 : | sh002i | 2192 | # pg options |
| 278 : | options => { | ||
| 279 : | # default translation options | ||
| 280 : | displayMode => "images", | ||
| 281 : | showOldAnswers => 1, | ||
| 282 : | showCorrectAnswers => 0, | ||
| 283 : | showHints => 0, | ||
| 284 : | showSolutions => 0, | ||
| 285 : | catchWarnings => 0, # there's a global warning catcher now | ||
| 286 : | # default grader | ||
| 287 : | grader => "avg_problem_grader", | ||
| 288 : | }, | ||
| 289 : | sh002i | 1240 | # options for various renderers |
| 290 : | renderers => { | ||
| 291 : | "WeBWorK::PG::Remote" => { | ||
| 292 : | sh002i | 1560 | proxy => "http://localhost:21000/RenderD" |
| 293 : | sh002i | 1240 | } |
| 294 : | }, | ||
| 295 : | # currently selected renderer | ||
| 296 : | sh002i | 1242 | renderer => "WeBWorK::PG::Local", |
| 297 : | sh002i | 1560 | #renderer => "WeBWorK::PG::Remote", |
| 298 : | sh002i | 1240 | # directories used by PG |
| 299 : | sh002i | 1108 | directories => { |
| 300 : | gage | 1380 | # directories used only by PG |
| 301 : | sh002i | 1957 | root => "$pgRoot", |
| 302 : | sh002i | 1108 | lib => "$pgRoot/lib", |
| 303 : | macros => "$pgRoot/macros", | ||
| 304 : | sh002i | 1240 | }, |
| 305 : | jj | 2216 | # this can be customized in the course.conf file |
| 306 : | gage | 1099 | specialPGEnvironmentVars => { |
| 307 : | sh002i | 1704 | PRINT_FILE_NAMES_FOR => [ qw(professor) ], |
| 308 : | sh002i | 1240 | CAPA_Tools => "$courseDirs{macros}/CAPA_Tools/", |
| 309 : | CAPA_MCTools => "$courseDirs{macros}/CAPA_MCTools/", | ||
| 310 : | sh002i | 1897 | CAPA_Graphics_URL => "$courseURLs{html}/CAPA_Graphics/", |
| 311 : | CAPA_GraphicsDirectory => "$courseDirs{html}/CAPA_Graphics/", | ||
| 312 : | jj | 2216 | onTheFlyImageSize => 400, |
| 313 : | malsyned | 1103 | }, |
| 314 : | sh002i | 654 | # modules lists module names and the packages each contains |
| 315 : | modules => [ | ||
| 316 : | [qw(DynaLoader)], | ||
| 317 : | [qw(Exporter)], | ||
| 318 : | [qw(GD)], | ||
| 319 : | |||
| 320 : | [qw(AlgParser AlgParserWithImplicitExpand Expr ExprWithImplicitExpand)], | ||
| 321 : | [qw(AnswerHash AnswerEvaluator)], | ||
| 322 : | [qw(WWPlot)], # required by Circle (and others) | ||
| 323 : | [qw(Circle)], | ||
| 324 : | [qw(Complex)], | ||
| 325 : | [qw(Complex1)], | ||
| 326 : | [qw(Distributions)], | ||
| 327 : | [qw(Fraction)], | ||
| 328 : | [qw(Fun)], | ||
| 329 : | [qw(Hermite)], | ||
| 330 : | [qw(Label)], | ||
| 331 : | [qw(List)], | ||
| 332 : | [qw(Match)], | ||
| 333 : | [qw(MatrixReal1)], # required by Matrix | ||
| 334 : | [qw(Matrix)], | ||
| 335 : | [qw(Multiple)], | ||
| 336 : | [qw(PGrandom)], | ||
| 337 : | [qw(Regression)], | ||
| 338 : | [qw(Select)], | ||
| 339 : | [qw(Units)], | ||
| 340 : | [qw(VectorField)], | ||
| 341 : | ], | ||
| 342 : | # defaults used by answer evaluators | ||
| 343 : | ansEvalDefaults => { | ||
| 344 : | functAbsTolDefault => .001, | ||
| 345 : | functLLimitDefault => .0000001, | ||
| 346 : | functMaxConstantOfIntegration => 1E8, | ||
| 347 : | functNumOfPoints => 3, | ||
| 348 : | functRelPercentTolDefault => .1, | ||
| 349 : | functULimitDefault => .9999999, | ||
| 350 : | functVarDefault => "x", | ||
| 351 : | functZeroLevelDefault => 1E-14, | ||
| 352 : | functZeroLevelTolDefault => 1E-12, | ||
| 353 : | numAbsTolDefault => .001, | ||
| 354 : | numFormatDefault => "", | ||
| 355 : | numRelPercentTolDefault => .1, | ||
| 356 : | numZeroLevelDefault => 1E-14, | ||
| 357 : | numZeroLevelTolDefault => 1E-12, | ||
| 358 : | jj | 1932 | useBaseTenLog => 0, |
| 359 : | jj | 1965 | defaultDisplayMatrixStyle => "[s]", |
| 360 : | sh002i | 654 | }, |
| 361 : | ); |
| aubreyja at gmail dot com | ViewVC Help |
| Powered by ViewVC 1.0.9 |