[system] / branches / rel-2-4-patches / webwork-modperl / conf / global.conf.dist Repository:
ViewVC logotype

Diff of /branches/rel-2-4-patches/webwork-modperl/conf/global.conf.dist

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

Revision 3580 Revision 4075
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-2006 The WeBWorK Project, http://openwebwork.sf.net/
5# $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.131 2005/08/25 18:17:14 jj Exp $ 5# $CVSHeader: webwork2/conf/global.conf.dist,v 1.166 2006/05/16 21:06:47 sh002i 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.
46 46
47################################################################################ 47################################################################################
48# Paths to external programs 48# Paths to external programs
49################################################################################ 49################################################################################
50 50
51# system utilties
51$externalPrograms{mkdir} = "/bin/mkdir"; 52$externalPrograms{mkdir} = "/bin/mkdir";
52$externalPrograms{mv} = "/bin/mv"; 53$externalPrograms{mv} = "/bin/mv";
53$externalPrograms{mysql} = "/usr/bin/mysql"; 54$externalPrograms{mysql} = "/usr/bin/mysql";
55$externalPrograms{tar} = "/usr/bin/tar";
54 56
57# equation rendering/hardcopy utiltiies
55$externalPrograms{latex} = "/usr/bin/latex"; 58$externalPrograms{latex} = "/usr/bin/latex";
56$externalPrograms{pdflatex} = "/usr/bin/pdflatex --shell-escape"; # allows pdflatex to handle .eps files 59$externalPrograms{pdflatex} = "/usr/bin/pdflatex --shell-escape"; # --shell-escape allows pdflatex to handle .eps files
57$externalPrograms{dvipng} = "/usr/bin/dvipng"; 60$externalPrograms{dvipng} = "/usr/bin/dvipng";
58$externalPrograms{tth} = "/usr/bin/tth"; 61$externalPrograms{tth} = "/usr/bin/tth";
59 62
60$externalPrograms{tar} = "/usr/bin/tar";
61
62# Basic image manipulation utilities 63# NetPBM - basic image manipulation utilities
63# Most sites only need to configure the first line 64# most sites only need to configure $netpbm_prefix.
64$externalPrograms{netpbm} = "/usr/bin/"; # Really a prefix, rather than a program 65my $netpbm_prefix = "/usr/bin";
65$externalPrograms{giftopnm} = $externalPrograms{netpbm}.'giftopnm'; 66$externalPrograms{giftopnm} = "$netpbm_prefix/giftopnm";
66$externalPrograms{ppmtopgm} = $externalPrograms{netpbm}.'ppmtopgm'; 67$externalPrograms{ppmtopgm} = "$netpbm_prefix/ppmtopgm";
67$externalPrograms{pnmtops} = $externalPrograms{netpbm}.'pnmtops'; 68$externalPrograms{pnmtops} = "$netpbm_prefix/pnmtops";
68$externalPrograms{pnmtopng} = $externalPrograms{netpbm}.'pnmtopng'; 69$externalPrograms{pnmtopng} = "$netpbm_prefix/pnmtopng";
69$externalPrograms{pngtopnm} = $externalPrograms{netpbm}.'pngtopnm'; 70$externalPrograms{pngtopnm} = "$netpbm_prefix/pngtopnm";
70 71
71# The following lines are the external scripts gif2eps, etc. 72# image conversions utiltiies
72# The source file is input with cat, and the output is redirected to 73# the source file is given on stdin, and the output expected on stdout.
73# the desired file. 74#
74 75# Note on conversions pipelines:
76# we used to use `pnmdepth 1' instead of ppmtopgm as it creates a
77# monochrome image (1 bit) rather than a greyscale image (8 bits).
78# However, this was causing improper display of some sort in PDFs.
75$externalPrograms{gif2eps} = "$externalPrograms{giftopnm} | $externalPrograms{ppmtopgm}| $externalPrograms{pnmtops} -noturn 2>/dev/null"; 79$externalPrograms{gif2eps} = "$externalPrograms{giftopnm} | $externalPrograms{ppmtopgm} | $externalPrograms{pnmtops} -noturn 2>/dev/null";
76$externalPrograms{png2eps} = "$externalPrograms{pngtopnm} | $externalPrograms{ppmtopgm} | $externalPrograms{pnmtops} -noturn 2>/dev/null"; 80$externalPrograms{png2eps} = "$externalPrograms{pngtopnm} | $externalPrograms{ppmtopgm} | $externalPrograms{pnmtops} -noturn 2>/dev/null";
77$externalPrograms{gif2png} = "$externalPrograms{giftopnm} | $externalPrograms{pnmtopng}"; 81$externalPrograms{gif2png} = "$externalPrograms{giftopnm} | $externalPrograms{pnmtopng}";
78
79# Note on these conversions:
80# we used to use `pnmdepth 1' instead of ppmtopgm as it creates a
81# monochrome image (1 bit) rather than a greyscale image (8 bits).
82# However, this was causing improper display of some sort in PDFs.
83
84 82
85################################################################################ 83################################################################################
86# Mail settings 84# Mail settings
87################################################################################ 85################################################################################
88 86
93# When connecting to the above server, WeBWorK will send this address in the 91# When connecting to the above server, WeBWorK will send this address in the
94# MAIL FROM command. This has nothing to do with the "From" address on the mail 92# MAIL FROM command. This has nothing to do with the "From" address on the mail
95# message. It can really be anything, but some mail servers require it contain 93# message. It can really be anything, but some mail servers require it contain
96# a valid mail domain, or at least be well-formed. 94# a valid mail domain, or at least be well-formed.
97$mail{smtpSender} = 'webwork@yourserver.yourschool.edu'; 95$mail{smtpSender} = 'webwork@yourserver.yourschool.edu';
98 96
99# AllowedRecipients defines addresses that the PG system is allowed to send mail 97# AllowedRecipients defines addresses that the PG system is allowed to send mail
100# to. this prevents subtle PG exploits. This should be set in course.conf to the 98# to. this prevents subtle PG exploits. This should be set in course.conf to the
101# addresses of professors of each course. Sending mail from the PG system (i.e. 99# addresses of professors of each course. Sending mail from the PG system (i.e.
102# questionaires, essay questions) will fail if this is not set somewhere (either 100# questionaires, essay questions) will fail if this is not set somewhere (either
103# here or in course.conf). 101# here or in course.conf).
104$mail{allowedRecipients} = [ 102$mail{allowedRecipients} = [
105 #'prof1@yourserver.yourdomain.edu', 103 #'prof1@yourserver.yourdomain.edu',
106 #'prof2@yourserver.yourdomain.edu', 104 #'prof2@yourserver.yourdomain.edu',
107]; 105];
108 106
109# If defined, feedbackRecipients overrides the list of recipients for feedback 107# By default, feeback is sent to all users who have permission to
110# email. It's appropriate to set this in the course.conf for specific courses, 108# receive_feedback. If this list is non-empty, feedback is also sent to the
111# but probably not in global.conf. if not defined, mail is sent to all 109# addresses specified here.
112# professors and TAs for a given course 110#
111# * If you want to disable feedback altogether, leave this empty and set
112# submit_feeback => $nobody in %permissionLevels below. This will cause the
113# feedback button to go away as well.
114#
115# * If you want to send email ONLY to addresses in this list, set
116# receive_feedback => $nobody in %permissionLevels below.
117#
118# It's often useful to set this in the course.conf to change the behavior of
119# feedback for a specific course.
120#
121# Items in this list may be bare addresses, or RFC822 mailboxes, like:
122# 'Joe User <joe.user@example.com>'
123# The advantage of this form is that the resulting email will include the name
124# of the recipient in the "To" field of the email.
125#
113#$mail{feedbackRecipients} = [ 126$mail{feedbackRecipients} = [
114# 'prof1@yourserver.yourdomain.edu', 127 #'prof1@yourserver.yourdomain.edu',
115# 'prof2@yourserver.yourdomain.edu', 128 #'prof2@yourserver.yourdomain.edu',
116#]; 129];
117 130
131# Feedback subject line -- the following escape sequences are recognized:
132#
133# %c = course ID
134# %u = user ID
135# %s = set ID
136# %p = problem ID
137# %x = section
138# %r = recitation
139# %% = literal percent sign
140#
141$mail{feedbackSubjectFormat} = "[WWfeedback] course:%c user:%u set:%s prob:%p sec:%x rec:%r";
142
118# feedbackVerbosity: 143# feedbackVerbosity:
119# 0: send only the feedback comment and context link 144# 0: send only the feedback comment and context link
120# 1: as in 0, plus user, set, problem, and PG data 145# 1: as in 0, plus user, set, problem, and PG data
121# 2: as in 1, plus the problem environment (debugging data) 146# 2: as in 1, plus the problem environment (debugging data)
122$mail{feedbackVerbosity} = 1; 147$mail{feedbackVerbosity} = 1;
123 148
124# Defines the size of the Mail Merge editor window 149# Defines the size of the Mail Merge editor window
125# FIXME: should this be here? it's UI, not mail 150# FIXME: should this be here? it's UI, not mail
126# FIXME: replace this with the auto-size method that TWiki uses 151# FIXME: replace this with the auto-size method that TWiki uses
127$mail{editor_window_rows} = 15; 152$mail{editor_window_rows} = 15;
128$mail{editor_window_columns} = 100; 153$mail{editor_window_columns} = 100;
144$webworkDirs{bin} = "$webworkDirs{root}/bin"; 169$webworkDirs{bin} = "$webworkDirs{root}/bin";
145 170
146# Location of configuration files, templates, snippets, etc. 171# Location of configuration files, templates, snippets, etc.
147$webworkDirs{conf} = "$webworkDirs{root}/conf"; 172$webworkDirs{conf} = "$webworkDirs{root}/conf";
148 173
174# Location of theme templates.
175$webworkDirs{templates} = "$webworkDirs{conf}/templates";
176
149# Location of course directories. 177# Location of course directories.
150$webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses"; 178$webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses";
151 179
152# Contains log files. 180# Contains log files.
153$webworkDirs{logs} = "$webworkDirs{root}/logs"; 181$webworkDirs{logs} = "$webworkDirs{root}/logs";
212$courseDirs{root} = "$webworkDirs{courses}/$courseName"; 240$courseDirs{root} = "$webworkDirs{courses}/$courseName";
213 241
214# Location of course-specific data files, such as WW1 (GDBM) database files. 242# Location of course-specific data files, such as WW1 (GDBM) database files.
215$courseDirs{DATA} = "$courseDirs{root}/DATA"; 243$courseDirs{DATA} = "$courseDirs{root}/DATA";
216 244
217# Location of authentication data files when using a WW1 (GDBM) database.
218$courseDirs{auth_DATA} = "$courseDirs{DATA}/.auth";
219
220# Location of course HTML files, passed to PG. 245# Location of course HTML files, passed to PG.
221$courseDirs{html} = "$courseDirs{root}/html"; 246$courseDirs{html} = "$courseDirs{root}/html";
222$courseURLs{html} = "$webwork_courses_url/$courseName"; 247$courseURLs{html} = "$webwork_courses_url/$courseName";
223 248
224# Location of course image files, passed to PG. 249# Location of course image files, passed to PG.
241# Location of course-specific macro files. 266# Location of course-specific macro files.
242$courseDirs{macros} = "$courseDirs{templates}/macros"; 267$courseDirs{macros} = "$courseDirs{templates}/macros";
243 268
244# Location of mail-merge templates. 269# Location of mail-merge templates.
245$courseDirs{email} = "$courseDirs{templates}/email"; 270$courseDirs{email} = "$courseDirs{templates}/email";
271
272# Location of temporary editing files.
273$courseDirs{tmpEditFileDir} = "$courseDirs{templates}/tmpEdit";
246 274
247################################################################################ 275################################################################################
248# System-wide files 276# System-wide files
249################################################################################ 277################################################################################
250 278
290# A PG template for creation of new problems. 318# A PG template for creation of new problems.
291$webworkFiles{screenSnippets}{blankProblem} = "$webworkDirs{conf}/snippets/blankProblem.pg"; # screenSetHeader.pg" 319$webworkFiles{screenSnippets}{blankProblem} = "$webworkDirs{conf}/snippets/blankProblem.pg"; # screenSetHeader.pg"
292 320
293# A site info "message of the day" file 321# A site info "message of the day" file
294$webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt"; 322$webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt";
323
295################################################################################ 324################################################################################
296# Course-specific files 325# Course-specific files
297################################################################################ 326################################################################################
298 327
299# The course configuration file. 328# The course configuration file.
300$courseFiles{environment} = "$courseDirs{root}/course.conf"; 329$courseFiles{environment} = "$courseDirs{root}/course.conf";
330
331# The course simple configuration file (holds web-based configuratoin).
332$courseFiles{simpleConfig} = "$courseDirs{root}/simple.conf";
301 333
302# File contents are displayed after login, on the problem sets page. Path given 334# File contents are displayed after login, on the problem sets page. Path given
303# here is relative to the templates directory. 335# here is relative to the templates directory.
304$courseFiles{course_info} = "course_info.txt"; 336$courseFiles{course_info} = "course_info.txt";
305 337
330# osuLibrary => "Ohio State", 362# osuLibrary => "Ohio State",
331# capaLibrary => "CAPA", 363# capaLibrary => "CAPA",
332}; 364};
333 365
334################################################################################ 366################################################################################
335# Database options (WWDBv3) 367# Database options
336################################################################################ 368################################################################################
337 369
338# The four arguments passed to the DBI::connect() method. See the DBI manual for 370# these variables are used by database.conf. we define them here so that editing
339# more information. 371# database.conf isn't necessary.
340$wwdbv3_settings{dsn} = "dbi:mysql:wwdbv3"; 372$database_dsn = "dbi:mysql:webwork";
341$wwdbv3_settings{user} = "wwdbv3"; 373$database_username = "webworkWrite";
342$wwdbv3_settings{pass} = "xyzzy"; 374$database_password = "";
343$wwdbv3_settings{attr} = {}; 375$database_debug = 0;
344 376
345# WWDBv3 needs a lock file to prevent concurrent database upgrades. The file 377# Variables for sql_moodle database layout.
346# will be locked with flock(). 378$moodle_dsn = "dbi:mysql:moodle";
347$wwdbv3_settings{upgrade_lock} = "$webworkDirs{tmp}/wwdbv3_upgrade.lock"; 379$moodle_dsn = "dbi:mysql:moodle_sam";
348 380$mooble_table_prefix = "mdl_";
349################################################################################ 381$moodle_username = $database_username;
350# Database options (WWDBv2) 382$moodle_password = $database_password;
351################################################################################
352 383
353# Several database are defined in the file conf/database.conf and stored in the 384# Several database are defined in the file conf/database.conf and stored in the
354# hash %dbLayouts. 385# hash %dbLayouts.
355include "conf/database.conf"; 386include "conf/database.conf";
356 387
357# Select the default database layout. This can be overridden in the course.conf 388# Select the default database layout. This can be overridden in the course.conf
358# file of a particular course. If you choose "gdbm", WeBWorK will be able to 389# file of a particular course. The only database layout supported in WW 2.1.4
359# use courses from WeBWorK 1 without first adding course.conf files to them. 390# and up is "sql_single".
360# However, the recommended database layout for new courses is "sql_single". This 391$dbLayoutName = "sql_single";
361# can be set when creating a course.
362$dbLayoutName = "sql_single"; # or "gdbm" or "sql"
363 392
364# This sets the symbol "dbLayout" as an alias for the selected database layout. 393# This sets the symbol "dbLayout" as an alias for the selected database layout.
365*dbLayout = $dbLayouts{$dbLayoutName}; 394*dbLayout = $dbLayouts{$dbLayoutName};
366 395
367################################################################################ 396################################################################################
409$courseFiles{logs}{answer_log} = "$courseDirs{logs}/answer_log"; 438$courseFiles{logs}{answer_log} = "$courseDirs{logs}/answer_log";
410 439
411# Log logins. 440# Log logins.
412$courseFiles{logs}{login_log} = "$courseDirs{logs}/login.log"; 441$courseFiles{logs}{login_log} = "$courseDirs{logs}/login.log";
413 442
443# Log for almost every click. By default it is the empty string, which
444# turns this log off. If you want it turned on, we suggest
445# "$courseDirs{logs}/activity.log"
446# When turned on, this log can get quite large.
447$courseFiles{logs}{activity_log} = '';
448
414################################################################################ 449################################################################################
415# Site defaults (FIXME: what other things could be "site defaults"?) 450# Site defaults (FIXME: what other things could be "site defaults"?)
416################################################################################ 451################################################################################
417
418# Status strings -- lists valid status values and their names. If your site uses
419# additional values, add them here.
420$siteDefaults{status} = {
421 A => "Audit",
422 a => "Audit",
423 audit => "Audit",
424 D => "Drop",
425 d => "Drop",
426 drop => "Drop",
427 withdraw => "Drop",
428 C => "Enrolled",
429 c => "Enrolled",
430 current => "Enrolled",
431 enrolled => "Enrolled",
432};
433 452
434# Set the default timezone of courses on this server. To get a list of valid 453# Set the default timezone of courses on this server. To get a list of valid
435# timezones, run: 454# timezones, run:
436# 455#
437# perl -MDateTime::TimeZone -e 'print join "\n", DateTime::TimeZone::all_names' 456# perl -MDateTime::TimeZone -e 'print join "\n", DateTime::TimeZone::all_names'
451# The contents of the templates directory are copied from this course 470# The contents of the templates directory are copied from this course
452# to the new course being created. 471# to the new course being created.
453$siteDefaults{default_templates_course} ="modelCourse"; 472$siteDefaults{default_templates_course} ="modelCourse";
454 473
455################################################################################ 474################################################################################
456# Frontend options 475# Theme
457################################################################################ 476################################################################################
458 477
459%templates = ( 478$defaultTheme = "math";
460 system => "$webworkDirs{conf}/templates/ur.template", 479$defaultThemeTemplate = "system";
461 gateway => "$webworkDirs{conf}/templates/gw.template", 480
481################################################################################
482# Authentication system
483################################################################################
484
485# FIXME This mechanism is a little awkward and probably should be merged with
486# the dblayout selection system somehow.
487
488# Select the authentication module to use for normal logins.
489#
490# If this value is a string, the given authentication module will be used
491# regardless of the database layout. If it is a hash, the database layout name
492# will be looked up in the hash and the resulting value will be used as the
493# authentication module. The special hash key "*" is used if no entry for the
494# current database layout is found.
495#
496$authen{user_module} = {
497 sql_moodle => "WeBWorK::Authen::Moodle",
498 "*" => "WeBWorK::Authen",
499};
500
501# Select the authentication module to use for proctor logins.
502#
503# A string or a hash is accepted, as above.
504#
505$authen{proctor_module} = "WeBWorK::Authen::Proctor";
506
507################################################################################
508# Authorization system
509################################################################################
510
511# this section lets you define which groups of users can perform which actions.
512
513# this hash maps a numeric permission level to the name of a role. the number
514# assigned to a role is significant -- roles with higher numbers are considered
515# "more privileged", and are included when that role is listed for a privilege
516# below.
517#
518%userRoles = (
519 guest => -5,
520 student => 0,
521 proctor => 2,
522 ta => 5,
523 professor => 10,
462); 524);
463 525
464################################################################################ 526# this hash maps operations to the roles that are allowed to perform those
465# Authorization system 527# operations. the role listed and any role with a higher permission level (in
466################################################################################ 528# the %userRoles hash) will be allowed to perform the operation. If the role
467 529# is undefined, no users will be allowed to perform the operation.
468# This lets you specify a minimum permission level needed to perform certain 530#
469# actions. For each pair in the hash below, in order to perform the action
470# described by the key, the user must have a permission level greater than or
471# equal to the value.
472
473my $guest = -1;
474my $student = 0;
475my $proctor = 2;
476my $ta = 5;
477my $professor = 10;
478my $nobody = undef;
479
480%permissionLevels = ( 531%permissionLevels = (
481 login => $guest, 532 login => "guest",
482 report_bugs => $student, 533 report_bugs => "student",
483 submit_feedback => $student, 534 submit_feedback => "student",
484 change_password => $student, 535 change_password => "student",
485 change_email_address => $student, 536 change_email_address => "student",
486 537
487 proctor_quiz => $proctor, 538 proctor_quiz => "proctor",
539 view_proctored_tests => "ta",
488 540
489 view_multiple_sets => $ta, 541 view_multiple_sets => "ta",
490 view_unopened_sets => $ta, 542 view_unopened_sets => "ta",
491 view_unpublished_sets => $ta, 543 view_unpublished_sets => "ta",
492 view_answers => $ta, 544 view_answers => "ta",
493 545
494 become_student => $professor, 546 become_student => "professor",
495 access_instructor_tools => $ta, 547 access_instructor_tools => "ta",
496 score_sets => $professor, 548 score_sets => "professor",
497 send_mail => $professor, 549 send_mail => "professor",
498 receive_feedback => $ta, 550 receive_feedback => "ta",
499 551
500 create_and_delete_problem_sets => $professor, 552 create_and_delete_problem_sets => "professor",
501 assign_problem_sets => $professor, 553 assign_problem_sets => "professor",
502 modify_problem_sets => $professor, 554 modify_problem_sets => "professor",
503 modify_student_data => $professor, 555 modify_student_data => "professor",
504 modify_classlist_files => $professor, 556 modify_classlist_files => "professor",
505 modify_set_def_files => $professor, 557 modify_set_def_files => "professor",
506 modify_scoring_files => $professor, 558 modify_scoring_files => "professor",
507 modify_problem_template_files => $professor, 559 modify_problem_template_files => "professor",
560 manage_course_files => "professor",
508 561
509 create_and_delete_courses => $professor, 562 create_and_delete_courses => "professor",
510 fix_course_databases => $professor, 563 fix_course_databases => "professor",
511 564
512 ##### Behavior of the interactive problem processor ##### 565 ##### Behavior of the interactive problem processor #####
513 566
514 show_correct_answers_before_answer_date => $ta, 567 show_correct_answers_before_answer_date => "ta",
515 show_solutions_before_answer_date => $ta, 568 show_solutions_before_answer_date => "ta",
516 avoid_recording_answers => $ta, 569 avoid_recording_answers => "ta",
517 # Below this level, old answers are never initially shown 570 # Below this level, old answers are never initially shown
518 can_show_old_answers_by_default => $student, 571 can_show_old_answers_by_default => "student",
519 # at this level, we look at showOldAnswers for default value 572 # at this level, we look at showOldAnswers for default value
520 # even after the due date 573 # even after the due date
521 can_always_use_show_old_answers_default => $professor, 574 can_always_use_show_old_answers_default => "professor",
522 check_answers_before_open_date => $ta, 575 check_answers_before_open_date => "ta",
523 check_answers_after_open_date_with_attempts => $ta, 576 check_answers_after_open_date_with_attempts => "ta",
524 check_answers_after_open_date_without_attempts => $guest, 577 check_answers_after_open_date_without_attempts => "guest",
525 check_answers_after_due_date => $guest, 578 check_answers_after_due_date => "guest",
526 check_answers_after_answer_date => $guest, 579 check_answers_after_answer_date => "guest",
527 record_answers_when_acting_as_student => $nobody, 580 record_answers_when_acting_as_student => undef,
528 # "record_answers_when_acting_as_student" takes precedence 581 # "record_answers_when_acting_as_student" takes precedence
529 # over the following for professors acting as students: 582 # over the following for professors acting as students:
530 record_answers_before_open_date => $nobody, 583 record_answers_before_open_date => undef,
531 record_answers_after_open_date_with_attempts => $student, 584 record_answers_after_open_date_with_attempts => "student",
532 record_answers_after_open_date_without_attempts => $nobody, 585 record_answers_after_open_date_without_attempts => undef,
533 record_answers_after_due_date => $nobody, 586 record_answers_after_due_date => undef,
534 record_answers_after_answer_date => $nobody, 587 record_answers_after_answer_date => undef,
535 dont_log_past_answers => $professor, 588 dont_log_past_answers => "professor",
589 # does the user get to see a dump of the problem?
590 view_problem_debugging_info => "ta",
536 591
537 ##### Behavior of the Hardcopy Processor ##### 592 ##### Behavior of the Hardcopy Processor #####
538 593
539 download_hardcopy_multiuser => $ta, 594 download_hardcopy_multiuser => "ta",
540 download_hardcopy_multiset => $ta, 595 download_hardcopy_multiset => "ta",
596 download_hardcopy_format_pdf => "guest",
541 download_hardcopy_format_tex => $ta, 597 download_hardcopy_format_tex => "ta",
598);
599
600# This is the default permission level given to new students and students with
601# invalid or missing permission levels.
602$default_permission_level = $userRoles{student};
603
604################################################################################
605# Status system
606################################################################################
607
608# This is the default status given to new students and students with invalid
609# or missing statuses.
610$default_status = "Enrolled";
611
612# The first abbreviation in the abbreviations list is the canonical
613# abbreviation, and will be used when setting the status value in a user record
614# or an exported classlist file.
615#
616# Results are undefined if more than one status has the same abbreviation.
617#
618# The four behaviors that are controlled by status are:
619# allow_course_access => is this user allowed to log in?
620# include_in_assignment => is this user included when assigning as set to "all" users?
621# include_in_stats => is this user included in statistical reports?
622# include_in_email => is this user included in emails sent to the class?
623# include_in_scoring => is this user included in score reports?
624
625%statuses = (
626 Enrolled => {
627 abbrevs => [qw/ C c current enrolled /],
628 behaviors => [qw/ allow_course_access include_in_assignment include_in_stats
629 include_in_email include_in_scoring /],
630 },
631 Audit => {
632 abbrevs => [qw/ A a audit /],
633 behaviors => [qw/ allow_course_access include_in_assignment include_in_stats
634 include_in_email /],
635 },
636 Drop => {
637 abbrevs => [qw/ D d drop withdraw /],
638 behaviors => [qw/ /],
639 },
542); 640);
543 641
544################################################################################ 642################################################################################
545# Session options 643# Session options
546################################################################################ 644################################################################################
547 645
548# $sessionKeyTimeout defines seconds of inactivity before a key expires 646# $sessionKeyTimeout defines seconds of inactivity before a key expires
549$sessionKeyTimeout = 60*30; 647$sessionKeyTimeout = 60*30;
550 648
551# $sessionKeyLength defines the length (in characters) of the session key 649# $sessionKeyLength defines the length (in characters) of the session key
552$sessionKeyLength = 40; 650$sessionKeyLength = 32;
553 651
554# @sessionKeyChars lists the legal session key characters 652# @sessionKeyChars lists the legal session key characters
555@sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9', '.', '^', '/', '!', '*'); 653@sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9');
556 654
557# Practice users are users who's names start with $practiceUser 655# Practice users are users who's names start with $practiceUser
558# (you can comment this out to remove practice user support) 656# (you can comment this out to remove practice user support)
559$practiceUserPrefix = "practice"; 657$practiceUserPrefix = "practice";
560 658
561# There is a practice user who can be logged in multiple times. He's 659# There is a practice user who can be logged in multiple times. He's
562# commented out by default, though, so you don't hurt yourself. It is 660# commented out by default, though, so you don't hurt yourself. It is
563# kindof a backdoor to the practice user system, since he doesn't have a 661# kindof a backdoor to the practice user system, since he doesn't have a
564# password. Come to think of it, why do we even have this?! 662# password. Come to think of it, why do we even have this?!
565#$debugPracticeUser = "practice666"; 663#$debugPracticeUser = "practice666";
664
665# Option for gateway tests; $gatewayGracePeriod is the time in seconds
666# after the official due date during which we'll still grade the test
667$gatewayGracePeriod = 120;
566 668
567################################################################################ 669################################################################################
568# PG subsystem options 670# PG subsystem options
569################################################################################ 671################################################################################
570 672
638 # 740 #
639 # In the last statement, "webworkWrite" should match the user below. 741 # In the last statement, "webworkWrite" should match the user below.
640 # FIXME: this database can become a table in the 'webwork' database 742 # FIXME: this database can become a table in the 'webwork' database
641 dvipng_depth_db => { 743 dvipng_depth_db => {
642 dbsource => 'dbi:mysql:DvipngDepths', 744 dbsource => 'dbi:mysql:DvipngDepths',
643 user => $dbLayouts{sql}->{password}->{params}->{usernameRW}, 745 user => $dbLayouts{sql_single}->{password}->{params}->{usernameRW},
644 passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW}, 746 passwd => $dbLayouts{sql_single}->{password}->{params}->{passwordRW},
645 }, 747 },
646}; 748};
647 749
648$pg{displayModeOptions}{jsMath} = { 750$pg{displayModeOptions}{jsMath} = {
649 reportMissingFonts => 0, # set to 1 to allow the missing font message 751 reportMissingFonts => 0, # set to 1 to allow the missing font message
650 missingFontMessage => undef, # set to an HTML string to replace the missing font message 752 missingFontMessage => undef, # set to an HTML string to replace the missing font message
651 noImageFonts => 0, # set to 1 if you didn't install the jsMath image fonts 753 noImageFonts => 0, # set to 1 if you didn't install the jsMath image fonts
754 processDoubleClicks => 1, # set to 0 to disable double-click on math to get TeX source
652}; 755};
653 756
654##### Directories used by PG 757##### Directories used by PG
655 758
656# The root of the PG directory tree (from pg_root in Apache config). 759# The root of the PG directory tree (from pg_root in Apache config).
681$pg{specialPGEnvironmentVars}{CAPA_Graphics_URL} = "$courseURLs{html}/CAPA_Graphics/", 784$pg{specialPGEnvironmentVars}{CAPA_Graphics_URL} = "$courseURLs{html}/CAPA_Graphics/",
682 785
683# Size in pixels of dynamically-generated images, i.e. graphs. 786# Size in pixels of dynamically-generated images, i.e. graphs.
684$pg{specialPGEnvironmentVars}{onTheFlyImageSize} = 400, 787$pg{specialPGEnvironmentVars}{onTheFlyImageSize} = 400,
685 788
686# To activate Parser-based versions of num_cmp and fun_cmp, change this 789# To disable the Parser-based versions of num_cmp and fun_cmp, and use the
687# value to 0. 790# original versions instead, set this value to 1.
688$pg{specialPGEnvironmentVars}{useOldAnswerMacros} = 1; 791$pg{specialPGEnvironmentVars}{useOldAnswerMacros} = 0;
689 792
690# Strings to insert at the start and end of the body of a problem 793# Strings to insert at the start and end of the body of a problem
691# (at beginproblem() and ENDDOCUMENT) in various modes. More display modes 794# (at beginproblem() and ENDDOCUMENT) in various modes. More display modes
692# can be added if different behaviours are desired (e.g., HTML_dpng, 795# can be added if different behaviours are desired (e.g., HTML_dpng,
693# HTML_asciimath, etc.). These parts are not used in the Library browser. 796# HTML_asciimath, etc.). These parts are not used in the Library browser.

Legend:
Removed from v.3580  
changed lines
  Added in v.4075

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9