| 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: webwork2/conf/global.conf.dist,v 1.146 2005/10/05 18:16:48 sh002i Exp $ |
5 | # $CVSHeader: webwork2/conf/global.conf.dist,v 1.165 2006/05/16 18:58:04 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. |
| … | |
… | |
| 116 | # receive_feedback => $nobody in %permissionLevels below. |
116 | # receive_feedback => $nobody in %permissionLevels below. |
| 117 | # |
117 | # |
| 118 | # It's often useful to set this in the course.conf to change the behavior of |
118 | # It's often useful to set this in the course.conf to change the behavior of |
| 119 | # feedback for a specific course. |
119 | # feedback for a specific course. |
| 120 | # |
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 | # |
| 121 | $mail{feedbackRecipients} = [ |
126 | $mail{feedbackRecipients} = [ |
| 122 | #'prof1@yourserver.yourdomain.edu', |
127 | #'prof1@yourserver.yourdomain.edu', |
| 123 | #'prof2@yourserver.yourdomain.edu', |
128 | #'prof2@yourserver.yourdomain.edu', |
| 124 | ]; |
129 | ]; |
| 125 | |
130 | |
| … | |
… | |
| 164 | $webworkDirs{bin} = "$webworkDirs{root}/bin"; |
169 | $webworkDirs{bin} = "$webworkDirs{root}/bin"; |
| 165 | |
170 | |
| 166 | # Location of configuration files, templates, snippets, etc. |
171 | # Location of configuration files, templates, snippets, etc. |
| 167 | $webworkDirs{conf} = "$webworkDirs{root}/conf"; |
172 | $webworkDirs{conf} = "$webworkDirs{root}/conf"; |
| 168 | |
173 | |
|
|
174 | # Location of theme templates. |
|
|
175 | $webworkDirs{templates} = "$webworkDirs{conf}/templates"; |
|
|
176 | |
| 169 | # Location of course directories. |
177 | # Location of course directories. |
| 170 | $webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses"; |
178 | $webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses"; |
| 171 | |
179 | |
| 172 | # Contains log files. |
180 | # Contains log files. |
| 173 | $webworkDirs{logs} = "$webworkDirs{root}/logs"; |
181 | $webworkDirs{logs} = "$webworkDirs{root}/logs"; |
| … | |
… | |
| 232 | $courseDirs{root} = "$webworkDirs{courses}/$courseName"; |
240 | $courseDirs{root} = "$webworkDirs{courses}/$courseName"; |
| 233 | |
241 | |
| 234 | # 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. |
| 235 | $courseDirs{DATA} = "$courseDirs{root}/DATA"; |
243 | $courseDirs{DATA} = "$courseDirs{root}/DATA"; |
| 236 | |
244 | |
| 237 | # Location of authentication data files when using a WW1 (GDBM) database. |
|
|
| 238 | $courseDirs{auth_DATA} = "$courseDirs{DATA}/.auth"; |
|
|
| 239 | |
|
|
| 240 | # Location of course HTML files, passed to PG. |
245 | # Location of course HTML files, passed to PG. |
| 241 | $courseDirs{html} = "$courseDirs{root}/html"; |
246 | $courseDirs{html} = "$courseDirs{root}/html"; |
| 242 | $courseURLs{html} = "$webwork_courses_url/$courseName"; |
247 | $courseURLs{html} = "$webwork_courses_url/$courseName"; |
| 243 | |
248 | |
| 244 | # Location of course image files, passed to PG. |
249 | # Location of course image files, passed to PG. |
| … | |
… | |
| 261 | # Location of course-specific macro files. |
266 | # Location of course-specific macro files. |
| 262 | $courseDirs{macros} = "$courseDirs{templates}/macros"; |
267 | $courseDirs{macros} = "$courseDirs{templates}/macros"; |
| 263 | |
268 | |
| 264 | # Location of mail-merge templates. |
269 | # Location of mail-merge templates. |
| 265 | $courseDirs{email} = "$courseDirs{templates}/email"; |
270 | $courseDirs{email} = "$courseDirs{templates}/email"; |
|
|
271 | |
|
|
272 | # Location of temporary editing files. |
|
|
273 | $courseDirs{tmpEditFileDir} = "$courseDirs{templates}/tmpEdit"; |
| 266 | |
274 | |
| 267 | ################################################################################ |
275 | ################################################################################ |
| 268 | # System-wide files |
276 | # System-wide files |
| 269 | ################################################################################ |
277 | ################################################################################ |
| 270 | |
278 | |
| … | |
… | |
| 310 | # A PG template for creation of new problems. |
318 | # A PG template for creation of new problems. |
| 311 | $webworkFiles{screenSnippets}{blankProblem} = "$webworkDirs{conf}/snippets/blankProblem.pg"; # screenSetHeader.pg" |
319 | $webworkFiles{screenSnippets}{blankProblem} = "$webworkDirs{conf}/snippets/blankProblem.pg"; # screenSetHeader.pg" |
| 312 | |
320 | |
| 313 | # A site info "message of the day" file |
321 | # A site info "message of the day" file |
| 314 | $webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt"; |
322 | $webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt"; |
|
|
323 | |
| 315 | ################################################################################ |
324 | ################################################################################ |
| 316 | # Course-specific files |
325 | # Course-specific files |
| 317 | ################################################################################ |
326 | ################################################################################ |
| 318 | |
327 | |
| 319 | # The course configuration file. |
328 | # The course configuration file. |
| … | |
… | |
| 356 | |
365 | |
| 357 | ################################################################################ |
366 | ################################################################################ |
| 358 | # Database options |
367 | # Database options |
| 359 | ################################################################################ |
368 | ################################################################################ |
| 360 | |
369 | |
|
|
370 | # these variables are used by database.conf. we define them here so that editing |
|
|
371 | # database.conf isn't necessary. |
|
|
372 | $database_dsn = "dbi:mysql:webwork"; |
|
|
373 | $database_username = "webworkWrite"; |
|
|
374 | $database_password = ""; |
|
|
375 | $database_debug = 0; |
|
|
376 | |
| 361 | # Several database are defined in the file conf/database.conf and stored in the |
377 | # Several database are defined in the file conf/database.conf and stored in the |
| 362 | # hash %dbLayouts. |
378 | # hash %dbLayouts. |
| 363 | include "conf/database.conf"; |
379 | include "conf/database.conf"; |
| 364 | |
380 | |
| 365 | # Select the default database layout. This can be overridden in the course.conf |
381 | # Select the default database layout. This can be overridden in the course.conf |
| 366 | # file of a particular course. If you choose "gdbm", WeBWorK will be able to |
382 | # file of a particular course. The only database layout supported in WW 2.1.4 |
| 367 | # use courses from WeBWorK 1 without first adding course.conf files to them. |
383 | # and up is "sql_single". |
| 368 | # However, the recommended database layout for new courses is "sql_single". This |
384 | $dbLayoutName = "sql_single"; |
| 369 | # can be set when creating a course. |
|
|
| 370 | $dbLayoutName = "sql_single"; # or "gdbm" or "sql" |
|
|
| 371 | |
385 | |
| 372 | # This sets the symbol "dbLayout" as an alias for the selected database layout. |
386 | # This sets the symbol "dbLayout" as an alias for the selected database layout. |
| 373 | *dbLayout = $dbLayouts{$dbLayoutName}; |
387 | *dbLayout = $dbLayouts{$dbLayoutName}; |
| 374 | |
388 | |
| 375 | ################################################################################ |
389 | ################################################################################ |
| … | |
… | |
| 449 | # The contents of the templates directory are copied from this course |
463 | # The contents of the templates directory are copied from this course |
| 450 | # to the new course being created. |
464 | # to the new course being created. |
| 451 | $siteDefaults{default_templates_course} ="modelCourse"; |
465 | $siteDefaults{default_templates_course} ="modelCourse"; |
| 452 | |
466 | |
| 453 | ################################################################################ |
467 | ################################################################################ |
| 454 | # Frontend options |
468 | # Theme |
| 455 | ################################################################################ |
469 | ################################################################################ |
| 456 | |
470 | |
| 457 | %templates = ( |
471 | $defaultTheme = "math"; |
| 458 | system => "$webworkDirs{conf}/templates/ur.template", |
472 | $defaultThemeTemplate = "system"; |
| 459 | gateway => "$webworkDirs{conf}/templates/gw.template", |
|
|
| 460 | ); |
|
|
| 461 | |
473 | |
| 462 | ################################################################################ |
474 | ################################################################################ |
| 463 | # Authorization system |
475 | # Authorization system |
| 464 | ################################################################################ |
476 | ################################################################################ |
| 465 | |
477 | |
| … | |
… | |
| 489 | submit_feedback => "student", |
501 | submit_feedback => "student", |
| 490 | change_password => "student", |
502 | change_password => "student", |
| 491 | change_email_address => "student", |
503 | change_email_address => "student", |
| 492 | |
504 | |
| 493 | proctor_quiz => "proctor", |
505 | proctor_quiz => "proctor", |
|
|
506 | view_proctored_tests => "ta", |
| 494 | |
507 | |
| 495 | view_multiple_sets => "ta", |
508 | view_multiple_sets => "ta", |
| 496 | view_unopened_sets => "ta", |
509 | view_unopened_sets => "ta", |
| 497 | view_unpublished_sets => "ta", |
510 | view_unpublished_sets => "ta", |
| 498 | view_answers => "ta", |
511 | view_answers => "ta", |
| … | |
… | |
| 538 | record_answers_after_open_date_with_attempts => "student", |
551 | record_answers_after_open_date_with_attempts => "student", |
| 539 | record_answers_after_open_date_without_attempts => undef, |
552 | record_answers_after_open_date_without_attempts => undef, |
| 540 | record_answers_after_due_date => undef, |
553 | record_answers_after_due_date => undef, |
| 541 | record_answers_after_answer_date => undef, |
554 | record_answers_after_answer_date => undef, |
| 542 | dont_log_past_answers => "professor", |
555 | dont_log_past_answers => "professor", |
|
|
556 | # does the user get to see a dump of the problem? |
|
|
557 | view_problem_debugging_info => "ta", |
| 543 | |
558 | |
| 544 | ##### Behavior of the Hardcopy Processor ##### |
559 | ##### Behavior of the Hardcopy Processor ##### |
| 545 | |
560 | |
| 546 | download_hardcopy_multiuser => "ta", |
561 | download_hardcopy_multiuser => "ta", |
| 547 | download_hardcopy_multiset => "ta", |
562 | download_hardcopy_multiset => "ta", |
| 548 | download_hardcopy_format_pdf => "guest", |
563 | download_hardcopy_format_pdf => "guest", |
| 549 | download_hardcopy_format_tex => "ta", |
564 | download_hardcopy_format_tex => "ta", |
| 550 | ); |
565 | ); |
|
|
566 | |
|
|
567 | # This is the default permission level given to new students and students with |
|
|
568 | # invalid or missing permission levels. |
|
|
569 | $default_permission_level = $userRoles{student}; |
| 551 | |
570 | |
| 552 | ################################################################################ |
571 | ################################################################################ |
| 553 | # Status system |
572 | # Status system |
| 554 | ################################################################################ |
573 | ################################################################################ |
| 555 | |
574 | |
| … | |
… | |
| 593 | |
612 | |
| 594 | # $sessionKeyTimeout defines seconds of inactivity before a key expires |
613 | # $sessionKeyTimeout defines seconds of inactivity before a key expires |
| 595 | $sessionKeyTimeout = 60*30; |
614 | $sessionKeyTimeout = 60*30; |
| 596 | |
615 | |
| 597 | # $sessionKeyLength defines the length (in characters) of the session key |
616 | # $sessionKeyLength defines the length (in characters) of the session key |
| 598 | $sessionKeyLength = 40; |
617 | $sessionKeyLength = 32; |
| 599 | |
618 | |
| 600 | # @sessionKeyChars lists the legal session key characters |
619 | # @sessionKeyChars lists the legal session key characters |
| 601 | @sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9', '.', '^', '/', '!', '*'); |
620 | @sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9'); |
| 602 | |
621 | |
| 603 | # Practice users are users who's names start with $practiceUser |
622 | # Practice users are users who's names start with $practiceUser |
| 604 | # (you can comment this out to remove practice user support) |
623 | # (you can comment this out to remove practice user support) |
| 605 | $practiceUserPrefix = "practice"; |
624 | $practiceUserPrefix = "practice"; |
| 606 | |
625 | |
| 607 | # There is a practice user who can be logged in multiple times. He's |
626 | # There is a practice user who can be logged in multiple times. He's |
| 608 | # commented out by default, though, so you don't hurt yourself. It is |
627 | # commented out by default, though, so you don't hurt yourself. It is |
| 609 | # kindof a backdoor to the practice user system, since he doesn't have a |
628 | # kindof a backdoor to the practice user system, since he doesn't have a |
| 610 | # password. Come to think of it, why do we even have this?! |
629 | # password. Come to think of it, why do we even have this?! |
| 611 | #$debugPracticeUser = "practice666"; |
630 | #$debugPracticeUser = "practice666"; |
|
|
631 | |
|
|
632 | # Option for gateway tests; $gatewayGracePeriod is the time in seconds |
|
|
633 | # after the official due date during which we'll still grade the test |
|
|
634 | $gatewayGracePeriod = 120; |
| 612 | |
635 | |
| 613 | ################################################################################ |
636 | ################################################################################ |
| 614 | # PG subsystem options |
637 | # PG subsystem options |
| 615 | ################################################################################ |
638 | ################################################################################ |
| 616 | |
639 | |
| … | |
… | |
| 684 | # |
707 | # |
| 685 | # In the last statement, "webworkWrite" should match the user below. |
708 | # In the last statement, "webworkWrite" should match the user below. |
| 686 | # FIXME: this database can become a table in the 'webwork' database |
709 | # FIXME: this database can become a table in the 'webwork' database |
| 687 | dvipng_depth_db => { |
710 | dvipng_depth_db => { |
| 688 | dbsource => 'dbi:mysql:DvipngDepths', |
711 | dbsource => 'dbi:mysql:DvipngDepths', |
| 689 | user => $dbLayouts{sql}->{password}->{params}->{usernameRW}, |
712 | user => $dbLayouts{sql_single}->{password}->{params}->{usernameRW}, |
| 690 | passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW}, |
713 | passwd => $dbLayouts{sql_single}->{password}->{params}->{passwordRW}, |
| 691 | }, |
714 | }, |
| 692 | }; |
715 | }; |
| 693 | |
716 | |
| 694 | $pg{displayModeOptions}{jsMath} = { |
717 | $pg{displayModeOptions}{jsMath} = { |
| 695 | reportMissingFonts => 0, # set to 1 to allow the missing font message |
718 | reportMissingFonts => 0, # set to 1 to allow the missing font message |
| 696 | missingFontMessage => undef, # set to an HTML string to replace the missing font message |
719 | missingFontMessage => undef, # set to an HTML string to replace the missing font message |
| 697 | noImageFonts => 0, # set to 1 if you didn't install the jsMath image fonts |
720 | noImageFonts => 0, # set to 1 if you didn't install the jsMath image fonts |
|
|
721 | processDoubleClicks => 1, # set to 0 to disable double-click on math to get TeX source |
| 698 | }; |
722 | }; |
| 699 | |
723 | |
| 700 | ##### Directories used by PG |
724 | ##### Directories used by PG |
| 701 | |
725 | |
| 702 | # The root of the PG directory tree (from pg_root in Apache config). |
726 | # The root of the PG directory tree (from pg_root in Apache config). |
| … | |
… | |
| 727 | $pg{specialPGEnvironmentVars}{CAPA_Graphics_URL} = "$courseURLs{html}/CAPA_Graphics/", |
751 | $pg{specialPGEnvironmentVars}{CAPA_Graphics_URL} = "$courseURLs{html}/CAPA_Graphics/", |
| 728 | |
752 | |
| 729 | # Size in pixels of dynamically-generated images, i.e. graphs. |
753 | # Size in pixels of dynamically-generated images, i.e. graphs. |
| 730 | $pg{specialPGEnvironmentVars}{onTheFlyImageSize} = 400, |
754 | $pg{specialPGEnvironmentVars}{onTheFlyImageSize} = 400, |
| 731 | |
755 | |
| 732 | # To activate Parser-based versions of num_cmp and fun_cmp, change this |
756 | # To disable the Parser-based versions of num_cmp and fun_cmp, and use the |
| 733 | # value to 0. |
757 | # original versions instead, set this value to 1. |
| 734 | $pg{specialPGEnvironmentVars}{useOldAnswerMacros} = 1; |
758 | $pg{specialPGEnvironmentVars}{useOldAnswerMacros} = 0; |
| 735 | |
759 | |
| 736 | # Strings to insert at the start and end of the body of a problem |
760 | # Strings to insert at the start and end of the body of a problem |
| 737 | # (at beginproblem() and ENDDOCUMENT) in various modes. More display modes |
761 | # (at beginproblem() and ENDDOCUMENT) in various modes. More display modes |
| 738 | # can be added if different behaviours are desired (e.g., HTML_dpng, |
762 | # can be added if different behaviours are desired (e.g., HTML_dpng, |
| 739 | # HTML_asciimath, etc.). These parts are not used in the Library browser. |
763 | # HTML_asciimath, etc.). These parts are not used in the Library browser. |