| 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.141 2005/09/23 23:31:15 sh002i Exp $ |
5 | # $CVSHeader: webwork2/conf/global.conf.dist,v 1.142 2005/09/27 03:58:06 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. |
| … | |
… | |
| 474 | |
474 | |
| 475 | ################################################################################ |
475 | ################################################################################ |
| 476 | # Authorization system |
476 | # Authorization system |
| 477 | ################################################################################ |
477 | ################################################################################ |
| 478 | |
478 | |
| 479 | # This lets you specify a minimum permission level needed to perform certain |
479 | # this section lets you define which groups of users can perform which actions. |
| 480 | # actions. For each pair in the hash below, in order to perform the action |
|
|
| 481 | # described by the key, the user must have a permission level greater than or |
|
|
| 482 | # equal to the value. |
|
|
| 483 | |
480 | |
| 484 | my $guest = -5; |
481 | # this hash maps a numeric permission level to the name of a role. the number |
| 485 | my $student = 0; |
482 | # assigned to a role is significant -- roles with higher numbers are considered |
| 486 | my $proctor = 2; |
483 | # "more privileged", and are included when that role is listed for a privilege |
| 487 | my $ta = 5; |
484 | # below. |
|
|
485 | # |
|
|
486 | %userRoles = ( |
|
|
487 | guest => -5, |
|
|
488 | student => 0, |
|
|
489 | proctor => 2, |
|
|
490 | ta => 5, |
| 488 | my $professor = 10; |
491 | professor => 10, |
| 489 | my $nobody = undef; |
492 | ); |
| 490 | |
493 | |
|
|
494 | # this hash maps operations to the roles that are allowed to perform those |
|
|
495 | # operations. the role listed and any role with a higher permission level (in |
|
|
496 | # the %userRoles hash) will be allowed to perform the operation. If the role |
|
|
497 | # is undefined, no users will be allowed to perform the operation. |
|
|
498 | # |
| 491 | %permissionLevels = ( |
499 | %permissionLevels = ( |
| 492 | login => $guest, |
500 | login => "guest", |
| 493 | report_bugs => $student, |
501 | report_bugs => "student", |
| 494 | submit_feedback => $student, |
502 | submit_feedback => "student", |
| 495 | change_password => $student, |
503 | change_password => "student", |
| 496 | change_email_address => $student, |
504 | change_email_address => "student", |
| 497 | |
505 | |
| 498 | proctor_quiz => $proctor, |
506 | proctor_quiz => "proctor", |
| 499 | |
507 | |
| 500 | view_multiple_sets => $ta, |
508 | view_multiple_sets => "ta", |
| 501 | view_unopened_sets => $ta, |
509 | view_unopened_sets => "ta", |
| 502 | view_unpublished_sets => $ta, |
510 | view_unpublished_sets => "ta", |
| 503 | view_answers => $ta, |
511 | view_answers => "ta", |
| 504 | |
512 | |
| 505 | become_student => $professor, |
513 | become_student => "professor", |
| 506 | access_instructor_tools => $ta, |
514 | access_instructor_tools => "ta", |
| 507 | score_sets => $professor, |
515 | score_sets => "professor", |
| 508 | send_mail => $professor, |
516 | send_mail => "professor", |
| 509 | receive_feedback => $ta, |
517 | receive_feedback => "ta", |
| 510 | |
518 | |
| 511 | create_and_delete_problem_sets => $professor, |
519 | create_and_delete_problem_sets => "professor", |
| 512 | assign_problem_sets => $professor, |
520 | assign_problem_sets => "professor", |
| 513 | modify_problem_sets => $professor, |
521 | modify_problem_sets => "professor", |
| 514 | modify_student_data => $professor, |
522 | modify_student_data => "professor", |
| 515 | modify_classlist_files => $professor, |
523 | modify_classlist_files => "professor", |
| 516 | modify_set_def_files => $professor, |
524 | modify_set_def_files => "professor", |
| 517 | modify_scoring_files => $professor, |
525 | modify_scoring_files => "professor", |
| 518 | modify_problem_template_files => $professor, |
526 | modify_problem_template_files => "professor", |
| 519 | |
527 | |
| 520 | create_and_delete_courses => $professor, |
528 | create_and_delete_courses => "professor", |
| 521 | fix_course_databases => $professor, |
529 | fix_course_databases => "professor", |
| 522 | |
530 | |
| 523 | ##### Behavior of the interactive problem processor ##### |
531 | ##### Behavior of the interactive problem processor ##### |
| 524 | |
532 | |
| 525 | show_correct_answers_before_answer_date => $ta, |
533 | show_correct_answers_before_answer_date => "ta", |
| 526 | show_solutions_before_answer_date => $ta, |
534 | show_solutions_before_answer_date => "ta", |
| 527 | avoid_recording_answers => $ta, |
535 | avoid_recording_answers => "ta", |
| 528 | # Below this level, old answers are never initially shown |
536 | # Below this level, old answers are never initially shown |
| 529 | can_show_old_answers_by_default => $student, |
537 | can_show_old_answers_by_default => "student", |
| 530 | # at this level, we look at showOldAnswers for default value |
538 | # at this level, we look at showOldAnswers for default value |
| 531 | # even after the due date |
539 | # even after the due date |
| 532 | can_always_use_show_old_answers_default => $professor, |
540 | can_always_use_show_old_answers_default => "professor", |
| 533 | check_answers_before_open_date => $ta, |
541 | check_answers_before_open_date => "ta", |
| 534 | check_answers_after_open_date_with_attempts => $ta, |
542 | check_answers_after_open_date_with_attempts => "ta", |
| 535 | check_answers_after_open_date_without_attempts => $guest, |
543 | check_answers_after_open_date_without_attempts => "guest", |
| 536 | check_answers_after_due_date => $guest, |
544 | check_answers_after_due_date => "guest", |
| 537 | check_answers_after_answer_date => $guest, |
545 | check_answers_after_answer_date => "guest", |
| 538 | record_answers_when_acting_as_student => $nobody, |
546 | record_answers_when_acting_as_student => undef, |
| 539 | # "record_answers_when_acting_as_student" takes precedence |
547 | # "record_answers_when_acting_as_student" takes precedence |
| 540 | # over the following for professors acting as students: |
548 | # over the following for professors acting as students: |
| 541 | record_answers_before_open_date => $nobody, |
549 | record_answers_before_open_date => undef, |
| 542 | record_answers_after_open_date_with_attempts => $student, |
550 | record_answers_after_open_date_with_attempts => "student", |
| 543 | record_answers_after_open_date_without_attempts => $nobody, |
551 | record_answers_after_open_date_without_attempts => undef, |
| 544 | record_answers_after_due_date => $nobody, |
552 | record_answers_after_due_date => undef, |
| 545 | record_answers_after_answer_date => $nobody, |
553 | record_answers_after_answer_date => undef, |
| 546 | dont_log_past_answers => $professor, |
554 | dont_log_past_answers => "professor", |
| 547 | |
555 | |
| 548 | ##### Behavior of the Hardcopy Processor ##### |
556 | ##### Behavior of the Hardcopy Processor ##### |
| 549 | |
557 | |
| 550 | download_hardcopy_multiuser => $ta, |
558 | download_hardcopy_multiuser => "ta", |
| 551 | download_hardcopy_multiset => $ta, |
559 | download_hardcopy_multiset => "ta", |
| 552 | download_hardcopy_format_pdf => $guest, |
560 | download_hardcopy_format_pdf => "guest", |
| 553 | download_hardcopy_format_tex => $ta, |
561 | download_hardcopy_format_tex => "ta", |
| 554 | ); |
562 | ); |
| 555 | |
563 | |
| 556 | ################################################################################ |
564 | ################################################################################ |
| 557 | # Session options |
565 | # Session options |
| 558 | ################################################################################ |
566 | ################################################################################ |