| 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-2003 The WeBWorK Project, http://openwebwork.sf.net/ |
| 5 | # $CVSHeader: webwork2/conf/global.conf.dist,v 1.92 2004/07/15 21:22:42 sh002i Exp $ |
5 | # $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.111 2004/10/22 18:03:12 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. |
| … | |
… | |
| 25 | |
25 | |
| 26 | ################################################################################ |
26 | ################################################################################ |
| 27 | # Seed variables |
27 | # Seed variables |
| 28 | ################################################################################ |
28 | ################################################################################ |
| 29 | |
29 | |
| 30 | # Set these variables to correspond to your configuration and preferences. |
30 | # Set these variables to correspond to your configuration and preferences. You |
|
|
31 | # will need to restart the webserver to reset the variables in this section |
| 31 | |
32 | |
| 32 | # URL of WeBWorK handler. |
33 | # URL of WeBWorK handler. |
| 33 | $webwork_url = "/webwork2"; |
34 | $webwork_url = "/webwork2"; |
| 34 | |
35 | |
| 35 | # Root directory of PG. |
36 | # Root directory of PG. |
| … | |
… | |
| 49 | |
50 | |
| 50 | $externalPrograms{mkdir} = "/bin/mkdir"; |
51 | $externalPrograms{mkdir} = "/bin/mkdir"; |
| 51 | $externalPrograms{mysql} = "/usr/local/bin/mysql"; |
52 | $externalPrograms{mysql} = "/usr/local/bin/mysql"; |
| 52 | |
53 | |
| 53 | $externalPrograms{latex} = "/usr/local/bin/latex"; |
54 | $externalPrograms{latex} = "/usr/local/bin/latex"; |
| 54 | $externalPrograms{pdflatex} = "/usr/local/bin/pdflatex"; |
55 | $externalPrograms{pdflatex} = "/usr/local/bin/pdflatex --shell-escape"; # allows pdflatex to handle .eps files |
| 55 | $externalPrograms{dvipng} = "/usr/local/bin/dvipng"; |
56 | $externalPrograms{dvipng} = "/usr/local/bin/dvipng"; |
| 56 | $externalPrograms{tth} = "/usr/local/bin/tth"; |
57 | $externalPrograms{tth} = "/usr/local/bin/tth"; |
| 57 | |
58 | |
| 58 | ################################################################################ |
59 | ################################################################################ |
| 59 | # Mail settings |
60 | # Mail settings |
| … | |
… | |
| 81 | |
82 | |
| 82 | # If defined, feedbackRecipients overrides the list of recipients for feedback |
83 | # If defined, feedbackRecipients overrides the list of recipients for feedback |
| 83 | # email. It's appropriate to set this in the course.conf for specific courses, |
84 | # email. It's appropriate to set this in the course.conf for specific courses, |
| 84 | # but probably not in global.conf. if not defined, mail is sent to all |
85 | # but probably not in global.conf. if not defined, mail is sent to all |
| 85 | # professors and TAs for a given course |
86 | # professors and TAs for a given course |
| 86 | $mail{feedbackRecipients} = [ |
87 | #$mail{feedbackRecipients} = [ |
| 87 | #'prof1@yourserver.yourdomain.edu', |
88 | # 'prof1@yourserver.yourdomain.edu', |
| 88 | #'prof2@yourserver.yourdomain.edu', |
89 | # 'prof2@yourserver.yourdomain.edu', |
| 89 | ]; |
90 | #]; |
| 90 | |
91 | |
| 91 | # feedbackVerbosity: |
92 | # feedbackVerbosity: |
| 92 | # 0: send only the feedback comment and context link |
93 | # 0: send only the feedback comment and context link |
| 93 | # 1: as in 0, plus user, set, problem, and PG data |
94 | # 1: as in 0, plus user, set, problem, and PG data |
| 94 | # 2: as in 1, plus the problem environment (debugging data) |
95 | # 2: as in 1, plus the problem environment (debugging data) |
| … | |
… | |
| 157 | # Note that both systems must share a single "courses" directory for this to be |
158 | # Note that both systems must share a single "courses" directory for this to be |
| 158 | # useful. Leave this blank to disable |
159 | # useful. Leave this blank to disable |
| 159 | $webworkURLs{oldProf} = "/webwork1/profLogin.pl"; |
160 | $webworkURLs{oldProf} = "/webwork1/profLogin.pl"; |
| 160 | |
161 | |
| 161 | # URL of WeBWorK Bugzilla database. |
162 | # URL of WeBWorK Bugzilla database. |
| 162 | $webworkURLs{bugReporter} = "http://bugs.webwork.rochester.edu/enter_bug.cgi?product=WeBWorK%20mod_perl"; |
163 | $webworkURLs{bugReporter} = "http://bugs.webwork.rochester.edu/"; |
| 163 | |
164 | |
| 164 | # Location of jsMath script, used for the jsMath display mode. |
165 | # Location of jsMath script, used for the jsMath display mode. |
| 165 | $webworkURLs{jsMath} = "$webworkURLs{htdocs}/jsMath/jsMath.js"; |
166 | $webworkURLs{jsMath} = "$webworkURLs{htdocs}/jsMath/jsMath.js"; |
| 166 | |
167 | |
| 167 | # Location of ASCIIMathML script, used for the asciimath display mode. |
168 | # Location of ASCIIMathML script, used for the asciimath display mode. |
| … | |
… | |
| 275 | # example, |
276 | # example, |
| 276 | # |
277 | # |
| 277 | # $courseFiles{problibs} = {rochester => "Rochester", asu => "ASU"}; |
278 | # $courseFiles{problibs} = {rochester => "Rochester", asu => "ASU"}; |
| 278 | # |
279 | # |
| 279 | # would add two buttons, one for the Rochester library and one for the ASU |
280 | # would add two buttons, one for the Rochester library and one for the ASU |
| 280 | # library, provided templates/rochester and templates/asu exists. |
281 | # library, provided templates/rochester and templates/asu exists either as |
|
|
282 | # subdirectories or links to other directories. |
| 281 | # |
283 | # |
| 282 | $courseFiles{problibs} = {}; |
284 | $courseFiles{problibs} = { |
|
|
285 | # rochesterLibrary => "Rochester", |
|
|
286 | # asuLibrary => "Arizona State", |
|
|
287 | # dcdsLibrary => "Detroit CDS", |
|
|
288 | # dartmouthLibrary => "Dartmouth", |
|
|
289 | # indianaLibrary => "Indiana", |
|
|
290 | # osuLibrary => "Ohio State", |
|
|
291 | # capaLibrary => "CAPA", |
|
|
292 | }; |
| 283 | |
293 | |
| 284 | ################################################################################ |
294 | ################################################################################ |
| 285 | # Database options |
295 | # Database options |
| 286 | ################################################################################ |
296 | ################################################################################ |
| 287 | |
297 | |
| … | |
… | |
| 290 | include "conf/database.conf"; |
300 | include "conf/database.conf"; |
| 291 | |
301 | |
| 292 | # Select the default database layout. This can be overridden in the course.conf |
302 | # Select the default database layout. This can be overridden in the course.conf |
| 293 | # file of a particular course. If you choose "gdbm", WeBWorK will be able to |
303 | # file of a particular course. If you choose "gdbm", WeBWorK will be able to |
| 294 | # use courses from WeBWorK 1 without first adding course.conf files to them. |
304 | # use courses from WeBWorK 1 without first adding course.conf files to them. |
| 295 | # However, the recommended database layout for new courses is "sql". This can |
305 | # However, the recommended database layout for new courses is "sql_single". This |
| 296 | # be set when creating a course. |
306 | # can be set when creating a course. |
| 297 | $dbLayoutName = "sql"; # or "gdbm"; |
307 | $dbLayoutName = "sql_single"; # or "gdbm" or "sql" |
| 298 | |
308 | |
| 299 | # This sets the symbol "dbLayout" as an alias for the selected database layout. |
309 | # This sets the symbol "dbLayout" as an alias for the selected database layout. |
| 300 | *dbLayout = $dbLayouts{$dbLayoutName}; |
310 | *dbLayout = $dbLayouts{$dbLayoutName}; |
| 301 | |
311 | |
| 302 | ################################################################################ |
312 | ################################################################################ |
| … | |
… | |
| 327 | # with the /other/ timing log which can be set by WeBWorK::Timing and is used |
337 | # with the /other/ timing log which can be set by WeBWorK::Timing and is used |
| 328 | # for benchmarking system performance in general. At some point, this timing |
338 | # for benchmarking system performance in general. At some point, this timing |
| 329 | # mechanism will be deprecated in favor of the WeBWorK::Timing mechanism.) |
339 | # mechanism will be deprecated in favor of the WeBWorK::Timing mechanism.) |
| 330 | $webworkFiles{logs}{timing} = "$webworkDirs{logs}/timing.log"; |
340 | $webworkFiles{logs}{timing} = "$webworkDirs{logs}/timing.log"; |
| 331 | |
341 | |
|
|
342 | # Logs courses created via the web-based Course Administration module. |
|
|
343 | $webworkFiles{logs}{hosted_courses} = "$webworkDirs{logs}/hosted_courses.log"; |
|
|
344 | |
| 332 | # The transaction log contains data from each recorded answer submission. This |
345 | # The transaction log contains data from each recorded answer submission. This |
| 333 | # is useful if the database becomes corrupted. |
346 | # is useful if the database becomes corrupted. |
| 334 | $webworkFiles{logs}{transaction} = "$courseDirs{logs}/transaction.log"; |
347 | $webworkFiles{logs}{transaction} = "$courseDirs{logs}/transaction.log"; |
| 335 | |
348 | |
| 336 | # The answer log stores a history of all users' submitted answers. |
349 | # The answer log stores a history of all users' submitted answers. |
| … | |
… | |
| 351 | |
364 | |
| 352 | # Status strings -- lists valid status values and their names. If your site uses |
365 | # Status strings -- lists valid status values and their names. If your site uses |
| 353 | # additional values, add them here. |
366 | # additional values, add them here. |
| 354 | $siteDefaults{status} = { |
367 | $siteDefaults{status} = { |
| 355 | A => "Audit", |
368 | A => "Audit", |
|
|
369 | a => "Audit", |
| 356 | audit => "Audit", |
370 | audit => "Audit", |
| 357 | D => "Drop", |
371 | D => "Drop", |
|
|
372 | d => "Drop", |
| 358 | drop => "Drop", |
373 | drop => "Drop", |
| 359 | withdraw => "Drop", |
374 | withdraw => "Drop", |
| 360 | C => "Enrolled", |
375 | C => "Enrolled", |
|
|
376 | c => "Enrolled", |
| 361 | current => "Enrolled", |
377 | current => "Enrolled", |
| 362 | enrolled => "Enrolled", |
378 | enrolled => "Enrolled", |
| 363 | }; |
379 | }; |
|
|
380 | |
|
|
381 | # Set the default timezone of courses on this server. To get a list of valid |
|
|
382 | # timezones, run: |
|
|
383 | # |
|
|
384 | # perl -MDateTime::TimeZone -e 'print join "\n", DateTime::TimeZone::all_names' |
|
|
385 | # |
|
|
386 | # To get a list of valid timezone "links" (deprecated names), run: |
|
|
387 | # |
|
|
388 | # perl -MDateTime::TimeZone -e 'print join "\n", DateTime::TimeZone::links' |
|
|
389 | # |
|
|
390 | # If left blank, the system timezone will be used. This is usually what you |
|
|
391 | # want. You might want to set this if your server is NOT in the same timezone as |
|
|
392 | # your school. If just a few courses are in a different timezone, set this in |
|
|
393 | # course.conf for the affected courses instead. |
|
|
394 | # |
|
|
395 | $siteDefaults{timezone} = ""; |
| 364 | |
396 | |
| 365 | ################################################################################ |
397 | ################################################################################ |
| 366 | # Frontend options |
398 | # Frontend options |
| 367 | ################################################################################ |
399 | ################################################################################ |
| 368 | |
400 | |
| … | |
… | |
| 384 | my $professor = 10; |
416 | my $professor = 10; |
| 385 | my $nobody = undef; |
417 | my $nobody = undef; |
| 386 | |
418 | |
| 387 | %permissionLevels = ( |
419 | %permissionLevels = ( |
| 388 | report_bugs => $student, |
420 | report_bugs => $student, |
|
|
421 | submit_feedback => $student, |
|
|
422 | change_password => $student, |
|
|
423 | change_email_address => $student, |
| 389 | |
424 | |
| 390 | view_multiple_sets => $ta, |
425 | view_multiple_sets => $ta, |
| 391 | view_unopened_sets => $ta, |
426 | view_unopened_sets => $ta, |
| 392 | view_unpublished_sets => $ta, |
427 | view_unpublished_sets => $ta, |
| 393 | view_answers => $ta, |
428 | view_answers => $ta, |
| 394 | |
429 | |
| 395 | become_student => $professor, |
430 | become_student => $professor, |
| 396 | access_instructor_tools => $ta, |
431 | access_instructor_tools => $ta, |
| 397 | score_sets => $professor, |
432 | score_sets => $professor, |
| 398 | send_mail => $professor, |
433 | send_mail => $professor, |
|
|
434 | receive_feedback => $ta, |
| 399 | |
435 | |
| 400 | create_and_delete_problem_sets => $professor, |
436 | create_and_delete_problem_sets => $professor, |
| 401 | assign_problem_sets => $professor, |
437 | assign_problem_sets => $professor, |
| 402 | modify_problem_sets => $professor, |
438 | modify_problem_sets => $professor, |
| 403 | modify_student_data => $professor, |
439 | modify_student_data => $professor, |
| 404 | |
|
|
| 405 | modify_classlist_files => $professor, |
440 | modify_classlist_files => $professor, |
| 406 | modify_set_def_files => $professor, |
441 | modify_set_def_files => $professor, |
| 407 | modify_scoring_files => $professor, |
442 | modify_scoring_files => $professor, |
| 408 | modify_problem_template_files => $professor, |
443 | modify_problem_template_files => $professor, |
| 409 | |
444 | |
| … | |
… | |
| 413 | ##### Behavior of the interactive problem processor ##### |
448 | ##### Behavior of the interactive problem processor ##### |
| 414 | |
449 | |
| 415 | show_correct_answers_before_answer_date => $ta, |
450 | show_correct_answers_before_answer_date => $ta, |
| 416 | show_solutions_before_answer_date => $ta, |
451 | show_solutions_before_answer_date => $ta, |
| 417 | avoid_recording_answers => $ta, |
452 | avoid_recording_answers => $ta, |
| 418 | |
|
|
| 419 | check_answers_before_open_date => $ta, |
453 | check_answers_before_open_date => $ta, |
| 420 | check_answers_after_open_date_with_attempts => $ta, |
454 | check_answers_after_open_date_with_attempts => $ta, |
| 421 | check_answers_after_open_date_without_attempts => $student, |
455 | check_answers_after_open_date_without_attempts => $student, |
| 422 | check_answers_after_due_date => $student, |
456 | check_answers_after_due_date => $student, |
| 423 | check_answers_after_answer_date => $student, |
457 | check_answers_after_answer_date => $student, |
| 424 | |
|
|
| 425 | record_answers_when_acting_as_student => $nobody, |
458 | record_answers_when_acting_as_student => $nobody, |
| 426 | |
|
|
| 427 | # "record_answers_when_acting_as_student" takes precedence |
459 | # "record_answers_when_acting_as_student" takes precedence |
| 428 | # over the following for professors acting as students: |
460 | # over the following for professors acting as students: |
| 429 | record_answers_before_open_date => $nobody, |
461 | record_answers_before_open_date => $nobody, |
| 430 | record_answers_after_open_date_with_attempts => $student, |
462 | record_answers_after_open_date_with_attempts => $student, |
| 431 | record_answers_after_open_date_without_attempts => $nobody, |
463 | record_answers_after_open_date_without_attempts => $nobody, |
| 432 | record_answers_after_due_date => $nobody, |
464 | record_answers_after_due_date => $nobody, |
| 433 | record_answers_after_answer_date => $nobody, |
465 | record_answers_after_answer_date => $nobody, |
|
|
466 | dont_log_past_answers => $professor, |
|
|
467 | |
|
|
468 | ##### Behavior of the Hardcopy Processor ##### |
|
|
469 | |
|
|
470 | download_hardcopy_multiuser => $ta, |
|
|
471 | download_hardcopy_multiset => $ta, |
|
|
472 | download_hardcopy_format_tex => $ta, |
| 434 | ); |
473 | ); |
| 435 | |
474 | |
| 436 | ################################################################################ |
475 | ################################################################################ |
| 437 | # Session options |
476 | # Session options |
| 438 | ################################################################################ |
477 | ################################################################################ |
| … | |
… | |
| 498 | |
537 | |
| 499 | # Only the local renderer is supported in this version. |
538 | # Only the local renderer is supported in this version. |
| 500 | $pg{renderer} = "WeBWorK::PG::Local"; |
539 | $pg{renderer} = "WeBWorK::PG::Local"; |
| 501 | |
540 | |
| 502 | # The remote renderer connects to an XML-RPC PG rendering server. |
541 | # The remote renderer connects to an XML-RPC PG rendering server. |
| 503 | #$pg{renderer} = "WeBWorK::PG::Remote"' |
542 | #$pg{renderer} = "WeBWorK::PG::Remote"; |
| 504 | |
543 | |
| 505 | ##### Renderer-dependent options |
544 | ##### Renderer-dependent options |
| 506 | |
545 | |
| 507 | # The remote renderer has one option: |
546 | # The remote renderer has one option: |
| 508 | $pg{renderers}{"WeBWorK::PG::Remote"} = { |
547 | $pg{renderers}{"WeBWorK::PG::Remote"} = { |
| … | |
… | |
| 527 | # USE DvipngDepths; |
566 | # USE DvipngDepths; |
| 528 | # CREATE TABLE depths (md5 CHAR(33) NOT NULL, depth SMALLINT, PRIMARY KEY (md5)); |
567 | # CREATE TABLE depths (md5 CHAR(33) NOT NULL, depth SMALLINT, PRIMARY KEY (md5)); |
| 529 | # GRANT ALL ON DvipngDepths.* TO webworkWrite; |
568 | # GRANT ALL ON DvipngDepths.* TO webworkWrite; |
| 530 | # |
569 | # |
| 531 | # In the last statement, "webworkWrite" should match the user below. |
570 | # In the last statement, "webworkWrite" should match the user below. |
|
|
571 | # FIXME: this database can become a table in the 'webwork' database |
| 532 | dvipng_depth_db => { |
572 | dvipng_depth_db => { |
| 533 | dbsource => 'dbi:mysql:DvipngDepths', |
573 | dbsource => 'dbi:mysql:DvipngDepths', |
| 534 | user => $dbLayouts{sql}->{password}->{params}->{usernameRW}, |
574 | user => $dbLayouts{sql}->{password}->{params}->{usernameRW}, |
| 535 | passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW}, |
575 | passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW}, |
| 536 | }, |
576 | }, |
|
|
577 | }; |
|
|
578 | |
|
|
579 | $pg{displayModeOptions}{jsMath} = { |
|
|
580 | reportMissingFonts => 1, # set to 0 to prevent the missing font message |
|
|
581 | missingFontMessage => undef, # set to an HTML string to use for the missing font message |
| 537 | }; |
582 | }; |
| 538 | |
583 | |
| 539 | ##### Directories used by PG |
584 | ##### Directories used by PG |
| 540 | |
585 | |
| 541 | # The root of the PG directory tree (from pg_root in Apache config). |
586 | # The root of the PG directory tree (from pg_root in Apache config). |
| … | |
… | |
| 587 | [qw(PGrandom)], |
632 | [qw(PGrandom)], |
| 588 | [qw(Regression)], |
633 | [qw(Regression)], |
| 589 | [qw(Select)], |
634 | [qw(Select)], |
| 590 | [qw(Units)], |
635 | [qw(Units)], |
| 591 | [qw(VectorField)], |
636 | [qw(VectorField)], |
|
|
637 | [qw(Parser Value)], |
|
|
638 | [qw(Apache::Log)], |
| 592 | ]; |
639 | ]; |
| 593 | |
640 | |
| 594 | ##### Answer evaluatior defaults |
641 | ##### Answer evaluatior defaults |
| 595 | |
642 | |
| 596 | $pg{ansEvalDefaults} = { |
643 | $pg{ansEvalDefaults} = { |