| 1 | #!perl |
1 | #!perl |
| 2 | ################################################################################ |
2 | ################################################################################ |
| 3 | # WeBWorK Online Homework Delivery System |
3 | # WeBWorK Online Homework Delivery System |
| 4 | # Copyright © 2000-2006 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.170 2006/07/05 18:24:43 sh002i Exp $ |
5 | # $CVSHeader: webwork2/conf/global.conf.dist,v 1.185 2007/03/06 01:34:16 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. |
| … | |
… | |
| 32 | |
32 | |
| 33 | # URL of WeBWorK handler. |
33 | # URL of WeBWorK handler. |
| 34 | $webwork_url = "/webwork2"; |
34 | $webwork_url = "/webwork2"; |
| 35 | |
35 | |
| 36 | # Root directory of PG. |
36 | # Root directory of PG. |
| 37 | $pg_dir = "/opt/pg"; |
37 | $pg_dir = "/opt/webwork/pg"; |
| 38 | |
38 | |
| 39 | # URL and path to htdocs directory. |
39 | # URL and path to htdocs directory. |
| 40 | $webwork_htdocs_url = "/webwork2_files"; |
40 | $webwork_htdocs_url = "/webwork2_files"; |
| 41 | $webwork_htdocs_dir = "$webwork_dir/htdocs"; |
41 | $webwork_htdocs_dir = "$webwork_dir/htdocs"; |
| 42 | |
42 | |
| 43 | # URL and path to courses directory. |
43 | # URL and path to courses directory. |
| 44 | $webwork_courses_url = "/webwork2_course_files"; |
44 | $webwork_courses_url = "/webwork2_course_files"; |
| 45 | $webwork_courses_dir = "$webwork_dir/courses"; |
45 | $webwork_courses_dir = "/opt/webwork/courses"; |
| 46 | |
|
|
| 47 | # machine domain name (#FIXME can we get this automatically???) (needed to find applets) |
|
|
| 48 | $domainName = "devel.webwork.rochester.edu:8002"; |
|
|
| 49 | |
|
|
| 50 | |
46 | |
| 51 | ################################################################################ |
47 | ################################################################################ |
| 52 | # Paths to external programs |
48 | # Paths to external programs |
| 53 | ################################################################################ |
49 | ################################################################################ |
| 54 | |
50 | |
| 55 | # system utilties |
51 | # system utilties |
|
|
52 | $externalPrograms{mv} = "/bin/mv"; |
|
|
53 | $externalPrograms{cp} = "/bin/cp"; |
|
|
54 | $externalPrograms{rm} = "/bin/rm"; |
| 56 | $externalPrograms{mkdir} = "/bin/mkdir"; |
55 | $externalPrograms{mkdir} = "/bin/mkdir"; |
| 57 | $externalPrograms{mv} = "/bin/mv"; |
|
|
| 58 | $externalPrograms{mysql} = "/usr/bin/mysql"; |
|
|
| 59 | $externalPrograms{tar} = "/usr/bin/tar"; |
56 | $externalPrograms{tar} = "/usr/bin/tar"; |
|
|
57 | $externalPrograms{gzip} = "/usr/bin/gzip"; |
| 60 | |
58 | |
| 61 | # equation rendering/hardcopy utiltiies |
59 | # equation rendering/hardcopy utiltiies |
| 62 | $externalPrograms{latex} = "/usr/bin/latex"; |
60 | $externalPrograms{latex} = "/usr/bin/latex"; |
| 63 | $externalPrograms{pdflatex} = "/usr/bin/pdflatex --shell-escape"; # --shell-escape allows pdflatex to handle .eps files |
61 | $externalPrograms{pdflatex} = "/usr/bin/pdflatex --shell-escape"; |
| 64 | $externalPrograms{dvipng} = "/usr/bin/dvipng"; |
62 | $externalPrograms{dvipng} = "/usr/bin/dvipng"; |
| 65 | $externalPrograms{tth} = "/usr/bin/tth"; |
63 | $externalPrograms{tth} = "/usr/bin/tth"; |
| 66 | |
64 | |
| 67 | # NetPBM - basic image manipulation utilities |
65 | # NetPBM - basic image manipulation utilities |
| 68 | # most sites only need to configure $netpbm_prefix. |
66 | # Most sites only need to configure $netpbm_prefix. |
| 69 | my $netpbm_prefix = "/usr/bin"; |
67 | my $netpbm_prefix = "/usr/bin"; |
| 70 | $externalPrograms{giftopnm} = "$netpbm_prefix/giftopnm"; |
68 | $externalPrograms{giftopnm} = "$netpbm_prefix/giftopnm"; |
| 71 | $externalPrograms{ppmtopgm} = "$netpbm_prefix/ppmtopgm"; |
69 | $externalPrograms{ppmtopgm} = "$netpbm_prefix/ppmtopgm"; |
| 72 | $externalPrograms{pnmtops} = "$netpbm_prefix/pnmtops"; |
70 | $externalPrograms{pnmtops} = "$netpbm_prefix/pnmtops"; |
| 73 | $externalPrograms{pnmtopng} = "$netpbm_prefix/pnmtopng"; |
71 | $externalPrograms{pnmtopng} = "$netpbm_prefix/pnmtopng"; |
| 74 | $externalPrograms{pngtopnm} = "$netpbm_prefix/pngtopnm"; |
72 | $externalPrograms{pngtopnm} = "$netpbm_prefix/pngtopnm"; |
| 75 | |
73 | |
| 76 | # url checker |
74 | # url checker |
| 77 | $externalPrograms{checkurl} = "/usr/local/bin/lwp-request -mHEAD "; # or "/usr/local/bin/w3c -head " |
75 | $externalPrograms{checkurl} = "/usr/local/bin/lwp-request -mHEAD "; # or "/usr/local/bin/w3c -head " |
| 78 | |
76 | |
| 79 | |
|
|
| 80 | # image conversions utiltiies |
77 | # image conversions utiltiies |
| 81 | # the source file is given on stdin, and the output expected on stdout. |
78 | # the source file is given on stdin, and the output expected on stdout. |
| 82 | # |
|
|
| 83 | # Note on conversions pipelines: |
|
|
| 84 | # we used to use `pnmdepth 1' instead of ppmtopgm as it creates a |
|
|
| 85 | # monochrome image (1 bit) rather than a greyscale image (8 bits). |
|
|
| 86 | # However, this was causing improper display of some sort in PDFs. |
|
|
| 87 | $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"; |
| 88 | $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"; |
| 89 | $externalPrograms{gif2png} = "$externalPrograms{giftopnm} | $externalPrograms{pnmtopng}"; |
81 | $externalPrograms{gif2png} = "$externalPrograms{giftopnm} | $externalPrograms{pnmtopng}"; |
|
|
82 | |
|
|
83 | # mysql clients |
|
|
84 | $externalPrograms{mysql} = "/usr/bin/mysql"; |
|
|
85 | $externalPrograms{mysqldump} = "/usr/bin/mysqldump"; |
| 90 | |
86 | |
| 91 | ################################################################################ |
87 | ################################################################################ |
| 92 | # Mail settings |
88 | # Mail settings |
| 93 | ################################################################################ |
89 | ################################################################################ |
| 94 | |
90 | |
| … | |
… | |
| 158 | # FIXME: should this be here? it's UI, not mail |
154 | # FIXME: should this be here? it's UI, not mail |
| 159 | # FIXME: replace this with the auto-size method that TWiki uses |
155 | # FIXME: replace this with the auto-size method that TWiki uses |
| 160 | $mail{editor_window_rows} = 15; |
156 | $mail{editor_window_rows} = 15; |
| 161 | $mail{editor_window_columns} = 100; |
157 | $mail{editor_window_columns} = 100; |
| 162 | |
158 | |
|
|
159 | # Use this to customize the text of the feedback button. |
|
|
160 | $feedback_button_name = "Email instructor"; |
|
|
161 | |
| 163 | ################################################################################ |
162 | ################################################################################ |
| 164 | # System-wide locations (directories and URLs) |
163 | # System-wide locations (directories and URLs) |
| 165 | ################################################################################ |
164 | ################################################################################ |
| 166 | |
165 | |
| 167 | # The root directory, set by webwork_root variable in Apache configuration. |
166 | # The root directory, set by webwork_root variable in Apache configuration. |
| … | |
… | |
| 220 | $webworkURLs{local_help} = "$webworkURLs{htdocs}/helpFiles"; |
219 | $webworkURLs{local_help} = "$webworkURLs{htdocs}/helpFiles"; |
| 221 | |
220 | |
| 222 | # URL of general WeBWorK documentation. |
221 | # URL of general WeBWorK documentation. |
| 223 | $webworkURLs{docs} = "http://webhost.math.rochester.edu/webworkdocs/docs"; |
222 | $webworkURLs{docs} = "http://webhost.math.rochester.edu/webworkdocs/docs"; |
| 224 | |
223 | |
| 225 | # URL of WeBWorK 1.x profLogin.pl script, for access to old professor pages. |
|
|
| 226 | # Note that both systems must share a single "courses" directory for this to be |
|
|
| 227 | # useful. Leave this blank to disable |
|
|
| 228 | $webworkURLs{oldProf} = "/webwork1/profLogin.pl"; |
|
|
| 229 | |
|
|
| 230 | # URL of WeBWorK Bugzilla database. |
224 | # URL of WeBWorK Bugzilla database. |
| 231 | $webworkURLs{bugReporter} = "http://bugs.webwork.rochester.edu/"; |
225 | $webworkURLs{bugReporter} = "http://bugs.webwork.rochester.edu/"; |
| 232 | |
226 | |
| 233 | # Location of CSS |
227 | # Location of CSS |
| 234 | $webworkURLs{stylesheet} = "$webworkURLs{htdocs}/css/ur.css"; |
228 | $webworkURLs{stylesheet} = "$webworkURLs{htdocs}/css/ur.css"; |
| … | |
… | |
| 236 | # Location of jsMath script, used for the jsMath display mode. |
230 | # Location of jsMath script, used for the jsMath display mode. |
| 237 | $webworkURLs{jsMath} = "$webworkURLs{htdocs}/jsMath/jsMath-ww.js"; |
231 | $webworkURLs{jsMath} = "$webworkURLs{htdocs}/jsMath/jsMath-ww.js"; |
| 238 | |
232 | |
| 239 | # Location of ASCIIMathML script, used for the asciimath display mode. |
233 | # Location of ASCIIMathML script, used for the asciimath display mode. |
| 240 | $webworkURLs{asciimath} = "$webworkURLs{htdocs}/ASCIIMathML/ASCIIMathML.js"; |
234 | $webworkURLs{asciimath} = "$webworkURLs{htdocs}/ASCIIMathML/ASCIIMathML.js"; |
|
|
235 | |
|
|
236 | # Location of LaTeXMathML script, used for the LaTeXMathML display mode. |
|
|
237 | $webworkURLs{LaTeXMathML} = "$webworkURLs{htdocs}/LaTeXMathML/LaTeXMathML.js"; |
| 241 | |
238 | |
| 242 | ################################################################################ |
239 | ################################################################################ |
| 243 | # Defaults for course-specific locations (directories and URLs) |
240 | # Defaults for course-specific locations (directories and URLs) |
| 244 | ################################################################################ |
241 | ################################################################################ |
| 245 | |
242 | |
| … | |
… | |
| 277 | # Location of mail-merge templates. |
274 | # Location of mail-merge templates. |
| 278 | $courseDirs{email} = "$courseDirs{templates}/email"; |
275 | $courseDirs{email} = "$courseDirs{templates}/email"; |
| 279 | |
276 | |
| 280 | # Location of temporary editing files. |
277 | # Location of temporary editing files. |
| 281 | $courseDirs{tmpEditFileDir} = "$courseDirs{templates}/tmpEdit"; |
278 | $courseDirs{tmpEditFileDir} = "$courseDirs{templates}/tmpEdit"; |
|
|
279 | |
|
|
280 | # If this is set to a non-empty value (i.e. in course.conf), WeBWorK's usual |
|
|
281 | # email feedback mechanism will be replaced with a link to the given URL. |
|
|
282 | # See also $feedback_button_name, above. |
|
|
283 | $courseURLs{feedbackURL} = ""; |
|
|
284 | |
|
|
285 | # mail merge status directory |
|
|
286 | $courseDirs{mailmerge} = "$courseDirs{DATA}/mailmerge"; |
| 282 | |
287 | |
| 283 | ################################################################################ |
288 | ################################################################################ |
| 284 | # System-wide files |
289 | # System-wide files |
| 285 | ################################################################################ |
290 | ################################################################################ |
| 286 | |
291 | |
| … | |
… | |
| 370 | # osuLibrary => "Ohio State", |
375 | # osuLibrary => "Ohio State", |
| 371 | # capaLibrary => "CAPA", |
376 | # capaLibrary => "CAPA", |
| 372 | }; |
377 | }; |
| 373 | |
378 | |
| 374 | ################################################################################ |
379 | ################################################################################ |
|
|
380 | # Status system |
|
|
381 | ################################################################################ |
|
|
382 | |
|
|
383 | # This is the default status given to new students and students with invalid |
|
|
384 | # or missing statuses. |
|
|
385 | $default_status = "Enrolled"; |
|
|
386 | |
|
|
387 | # The first abbreviation in the abbreviations list is the canonical |
|
|
388 | # abbreviation, and will be used when setting the status value in a user record |
|
|
389 | # or an exported classlist file. |
|
|
390 | # |
|
|
391 | # Results are undefined if more than one status has the same abbreviation. |
|
|
392 | # |
|
|
393 | # The four behaviors that are controlled by status are: |
|
|
394 | # allow_course_access => is this user allowed to log in? |
|
|
395 | # include_in_assignment => is this user included when assigning as set to "all" users? |
|
|
396 | # include_in_stats => is this user included in statistical reports? |
|
|
397 | # include_in_email => is this user included in emails sent to the class? |
|
|
398 | # include_in_scoring => is this user included in score reports? |
|
|
399 | |
|
|
400 | %statuses = ( |
|
|
401 | Enrolled => { |
|
|
402 | abbrevs => [qw/ C c current enrolled /], |
|
|
403 | behaviors => [qw/ allow_course_access include_in_assignment include_in_stats include_in_email include_in_scoring /], |
|
|
404 | }, |
|
|
405 | Audit => { |
|
|
406 | abbrevs => [qw/ A a audit /], |
|
|
407 | behaviors => [qw/ allow_course_access include_in_assignment include_in_stats include_in_email /], |
|
|
408 | }, |
|
|
409 | Drop => { |
|
|
410 | abbrevs => [qw/ D d drop withdraw /], |
|
|
411 | behaviors => [qw/ /], |
|
|
412 | }, |
|
|
413 | ); |
|
|
414 | |
|
|
415 | ################################################################################ |
| 375 | # Database options |
416 | # Database options |
| 376 | ################################################################################ |
417 | ################################################################################ |
| 377 | |
418 | |
| 378 | # these variables are used by database.conf. we define them here so that editing |
419 | # these variables are used by database.conf. we define them here so that editing |
| 379 | # database.conf isn't necessary. |
420 | # database.conf isn't necessary. |
| … | |
… | |
| 382 | $database_password = ""; |
423 | $database_password = ""; |
| 383 | $database_debug = 0; |
424 | $database_debug = 0; |
| 384 | |
425 | |
| 385 | # Variables for sql_moodle database layout. |
426 | # Variables for sql_moodle database layout. |
| 386 | $moodle_dsn = "dbi:mysql:moodle"; |
427 | $moodle_dsn = "dbi:mysql:moodle"; |
| 387 | $moodle_dsn = "dbi:mysql:moodle_sam"; |
|
|
| 388 | $moodle_table_prefix = "mdl_"; |
|
|
| 389 | $moodle_username = $database_username; |
428 | $moodle_username = $database_username; |
| 390 | $moodle_password = $database_password; |
429 | $moodle_password = $database_password; |
|
|
430 | $moodle_table_prefix = "mdl_"; |
|
|
431 | $moodle17 = 0; |
| 391 | |
432 | |
| 392 | # Several database are defined in the file conf/database.conf and stored in the |
433 | # Several database are defined in the file conf/database.conf and stored in the |
| 393 | # hash %dbLayouts. |
434 | # hash %dbLayouts. |
| 394 | include "conf/database.conf"; |
435 | include "conf/database.conf"; |
| 395 | |
436 | |
| … | |
… | |
| 403 | |
444 | |
| 404 | ################################################################################ |
445 | ################################################################################ |
| 405 | # Problem library options |
446 | # Problem library options |
| 406 | ################################################################################ |
447 | ################################################################################ |
| 407 | |
448 | |
|
|
449 | # For configuration instructions, see: |
|
|
450 | # http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/DatabaseProblemLibrary |
|
|
451 | |
| 408 | # The directory containing the problem library files. Set to "" if no problem |
452 | # The directory containing the problem library files. Set to "" if no problem |
| 409 | # library is installed. |
453 | # library is installed. |
| 410 | $problemLibrary{root} = ""; |
454 | $problemLibrary{root} = ""; |
| 411 | |
455 | |
| 412 | # Problem Library version |
456 | # Problem Library version |
| 413 | # Version 1 is in use. Version 2 will be released soon. |
457 | # Version 1 is in use. Version 2 will be released soon. |
| 414 | $problemLibrary{version} = "1"; |
458 | $problemLibrary{version} = "2"; |
| 415 | |
459 | |
| 416 | # The name of the SQL database containing problem metadata |
460 | # The name of the SQL database containing problem metadata |
| 417 | $problemLibrary{sourceSQL} = "ProblemLibrary"; |
461 | $problemLibrary{sourceSQL} = "ProblemLibrary"; |
| 418 | |
462 | |
| 419 | # The user name to use when connecting to the problem library database |
463 | # The user name to use when connecting to the problem library database |
| 420 | $problemLibrary{userSQL} = "webworkRead"; |
464 | $problemLibrary{userSQL} = $database_username; |
| 421 | |
465 | |
| 422 | # The password to use when connecting to the problem library database |
466 | # The password to use when connecting to the problem library database |
| 423 | $problemLibrary{passwordSQL} = ""; |
467 | $problemLibrary{passwordSQL} = $database_password; |
| 424 | |
468 | |
| 425 | ################################################################################ |
469 | ################################################################################ |
| 426 | # Logs |
470 | # Logs |
| 427 | ################################################################################ |
471 | ################################################################################ |
| 428 | |
472 | |
| … | |
… | |
| 438 | # Logs courses created via the web-based Course Administration module. |
482 | # Logs courses created via the web-based Course Administration module. |
| 439 | $webworkFiles{logs}{hosted_courses} = "$webworkDirs{logs}/hosted_courses.log"; |
483 | $webworkFiles{logs}{hosted_courses} = "$webworkDirs{logs}/hosted_courses.log"; |
| 440 | |
484 | |
| 441 | # The transaction log contains data from each recorded answer submission. This |
485 | # The transaction log contains data from each recorded answer submission. This |
| 442 | # is useful if the database becomes corrupted. |
486 | # is useful if the database becomes corrupted. |
| 443 | $webworkFiles{logs}{transaction} = "$courseDirs{logs}/transaction.log"; |
487 | $webworkFiles{logs}{transaction} = "$webworkDirs{logs}/$coursename_transaction.log"; |
| 444 | |
488 | |
| 445 | # The answer log stores a history of all users' submitted answers. |
489 | # The answer log stores a history of all users' submitted answers. |
| 446 | $courseFiles{logs}{answer_log} = "$courseDirs{logs}/answer_log"; |
490 | $courseFiles{logs}{answer_log} = "$courseDirs{logs}/answer_log"; |
| 447 | |
491 | |
| 448 | # Log logins. |
492 | # Log logins. |
| … | |
… | |
| 509 | # Select the authentication module to use for proctor logins. |
553 | # Select the authentication module to use for proctor logins. |
| 510 | # |
554 | # |
| 511 | # A string or a hash is accepted, as above. |
555 | # A string or a hash is accepted, as above. |
| 512 | # |
556 | # |
| 513 | $authen{proctor_module} = "WeBWorK::Authen::Proctor"; |
557 | $authen{proctor_module} = "WeBWorK::Authen::Proctor"; |
|
|
558 | |
|
|
559 | # Options for particular authentication modules |
|
|
560 | |
|
|
561 | $authen{moodle_options} = { |
|
|
562 | dsn => $moodle_dsn, |
|
|
563 | username => $moodle_username, |
|
|
564 | password => $moodle_password, |
|
|
565 | table_prefix => $moodle_table_prefix, |
|
|
566 | moodle17 => $moodle17, |
|
|
567 | }; |
|
|
568 | |
|
|
569 | $authen{ldap_options} = { |
|
|
570 | # hosts to attempt to connect to, in order. for example: |
|
|
571 | # auth.myschool.edu -- uses LDAP scheme and port 389 |
|
|
572 | # ldap://auth.myschool.edu:666 -- non-standard port |
|
|
573 | # ldaps://auth.myschool.edu -- uses LDAPS scheme and port 636 |
|
|
574 | # ldaps://auth.myschool.edu:389 -- SSL on non-SSL port |
|
|
575 | net_ldap_hosts => [ |
|
|
576 | "ldaps://corona-dmc.its.rochester.edu", |
|
|
577 | "ldaps://corona-dmb.acs.rochester.edu", |
|
|
578 | ], |
|
|
579 | # connection options |
|
|
580 | net_ldap_options => { |
|
|
581 | timeout => 30, |
|
|
582 | version => 3, |
|
|
583 | }, |
|
|
584 | # base to use when searching for user's DN |
|
|
585 | net_ldap_base => "ou=people,dc=rochester,dc=edu", |
|
|
586 | # If LDAP rejects password, check it against the WeBWorK password database |
|
|
587 | failover => 1, |
|
|
588 | }; |
| 514 | |
589 | |
| 515 | ################################################################################ |
590 | ################################################################################ |
| 516 | # Authorization system |
591 | # Authorization system |
| 517 | ################################################################################ |
592 | ################################################################################ |
| 518 | |
593 | |
| … | |
… | |
| 543 | change_password => "student", |
618 | change_password => "student", |
| 544 | change_email_address => "student", |
619 | change_email_address => "student", |
| 545 | |
620 | |
| 546 | proctor_quiz => "proctor", |
621 | proctor_quiz => "proctor", |
| 547 | view_proctored_tests => "ta", |
622 | view_proctored_tests => "ta", |
|
|
623 | view_hidden_work => "ta", |
| 548 | |
624 | |
| 549 | view_multiple_sets => "ta", |
625 | view_multiple_sets => "ta", |
| 550 | view_unopened_sets => "ta", |
626 | view_unopened_sets => "ta", |
| 551 | view_unpublished_sets => "ta", |
627 | view_unpublished_sets => "ta", |
| 552 | view_answers => "ta", |
628 | view_answers => "ta", |
| … | |
… | |
| 608 | # This is the default permission level given to new students and students with |
684 | # This is the default permission level given to new students and students with |
| 609 | # invalid or missing permission levels. |
685 | # invalid or missing permission levels. |
| 610 | $default_permission_level = $userRoles{student}; |
686 | $default_permission_level = $userRoles{student}; |
| 611 | |
687 | |
| 612 | ################################################################################ |
688 | ################################################################################ |
| 613 | # Status system |
|
|
| 614 | ################################################################################ |
|
|
| 615 | |
|
|
| 616 | # This is the default status given to new students and students with invalid |
|
|
| 617 | # or missing statuses. |
|
|
| 618 | $default_status = "Enrolled"; |
|
|
| 619 | |
|
|
| 620 | # The first abbreviation in the abbreviations list is the canonical |
|
|
| 621 | # abbreviation, and will be used when setting the status value in a user record |
|
|
| 622 | # or an exported classlist file. |
|
|
| 623 | # |
|
|
| 624 | # Results are undefined if more than one status has the same abbreviation. |
|
|
| 625 | # |
|
|
| 626 | # The four behaviors that are controlled by status are: |
|
|
| 627 | # allow_course_access => is this user allowed to log in? |
|
|
| 628 | # include_in_assignment => is this user included when assigning as set to "all" users? |
|
|
| 629 | # include_in_stats => is this user included in statistical reports? |
|
|
| 630 | # include_in_email => is this user included in emails sent to the class? |
|
|
| 631 | # include_in_scoring => is this user included in score reports? |
|
|
| 632 | |
|
|
| 633 | %statuses = ( |
|
|
| 634 | Enrolled => { |
|
|
| 635 | abbrevs => [qw/ C c current enrolled /], |
|
|
| 636 | behaviors => [qw/ allow_course_access include_in_assignment include_in_stats |
|
|
| 637 | include_in_email include_in_scoring /], |
|
|
| 638 | }, |
|
|
| 639 | Audit => { |
|
|
| 640 | abbrevs => [qw/ A a audit /], |
|
|
| 641 | behaviors => [qw/ allow_course_access include_in_assignment include_in_stats |
|
|
| 642 | include_in_email /], |
|
|
| 643 | }, |
|
|
| 644 | Drop => { |
|
|
| 645 | abbrevs => [qw/ D d drop withdraw /], |
|
|
| 646 | behaviors => [qw/ /], |
|
|
| 647 | }, |
|
|
| 648 | ); |
|
|
| 649 | |
|
|
| 650 | ################################################################################ |
|
|
| 651 | # Session options |
689 | # Session options |
| 652 | ################################################################################ |
690 | ################################################################################ |
| 653 | |
691 | |
| 654 | # $sessionKeyTimeout defines seconds of inactivity before a key expires |
692 | # $sessionKeyTimeout defines seconds of inactivity before a key expires |
| 655 | $sessionKeyTimeout = 60*30; |
693 | $sessionKeyTimeout = 60*30; |
| … | |
… | |
| 684 | "plainText", # display raw TeX for math expressions |
722 | "plainText", # display raw TeX for math expressions |
| 685 | "formattedText", # format math expressions using TtH |
723 | "formattedText", # format math expressions using TtH |
| 686 | "images", # display math expressions as images generated by dvipng |
724 | "images", # display math expressions as images generated by dvipng |
| 687 | "jsMath", # render TeX math expressions on the client side using jsMath |
725 | "jsMath", # render TeX math expressions on the client side using jsMath |
| 688 | "asciimath", # render TeX math expressions on the client side using ASCIIMathML |
726 | "asciimath", # render TeX math expressions on the client side using ASCIIMathML |
|
|
727 | "LaTeXMathML", # render TeX math expressions on the client side using LaTeXMathML |
| 689 | ]; |
728 | ]; |
| 690 | |
729 | |
| 691 | #### Default settings for the PG translator |
730 | #### Default settings for the PG translator |
| 692 | |
731 | |
| 693 | # Default display mode. Should be listed above. |
732 | # Default display mode. Should be listed above. |
| … | |
… | |
| 732 | |
771 | |
| 733 | # "images" mode has several settings: |
772 | # "images" mode has several settings: |
| 734 | $pg{displayModeOptions}{images} = { |
773 | $pg{displayModeOptions}{images} = { |
| 735 | # Determines the method used to align images in output. Can be |
774 | # Determines the method used to align images in output. Can be |
| 736 | # "baseline", "absmiddle", or "mysql". |
775 | # "baseline", "absmiddle", or "mysql". |
| 737 | dvipng_align => 'baseline', |
776 | dvipng_align => 'mysql', |
| 738 | |
777 | |
| 739 | # If we choose mysql, we need information on connecting to the |
778 | # If mysql is chosen, this information indicates which database contains the |
| 740 | # database. Whatever you use here, you have to create the database |
779 | # 'depths' table. Since 2.3.0, the depths table is kept in the main webwork |
| 741 | # and grant read/write priveleges to the user listed here. To create |
780 | # database. (If you are upgrading from an earlier version of webwork, and |
| 742 | # the database in mysql, as root use: |
781 | # used the mysql method in the past, you should move your existing 'depths' |
| 743 | # |
782 | # table to the main database.) |
| 744 | # CREATE DATABASE DvipngDepths; |
|
|
| 745 | # USE DvipngDepths; |
|
|
| 746 | # CREATE TABLE depths (md5 CHAR(33) NOT NULL, depth SMALLINT, PRIMARY KEY (md5)); |
|
|
| 747 | # GRANT ALL ON DvipngDepths.* TO webworkWrite; |
|
|
| 748 | # |
|
|
| 749 | # In the last statement, "webworkWrite" should match the user below. |
|
|
| 750 | # FIXME: this database can become a table in the 'webwork' database |
|
|
| 751 | dvipng_depth_db => { |
783 | dvipng_depth_db => { |
| 752 | dbsource => 'dbi:mysql:DvipngDepths', |
784 | dbsource => $database_dsn, |
| 753 | user => $dbLayouts{sql_single}->{password}->{params}->{usernameRW}, |
785 | user => $database_username, |
| 754 | passwd => $dbLayouts{sql_single}->{password}->{params}->{passwordRW}, |
786 | passwd => $database_password, |
| 755 | }, |
787 | }, |
| 756 | }; |
788 | }; |
| 757 | |
789 | |
| 758 | $pg{displayModeOptions}{jsMath} = { |
790 | $pg{displayModeOptions}{jsMath} = { |
| 759 | reportMissingFonts => 0, # set to 1 to allow the missing font message |
791 | reportMissingFonts => 0, # set to 1 to allow the missing font message |
| … | |
… | |
| 766 | |
798 | |
| 767 | # The root of the PG directory tree (from pg_root in Apache config). |
799 | # The root of the PG directory tree (from pg_root in Apache config). |
| 768 | $pg{directories}{root} = "$pg_dir"; |
800 | $pg{directories}{root} = "$pg_dir"; |
| 769 | $pg{directories}{lib} = "$pg{directories}{root}/lib"; |
801 | $pg{directories}{lib} = "$pg{directories}{root}/lib"; |
| 770 | $pg{directories}{macros} = "$pg{directories}{root}/macros"; |
802 | $pg{directories}{macros} = "$pg{directories}{root}/macros"; |
| 771 | $pg{directories}{applets} = "http://$domainName$webwork_htdocs_url/applets"; |
|
|
| 772 | |
803 | |
| 773 | # |
804 | # |
| 774 | # The macro file search path. Each directory in this list is seached |
805 | # The macro file search path. Each directory in this list is seached |
| 775 | # (in this order) by loadMacros() when it looks for a .pl file. |
806 | # (in this order) by loadMacros() when it looks for a .pl file. |
| 776 | # |
807 | # |
| … | |
… | |
| 778 | ".", # search the problem file's directory |
809 | ".", # search the problem file's directory |
| 779 | $courseDirs{macros}, |
810 | $courseDirs{macros}, |
| 780 | $pg{directories}{macros}, |
811 | $pg{directories}{macros}, |
| 781 | ]; |
812 | ]; |
| 782 | |
813 | |
|
|
814 | # The applet search path. If a full URL is given, it is used unmodified. If an |
|
|
815 | # absolute path is given, the URL of the local server is prepended to it. |
|
|
816 | # |
|
|
817 | # For example, if an item is "/math/applets", |
|
|
818 | # and the local server is "https://math.yourschool.edu", |
|
|
819 | # then the URL "https://math.yourschool.edu/math/applets" will be used. |
|
|
820 | # |
| 783 | $pg{directories}{appletPath} = [ # paths to search for applets (requires full url) |
821 | $pg{directories}{appletPath} = [ # paths to search for applets (requires full url) |
| 784 | $pg{directories}{applets}, |
822 | "$webworkURLs{htdocs}/applets", |
| 785 | "http://$domainName$courseURLs{html}/applets", |
823 | "$courseURLs{html}/applets", |
| 786 | ]; |
824 | ]; |
| 787 | |
825 | |
| 788 | ##### "Special" PG environment variables. (Stuff that doesn't fit in anywhere else.) |
826 | ##### "Special" PG environment variables. (Stuff that doesn't fit in anywhere else.) |
| 789 | |
827 | |
| 790 | # Users for whom to print the file name of the PG file being processed. |
828 | # Users for whom to print the file name of the PG file being processed. |