diff --git a/conf/defaults.config b/conf/defaults.config index 4c769c02c2..d21021e366 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -14,7 +14,7 @@ # file, you can put a directive in localOverrides.conf. include("conf/site.conf"); -include("VERSION"); # get WW version +include("VERSION"); # get WW version # The version of PG is now obtained from the file pg/VERSION # using code added to CourseEnvironment.pm # with this one exception include can only read files under the webwork2 directory @@ -34,9 +34,9 @@ $generic_sender_name = ''; # The following variables will override the "From:" address in messages sent by # the named feature. -$feedback_sender_email = ''; # For student feedback -$instructor_sender_email = ''; # For instructors emailing students -$jitar_sender_email = ''; # For notifications of incomplete JiTaR sets +$feedback_sender_email = ''; # For student feedback +$instructor_sender_email = ''; # For instructors emailing students +$jitar_sender_email = ''; # For notifications of incomplete JiTaR sets # By default, feedback is sent to all users who have permission to # receive_feedback in a course. If this list is non-empty, feedback is also sent @@ -57,7 +57,7 @@ $jitar_sender_email = ''; # For notifications of incomplete JiTaR sets # The advantage of this form is that the resulting email will include the name # of the recipient in the "To" field of the email. -$mail{feedbackRecipients} = [ +$mail{feedbackRecipients} = [ #'prof1@yourserver.yourdomain.edu', #'prof2@yourserver.yourdomain.edu', ]; @@ -79,7 +79,7 @@ $mail{feedbackSubjectFormat} = '[WWfeedback] course:%c user:%u{ set:%s}{ prob:%p # 0: send only the feedback comment and context link # 1: as in 0, plus user, set, problem, and PG data # 2: as in 1, plus the problem environment (debugging data) -$mail{feedbackVerbosity} = 1; +$mail{feedbackVerbosity} = 1; # Should the studentID be included in the feedback email when feedbackVerbosity > 0: # The default is yes @@ -88,7 +88,7 @@ $blockStudentIDinFeedback = 0; # Defines the initial height of the Mail Merge editor window # FIXME: should this be here? it's UI, not mail # FIXME: replace this with the auto-size method that TWiki uses -$mail{editor_window_rows} = 15; +$mail{editor_window_rows} = 15; ################################################################################## # Customizing the action of the "Email your instructor" button @@ -135,24 +135,24 @@ $institutionName = 'MAA (Mathematical Association of America)'; ################################################################################ # Achievements ################################################################################ -$achievementsEnabled = 0; -$achievementItemsEnabled = 0; -$achievementPointsPerProblem = 5; +$achievementsEnabled = 0; +$achievementItemsEnabled = 0; +$achievementPointsPerProblem = 5; $achievementPointsPerProblemReduced = 3; -$achievementPreambleFile = "preamble.at"; -$achievementExcludeSet = []; -$achievementExtensionFactor = 1; -$mail{achievementEmailFrom} = ''; -$showCourseHomeworkTotals = 1; +$achievementPreambleFile = "preamble.at"; +$achievementExcludeSet = []; +$achievementExtensionFactor = 1; +$mail{achievementEmailFrom} = ''; +$showCourseHomeworkTotals = 1; ################################################################################ # Editor ################################################################################ -$editor{author} = ''; +$editor{author} = ''; $editor{authorInstitute} = ''; -$editor{textTitle} = ''; -$editor{textEdition} = ''; -$editor{textAuthor} = ''; +$editor{textTitle} = ''; +$editor{textEdition} = ''; +$editor{textAuthor} = ''; ################################################################################ # Enter key behavior @@ -172,12 +172,7 @@ $pg{options}{showMeAnotherMaxReps} = 3; # changes the problem $pg{options}{showMeAnotherGeneratesDifferentProblem} = 5; # showMeAnother options -$pg{options}{showMeAnother}=[ -"SMAcheckAnswers", -"SMAshowSolutions", -"SMAshowCorrect", -"SMAshowHints", -]; +$pg{options}{showMeAnother} = [ "SMAcheckAnswers", "SMAshowSolutions", "SMAshowCorrect", "SMAshowHints", ]; ################################################################################ # showHintsAfter @@ -263,67 +258,67 @@ $studentDateDisplayFormat = 'datetime_format_long'; ################################################################################ # The root directory, set by webwork_root variable in Apache configuration. -$webworkDirs{root} = "$webwork_dir"; +$webworkDirs{root} = "$webwork_dir"; # Location of system-wide data files. -$webworkDirs{DATA} = "$webworkDirs{root}/DATA"; +$webworkDirs{DATA} = "$webworkDirs{root}/DATA"; # Used for temporary storage of uploaded files. -$webworkDirs{uploadCache} = "$webworkDirs{DATA}/uploads"; +$webworkDirs{uploadCache} = "$webworkDirs{DATA}/uploads"; # Location of utility programs. -$webworkDirs{bin} = "$webworkDirs{root}/bin"; +$webworkDirs{bin} = "$webworkDirs{root}/bin"; # Location of configuration files. -$webworkDirs{conf} = "$webworkDirs{root}/conf"; +$webworkDirs{conf} = "$webworkDirs{root}/conf"; # Location of assets (tex, pg, themes) -$webworkDirs{assets} = "$webworkDirs{root}/assets"; +$webworkDirs{assets} = "$webworkDirs{root}/assets"; # Location of the distribution hardcopy themes. $webworkDirs{hardcopyThemes} = "$webworkDirs{assets}/hardcopyThemes"; # Location of course directories. -$webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses"; +$webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses"; # Contains log files. -$webworkDirs{logs} = "$webworkDirs{root}/logs"; +$webworkDirs{logs} = "$webworkDirs{root}/logs"; # Contains non-web-accessible temporary files, such as TeX working directories. -$webworkDirs{tmp} = "$webworkDirs{root}/tmp"; +$webworkDirs{tmp} = "$webworkDirs{root}/tmp"; # The (absolute) destinations of symbolic links that are OK for the FileManager to follow. # (any subdirectory of these is a valid target for a symbolic link.) # For example: # $webworkDirs{valid_symlinks} = ["$webworkDirs{courses}/modelCourse/templates","/ww2/common/sets"]; -$webworkDirs{valid_symlinks} = []; +$webworkDirs{valid_symlinks} = []; # Location of the webwork2.sty and its dependencies used for hardcopy generation. -$webworkDirs{assetsTex} = "$webworkDirs{assets}/tex"; +$webworkDirs{assetsTex} = "$webworkDirs{assets}/tex"; ################################################################################ ##### The following locations are web-accessible. ################################################################################ # The root URL (usually /webwork2), set by in Apache configuration. -$webworkURLs{root} = "$webwork_url"; +$webworkURLs{root} = "$webwork_url"; # Location of system-wide web-accessible files, such as equation images, and # help files. -$webworkDirs{htdocs} = "$webwork_htdocs_dir" || "$webworkDirs{root}/htdocs"; -$webworkURLs{htdocs} = "$webwork_htdocs_url"; +$webworkDirs{htdocs} = "$webwork_htdocs_dir" || "$webworkDirs{root}/htdocs"; +$webworkURLs{htdocs} = "$webwork_htdocs_url"; # Location of web-accessible temporary files, such as equation images. # These two should be set in localOverrides.conf -- not here since this can be overwritten by new versions. -$webworkDirs{htdocs_temp} = "$webworkDirs{htdocs}/tmp"; -$webworkURLs{htdocs_temp} = "$webworkURLs{htdocs}/tmp"; +$webworkDirs{htdocs_temp} = "$webworkDirs{htdocs}/tmp"; +$webworkURLs{htdocs_temp} = "$webworkURLs{htdocs}/tmp"; # Location of cached equation images. $webworkDirs{equationCache} = "$webworkDirs{htdocs_temp}/equations"; $webworkURLs{equationCache} = "$webworkURLs{htdocs_temp}/equations"; # Location of theme templates. -$webworkDirs{themes} = "$webworkDirs{htdocs}/themes"; +$webworkDirs{themes} = "$webworkDirs{htdocs}/themes"; # Location of localization directory. $webworkDirs{localize} = "$webworkDirs{root}/lib/WeBWorK/Localize"; @@ -333,12 +328,12 @@ $webworkURLs{webwork2BugReporter} = "https://github.com/openwebwork/webwork2/iss $webworkURLs{OPLBugReporter} = "https://github.com/openwebwork/webwork-open-problem-library/issues/new"; # URL of WeBWorK on GitHub -$webworkURLs{GitHub} = "https://github.com/openwebwork"; +$webworkURLs{GitHub} = "https://github.com/openwebwork"; # Registration form URL, security signup mail address -$webworkURLs{serverRegForm} = "https://forms.gle/vrqpKiRHritnQNf37"; +$webworkURLs{serverRegForm} = "https://forms.gle/vrqpKiRHritnQNf37"; $webworkURLs{wwSecurityAnnounce} = "https://groups.google.com/g/ww-security-announce"; -$webworkSecListManagers = 'ww-security-announce+managers@googlegroups.com'; +$webworkSecListManagers = 'ww-security-announce+managers@googlegroups.com'; # URLs in the Wiki $webworkURLs{WikiMain} = "https://wiki.openwebwork.org/wiki"; @@ -369,17 +364,17 @@ $webworkURLs{AuthorHelpURL} = 'https://wiki.openwebwork.org/wiki/Category:A #RE-CONFIGURE problemLibrary values in localOverrides.conf # if these defaults are not correct. ################################################# -$problemLibrary{root} = "/opt/webwork/libraries/webwork-open-problem-library/OpenProblemLibrary"; -$contribLibrary{root} = "/opt/webwork/libraries/webwork-open-problem-library/Contrib"; -$problemLibrary{version} = "2.5"; +$problemLibrary{root} = "/opt/webwork/libraries/webwork-open-problem-library/OpenProblemLibrary"; +$contribLibrary{root} = "/opt/webwork/libraries/webwork-open-problem-library/Contrib"; +$problemLibrary{version} = "2.5"; ########################################################### # Problem Library SQL database connection information $problemLibrary_db = { - dbsource => $database_dsn, - user => $database_username, - passwd => $database_password, - storage_engine => 'MYISAM', + dbsource => $database_dsn, + user => $database_username, + passwd => $database_password, + storage_engine => 'MYISAM', }; $problemLibrary{tree} = 'library-directory-tree.json'; @@ -397,31 +392,31 @@ $problemLibrary{showLibraryGlobalStats} = 1; # The root directory of the current course. (The ID of the current course is # available in $courseName.) -$courseDirs{root} = "$webworkDirs{courses}/$courseName"; +$courseDirs{root} = "$webworkDirs{courses}/$courseName"; # Location of course-specific data files. -$courseDirs{DATA} = "$courseDirs{root}/DATA"; +$courseDirs{DATA} = "$courseDirs{root}/DATA"; # Location of course HTML files, passed to PG. -$courseDirs{html} = "$courseDirs{root}/html"; -$courseURLs{html} = "$webwork_courses_url/$courseName"; +$courseDirs{html} = "$courseDirs{root}/html"; +$courseURLs{html} = "$webwork_courses_url/$courseName"; # Location of course image files, passed to PG. $courseDirs{html_images} = "$courseDirs{html}/images"; # Location of web-accessible, course-specific temporary files, like static and # dynamically-generated PG graphics. -$courseDirs{html_temp} = "$webworkDirs{htdocs_temp}/$courseName"; -$courseURLs{html_temp} = "$webworkURLs{htdocs_temp}/$courseName"; +$courseDirs{html_temp} = "$webworkDirs{htdocs_temp}/$courseName"; +$courseURLs{html_temp} = "$webworkURLs{htdocs_temp}/$courseName"; # Location of course-specific logs, like the transaction log. -$courseDirs{logs} = "$courseDirs{root}/logs"; +$courseDirs{logs} = "$courseDirs{root}/logs"; # Location of scoring files. -$courseDirs{scoring} = "$courseDirs{root}/scoring"; +$courseDirs{scoring} = "$courseDirs{root}/scoring"; # Location of PG templates and set definition files. -$courseDirs{templates} = "$courseDirs{root}/templates"; +$courseDirs{templates} = "$courseDirs{root}/templates"; # Location of hardcopy theme files. $courseDirs{hardcopyThemes} = "$courseDirs{templates}/hardcopyThemes"; @@ -429,39 +424,40 @@ $courseDirs{hardcopyThemes} = "$courseDirs{templates}/hardcopyThemes"; # Location of course achievement files. $courseDirs{achievements} = "$courseDirs{templates}/achievements"; $courseDirs{achievement_notifications} = "$courseDirs{achievements}/notifications"; -$courseDirs{achievements_html} = "$courseDirs{html}/achievements"; #contains badge icons +$courseDirs{achievements_html} = "$courseDirs{html}/achievements"; #contains badge icons $courseURLs{achievements} = "$courseURLs{html}/achievements"; # Location of course-specific macro files. -$courseDirs{macros} = "$courseDirs{templates}/macros"; +$courseDirs{macros} = "$courseDirs{templates}/macros"; # Location of mail-merge templates. -$courseDirs{email} = "$courseDirs{templates}/email"; +$courseDirs{email} = "$courseDirs{templates}/email"; # Location of temporary editing files. -$courseDirs{tmpEditFileDir} = "$courseDirs{templates}/tmpEdit"; +$courseDirs{tmpEditFileDir} = "$courseDirs{templates}/tmpEdit"; # mail merge status directory -$courseDirs{mailmerge} = "$courseDirs{DATA}/mailmerge"; +$courseDirs{mailmerge} = "$courseDirs{DATA}/mailmerge"; # course links that are regulated by webwork2 -$courseLinks{Library} = [ $problemLibrary{root}, "$courseDirs{templates}/Library" ]; -$courseLinks{Contrib} = [ $contribLibrary{root}, "$courseDirs{templates}/Contrib" ]; -$courseLinks{Student_Orientation} = [ "$webworkDirs{assets}/pg/Student_Orientation", "$courseDirs{templates}/Student_Orientation" ]; +$courseLinks{Library} = [ $problemLibrary{root}, "$courseDirs{templates}/Library" ]; +$courseLinks{Contrib} = [ $contribLibrary{root}, "$courseDirs{templates}/Contrib" ]; +$courseLinks{Student_Orientation} = + [ "$webworkDirs{assets}/pg/Student_Orientation", "$courseDirs{templates}/Student_Orientation" ]; ################################################################################ # System-wide files ################################################################################ # Location of this file. -$webworkFiles{environment} = "$webworkDirs{conf}/defaults.conf"; +$webworkFiles{environment} = "$webworkDirs{conf}/defaults.conf"; # Flat-file database used to protect against MD5 hash collisions. TeX equations # are hashed to determine the name of the image file. There is a tiny chance of # a collision between two TeX strings. This file allows for that. However, this # is slow, so most people chose not to worry about it. Set this to "" if you # don't want to use the equation cache file. -$webworkFiles{equationCacheDB} = ""; # "$webworkDirs{DATA}/equationcache"; +$webworkFiles{equationCacheDB} = ""; # "$webworkDirs{DATA}/equationcache"; ################################################################################ # Hardcopy Theme @@ -495,7 +491,7 @@ $hardcopyThemes = [ # Default hardcopy themes (should either be an enabled site theme or a theme in # the course hardcopyThemes folder -$hardcopyTheme = 'twoColumn.xml'; +$hardcopyTheme = 'twoColumn.xml'; $hardcopyThemePGEditor = 'empty.xml'; ################################################################################ @@ -505,7 +501,7 @@ $hardcopyThemePGEditor = 'empty.xml'; # The setHeader precedes each set in hardcopy output. It is a PG file. # This is the default file which is used if a specific files is not selected -$webworkFiles{hardcopySnippets}{setHeader} = "$webworkDirs{assets}/pg/defaultSetHeader.pg"; +$webworkFiles{hardcopySnippets}{setHeader} = "$webworkDirs{assets}/pg/defaultSetHeader.pg"; ################################################################################ ##### Screen snippets are used when displaying problem sets on the screen. @@ -513,13 +509,13 @@ $webworkFiles{hardcopySnippets}{setHeader} = "$webworkDirs{assets}/pg/defaul # The set header is displayed on the problem set page. It is a PG file. # This is the default file which is used if a specific files is not selected -$webworkFiles{screenSnippets}{setHeader} = "$webworkDirs{assets}/pg/defaultSetHeader.pg"; +$webworkFiles{screenSnippets}{setHeader} = "$webworkDirs{assets}/pg/defaultSetHeader.pg"; # A PG template for creation of new problems. -$webworkFiles{screenSnippets}{blankProblem} = "$webworkDirs{assets}/pg/newProblem.pg"; +$webworkFiles{screenSnippets}{blankProblem} = "$webworkDirs{assets}/pg/newProblem.pg"; # A site info "message of the day" file -$webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt"; +$webworkFiles{site_info} = "$webworkDirs{htdocs}/site_info.txt"; ################################################################################ # Course-specific files @@ -537,14 +533,11 @@ $courseFiles{course_info} = "course_info.txt"; # File contents are displayed on the login page. Path given here is relative to # the templates directory. -$courseFiles{login_info} = "login_info.txt"; +$courseFiles{login_info} = "login_info.txt"; # These course specific files cannot be edited from the File Manager for safety reasons except # by an administrator. These are paths relative to the course directory. -$uneditableCourseFiles = [ - 'simple.conf', - 'course.conf', -]; +$uneditableCourseFiles = [ 'simple.conf', 'course.conf', ]; # Additional library buttons can be added to the Library Browser (SetMaker.pm) # by adding the libraries you want to the following line. For each key=>value @@ -591,23 +584,24 @@ $default_status = "Enrolled"; %statuses = ( Enrolled => { - abbrevs => [qw/ C c current enrolled /], - behaviors => [qw/ allow_course_access include_in_assignment include_in_stats include_in_email include_in_scoring /], + abbrevs => [qw/ C c current enrolled /], + behaviors => + [qw/ allow_course_access include_in_assignment include_in_stats include_in_email include_in_scoring /], }, Audit => { - abbrevs => [qw/ A a audit /], + abbrevs => [qw/ A a audit /], behaviors => [qw/ allow_course_access include_in_assignment include_in_stats include_in_email /], }, Observer => { - abbrevs => [qw/ O o observer /], + abbrevs => [qw/ O o observer /], behaviors => [qw/ allow_course_access include_in_assignment /], }, Drop => { - abbrevs => [qw/ D d drop withdraw /], + abbrevs => [qw/ D d drop withdraw /], behaviors => [qw/ /], }, Proctor => { - abbrevs => [qw/ P p proctor /], + abbrevs => [qw/ P p proctor /], behaviors => [qw/ /], }, ); @@ -628,31 +622,30 @@ $maxCourseIdLength = 40; # Logs ################################################################################ - # Logs data about how long it takes to process problems. (Do not confuse this # with the /other/ timing log which can be set by WeBWorK::Timing and is used # for benchmarking system performance in general. At some point, this timing # mechanism will be deprecated in favor of the WeBWorK::Timing mechanism.) -$webworkFiles{logs}{timing} = "$webworkDirs{logs}/timing.log"; +$webworkFiles{logs}{timing} = "$webworkDirs{logs}/timing.log"; # Logs data about how long it takes to process problems. (Do not confuse this # with the /other/ timing log which can be set by WeBWorK::Timing and is used # for benchmarking system performance in general. At some point, this timing # mechanism will be deprecated in favor of the WeBWorK::Timing mechanism.) -$webworkFiles{logs}{render_timing} = "$webworkDirs{logs}/render_timing.log"; +$webworkFiles{logs}{render_timing} = "$webworkDirs{logs}/render_timing.log"; # Logs courses created via the web-based Course Administration module. $webworkFiles{logs}{hosted_courses} = "$webworkDirs{logs}/hosted_courses.log"; # The transaction log contains data from each recorded answer submission. This # is useful if the database becomes corrupted. -$webworkFiles{logs}{transaction} = "$webworkDirs{logs}/${courseName}_transaction.log"; +$webworkFiles{logs}{transaction} = "$webworkDirs{logs}/${courseName}_transaction.log"; # The answer log stores a history of all users' submitted answers. -$courseFiles{logs}{answer_log} = "$courseDirs{logs}/answer.log"; +$courseFiles{logs}{answer_log} = "$courseDirs{logs}/answer.log"; # Log logins. -$courseFiles{logs}{login_log} = "$courseDirs{logs}/login.log"; +$courseFiles{logs}{login_log} = "$courseDirs{logs}/login.log"; # Log for almost every click. By default it is the empty string, which # turns this log off. If you want it turned on, we suggest @@ -670,12 +663,12 @@ $courseFiles{logs}{activity_log} = ''; # it might only have a directory structure and no presence in the database. # If it is a real course, then also its title, institution, non-student users, # achievements, and sets can be copied. -$siteDefaults{default_copy_from_course} ="modelCourse"; +$siteDefaults{default_copy_from_course} = "modelCourse"; # Provide a list of model courses which are not real courses, but from which # the templates for a new course can be copied. This list helps exclude such # non-real courses when that is appropriate. -$modelCoursesForCopy = [ "modelCourse" ]; +$modelCoursesForCopy = ["modelCourse"]; ################################################################################ # Authentication system @@ -711,13 +704,13 @@ $authen{admin_module} = ['WeBWorK::Authen::Basic_TheLastOption']; # %userRoles = ( guest => -5, - student => 0, - login_proctor => 2, - grade_proctor => 3, - ta => 5, - professor => 10, - admin => 20, - nobody => 99999999, # insure that nobody comes at the end + student => 0, + login_proctor => 2, + grade_proctor => 3, + ta => 5, + professor => 10, + admin => 20, + nobody => 99999999, # insure that nobody comes at the end ); # this hash maps operations to the roles that are allowed to perform those @@ -729,35 +722,35 @@ $authen{admin_module} = ['WeBWorK::Authen::Basic_TheLastOption']; # roles are allowed to reeceive feedback emails. # %permissionLevels = ( - login => "guest", - navigation_allowed => "guest", - use_two_factor_auth => "student", - report_bugs => "ta", - submit_feedback => "student", - change_name => "student", - change_password => "student", - change_email_address => "student", - change_pg_display_settings => "student", - - proctor_quiz_login => "login_proctor", - proctor_quiz_grade => "grade_proctor", - view_proctored_tests => "student", - view_hidden_work => "ta", - - view_multiple_sets => "ta", - view_unopened_sets => "ta", - view_hidden_sets => "ta", - view_answers => "ta", - view_ip_restricted_sets => "ta", - view_leaderboard => "professor", - view_leaderboard_usernames => "professor", - - become_student => "professor", - access_instructor_tools => "ta", - score_sets => "professor", - problem_grader => "professor", - send_mail => "professor", - receive_feedback => ['ta', 'professor', 'admin'], + login => "guest", + navigation_allowed => "guest", + use_two_factor_auth => "student", + report_bugs => "ta", + submit_feedback => "student", + change_name => "student", + change_password => "student", + change_email_address => "student", + change_pg_display_settings => "student", + + proctor_quiz_login => "login_proctor", + proctor_quiz_grade => "grade_proctor", + view_proctored_tests => "student", + view_hidden_work => "ta", + + view_multiple_sets => "ta", + view_unopened_sets => "ta", + view_hidden_sets => "ta", + view_answers => "ta", + view_ip_restricted_sets => "ta", + view_leaderboard => "professor", + view_leaderboard_usernames => "professor", + + become_student => "professor", + access_instructor_tools => "ta", + score_sets => "professor", + problem_grader => "professor", + send_mail => "professor", + receive_feedback => [ 'ta', 'professor', 'admin' ], create_and_delete_problem_sets => "professor", assign_problem_sets => "professor", @@ -777,32 +770,32 @@ $authen{admin_module} = ['WeBWorK::Authen::Basic_TheLastOption']; # Users with only webservice_render_problem can render problems with a provided filename. # Users with both permissions can also render problems with providing the problem source. # Note the Problem Editor requires having both permissions. - webservice_render_problem => "login_proctor", - webservice_render_source => "login_proctor", + webservice_render_problem => "login_proctor", + webservice_render_source => "login_proctor", ##### Behavior of the interactive problem processor ##### - show_correct_answers_before_answer_date => "ta", - show_solutions_before_answer_date => "ta", - avoid_recording_answers => "nobody", # record the grade/status/state of everyone's entries. - # Setting this to "ta" would record grade/status/state - # for students but not TA's or professors; - # TA's and above could avoid having their answers recorded. + show_correct_answers_before_answer_date => "ta", + show_solutions_before_answer_date => "ta", + avoid_recording_answers => "nobody", # record the grade/status/state of everyone's entries. + # Setting this to "ta" would record grade/status/state + # for students but not TA's or professors; + # TA's and above could avoid having their answers recorded. # controls if old answers can be shown - can_show_old_answers => "student", - check_answers_before_open_date => "ta", - check_answers_after_open_date_with_attempts => "guest", - check_answers_after_open_date_without_attempts => "guest", - check_answers_after_due_date => "guest", - check_answers_after_answer_date => "guest", - can_check_and_submit_answers => "ta", - can_use_show_me_another_early => "ta", - create_new_set_version_when_acting_as_student => undef, - print_path_to_problem => "professor", - always_show_hint => "professor", - always_show_solution => "professor", + can_show_old_answers => "student", + check_answers_before_open_date => "ta", + check_answers_after_open_date_with_attempts => "guest", + check_answers_after_open_date_without_attempts => "guest", + check_answers_after_due_date => "guest", + check_answers_after_answer_date => "guest", + can_check_and_submit_answers => "ta", + can_use_show_me_another_early => "ta", + create_new_set_version_when_acting_as_student => undef, + print_path_to_problem => "professor", + always_show_hint => "professor", + always_show_solution => "professor", record_set_version_answers_when_acting_as_student => undef, - record_answers_when_acting_as_student => undef, + record_answers_when_acting_as_student => undef, # "record_answers_when_acting_as_student" takes precedence # over the following for professors acting as students: record_answers_before_open_date => undef, @@ -811,29 +804,29 @@ $authen{admin_module} = ['WeBWorK::Authen::Basic_TheLastOption']; record_answers_after_due_date => undef, record_answers_after_answer_date => undef, dont_log_past_answers => undef, - # controls logging of the responses to a question - # in the past answer data base - # and in the myCourse/logs/answer_log file. - # Activities of users with this permission enabled are not entered - # in these logs. This might be used when collecting student data - # to avoid contaminating the data with TA and instructor activities. - # The professor setting means that professor's answers are not logged or - # saved in the past answer database. + # controls logging of the responses to a question + # in the past answer data base + # and in the myCourse/logs/answer_log file. + # Activities of users with this permission enabled are not entered + # in these logs. This might be used when collecting student data + # to avoid contaminating the data with TA and instructor activities. + # The professor setting means that professor's answers are not logged or + # saved in the past answer database. # PG debugging - show_resource_info => "admin", - view_problem_debugging_info => "ta", - show_pg_info => "admin", - show_answer_hash_info => "admin", - show_answer_group_info => "admin", + show_resource_info => "admin", + view_problem_debugging_info => "ta", + show_pg_info => "admin", + show_answer_hash_info => "admin", + show_answer_group_info => "admin", ##### Behavior of the Hardcopy Processor ##### - download_hardcopy_multiuser => "ta", - download_hardcopy_multiset => "ta", - download_hardcopy_view_errors =>"professor", - download_hardcopy_format_pdf => "guest", - download_hardcopy_format_tex => "ta", - download_hardcopy_change_theme=> "ta", + download_hardcopy_multiuser => "ta", + download_hardcopy_multiset => "ta", + download_hardcopy_view_errors => "professor", + download_hardcopy_format_pdf => "guest", + download_hardcopy_format_tex => "ta", + download_hardcopy_change_theme => "ta", ##### Permission to edit a specific setting on the course configuration page ##### # Each permission of this type must have the form change_config_[var]. Note @@ -884,13 +877,13 @@ $fallback_password_source = ''; ################################################################################ # $sessionTimeout defines seconds of inactivity before a user's session expires. -$sessionTimeout = 60*30; +$sessionTimeout = 60 * 30; # $sessionKeyLength defines the length (in characters) of the session key $sessionKeyLength = 32; # @sessionKeyChars lists the legal session key characters -@sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9'); +@sessionKeyChars = ('A' .. 'Z', 'a' .. 'z', '0' .. '9'); # Practice users are users who's names start with $practiceUser # (you can comment this out to remove practice user support) @@ -1029,16 +1022,16 @@ $caliper{enabled} = 0; # in the homework sets editor. $pg{displayModes} = [ "MathJax", # render TeX math expressions on the client side using - # MathJax; we strongly recommend people install and use - # MathJax, and it is required if you want to use MathView + # MathJax; we strongly recommend people install and use + # MathJax, and it is required if you want to use MathView "images", # display math expressions as images generated by dvipng -# "plainText", # display raw TeX for math expressions + # "plainText", # display raw TeX for math expressions ]; # List of additional display modes for the PG editor only. $pg{additionalPGEditorDisplayModes} = [ - "tex", # display tex code for a rendered problem - "PTX", # display static PreTeXt XML for a rendered problem + "tex", # display tex code for a rendered problem + "PTX", # display static PreTeXt XML for a rendered problem ]; ########################################################################################## @@ -1072,29 +1065,29 @@ $options{PGCodeMirror} = 1; ########################################################################################### # Default display mode. Should be listed above (uncomment only one). -$pg{options}{displayMode} = "MathJax"; +$pg{options}{displayMode} = "MathJax"; # The default grader to use, if a problem doesn't specify. -$pg{options}{grader} = "avg_problem_grader"; +$pg{options}{grader} = "avg_problem_grader"; # Fill in answer blanks with the student's last answer by default? -$pg{options}{showOldAnswers} = 1; +$pg{options}{showOldAnswers} = 1; # Note for the useMathQuill and useMathView options, the one that is actually used is ultimately # determined by the entryAssist PG special environment variable. Furthermore the user may disable the chosen method and # fall back to a basic html input in the user settings if the user has the change_pg_display_settings permission. # Default for showing the MathView preview system. -$pg{options}{useMathView} = 1; +$pg{options}{useMathView} = 1; # This is the operations file to use for mathview, each contains a different locale. -$pg{options}{mathViewLocale} = "mv_locale_us.js"; +$pg{options}{mathViewLocale} = "mv_locale_us.js"; # Default for showing the MathQuill preview system. -$pg{options}{useMathQuill} = 1; +$pg{options}{useMathQuill} = 1; -$pg{options}{showAnsGroupInfo} = 0; -$pg{options}{showAnsHashInfo} = 0; -$pg{options}{showPGInfo} = 0; +$pg{options}{showAnsGroupInfo} = 0; +$pg{options}{showAnsHashInfo} = 0; +$pg{options}{showPGInfo} = 0; # By default hints and solutions are ALWAYS shown for professors (and above) so that they # can check hints and solutions easily and make corrections. @@ -1106,11 +1099,11 @@ $pg{options}{showPGInfo} = 0; # Display the "Entered" column which automatically shows the evaluated student answer, e.g. 1 if student input is sin(pi/2). # If this is set to 0, e.g. to save space in the response area, the student can still see their evaluated answer by hovering # the mouse pointer over the typeset version of their answer -$pg{options}{showEvaluatedAnswers} = 1; +$pg{options}{showEvaluatedAnswers} = 1; # Catch translation warnings internally. This must be done since the translator is now run in a subprocess and do not # propagate to the main process. So this really should never be set to 0. -$pg{options}{catchWarnings} = 1; +$pg{options}{catchWarnings} = 1; ##### Settings for various display modes @@ -1143,33 +1136,25 @@ $pg{directories}{assetsTex} = "$pg{directories}{assets}/tex"; # (in this order) by loadMacros() when it looks for a .pl file. # $pg{directories}{macrosPath} = [ - ".", # search the problem file's directory - $courseDirs{macros}, - $pg{directories}{macros}, - "$pg{directories}{macros}/answers", - "$pg{directories}{macros}/contexts", - "$pg{directories}{macros}/core", - "$pg{directories}{macros}/graph", - "$pg{directories}{macros}/math", - "$pg{directories}{macros}/misc", - "$pg{directories}{macros}/parsers", - "$pg{directories}{macros}/ui", - "$pg{directories}{macros}/deprecated", + ".", # search the problem file's directory + $courseDirs{macros}, + $pg{directories}{macros}, + "$pg{directories}{macros}/answers", + "$pg{directories}{macros}/contexts", + "$pg{directories}{macros}/core", + "$pg{directories}{macros}/graph", + "$pg{directories}{macros}/math", + "$pg{directories}{macros}/misc", + "$pg{directories}{macros}/parsers", + "$pg{directories}{macros}/ui", + "$pg{directories}{macros}/deprecated", ]; # Directories to search for auxiliary html files. -$pg{directories}{htmlPath} = [ - ".", - $courseDirs{html}, - $webworkDirs{htdocs}, -]; +$pg{directories}{htmlPath} = [ ".", $courseDirs{html}, $webworkDirs{htdocs}, ]; # Directories to search for image files. -$pg{directories}{imagesPath} = [ - ".", - "$courseDirs{html}/images", - "$webworkDirs{htdocs}/images", -]; +$pg{directories}{imagesPath} = [ ".", "$courseDirs{html}/images", "$webworkDirs{htdocs}/images", ]; # Contains context-sensitive pg help files. $pg{URLs}{localHelpURL} = "$pg_htdocs_url/helpFiles"; @@ -1187,14 +1172,14 @@ $pg{specialPGEnvironmentVars}{latexImageSVGMethod} = "dvisvgm"; # See https://imagemagick.org/script/convert.php for a full list of options. # convert will be called as: # convert file.ext1 file.ext2 -$pg{specialPGEnvironmentVars}{latexImageConvertOptions} = {input => {density => 300}, output => {quality => 100}}; +$pg{specialPGEnvironmentVars}{latexImageConvertOptions} = { input => { density => 300 }, output => { quality => 100 } }; # Size in pixels of dynamically-generated images, i.e. graphs. -$pg{specialPGEnvironmentVars}{onTheFlyImageSize} = 400, +$pg{specialPGEnvironmentVars}{onTheFlyImageSize} = 400, -# To disable the Parser-based versions of num_cmp and fun_cmp, and use the -# original versions instead, set this value to 1. -$pg{specialPGEnvironmentVars}{useOldAnswerMacros} = 0; + # To disable the Parser-based versions of num_cmp and fun_cmp, and use the + # original versions instead, set this value to 1. + $pg{specialPGEnvironmentVars}{useOldAnswerMacros} = 0; # Determines whether or not MathObjects contexts will parse the alternative tokens # listed in the "alternatives" property (mostly for unicode alternatives for parse tokens). @@ -1204,14 +1189,13 @@ $pg{specialPGEnvironmentVars}{parseAlternatives} = 0; # (U+FF01 to U+FF5E) to their corresponding ASCII characters (U+0021 to U+007E) automatically. $pg{specialPGEnvironmentVars}{convertFullWidthCharacters} = 0; - # Strings to insert at the start and end of the body of a problem # (at beginproblem() and ENDDOCUMENT) in various modes. More display modes # can be added if different behaviours are desired (e.g., HTML_dpng, # HTML_asciimath, etc.). These parts are not used in the Library browser. -$pg{specialPGEnvironmentVars}{problemPreamble} = { TeX => '', HTML=> '' }; -$pg{specialPGEnvironmentVars}{problemPostamble} = { TeX => '', HTML=>'' }; +$pg{specialPGEnvironmentVars}{problemPreamble} = { TeX => '', HTML => '' }; +$pg{specialPGEnvironmentVars}{problemPostamble} = { TeX => '', HTML => '' }; # Note: problemPreamble and problemPostamble are depreciated, so don't use them. @@ -1331,16 +1315,14 @@ $pg{ansEvalDefaults} = { numZeroLevelDefault => 1E-14, numZeroLevelTolDefault => 1E-12, useBaseTenLog => 0, - defaultDisplayMatrixStyle => "[s]", # left delimiter, middle line delimiters, right delimiter + defaultDisplayMatrixStyle => "[s]", # left delimiter, middle line delimiters, right delimiter enableReducedScoring => 0, - reducedScoringPeriod => 0, # Default length of Reduced Scoring Period in minutes - reducedScoringValue => .75, # Percent of score students receive in Reduced Scoring Period - assignOpenPriorToDue => 14400, # a number of minutes (default is 10 days) - answersOpenAfterDueDate => 2880 # number of minutes (default is 2 days) + reducedScoringPeriod => 0, # Default length of Reduced Scoring Period in minutes + reducedScoringValue => .75, # Percent of score students receive in Reduced Scoring Period + assignOpenPriorToDue => 14400, # a number of minutes (default is 10 days) + answersOpenAfterDueDate => 2880 # number of minutes (default is 2 days) }; - - ################################################################################ # Compatibility ################################################################################ @@ -1350,8 +1332,6 @@ $webworkRoot = $webworkDirs{root}; $webworkURLRoot = $webworkURLs{root}; $pgRoot = $pg{directories}{root}; - - ################################################################################ # Webservices ################################################################################ @@ -1405,4 +1385,4 @@ $pg{options}{enableProgressBar} = 1; ################################################################################ include("conf/localOverrides.conf"); -1; #final line of the file to reassure perl that it was read properly. +1; #final line of the file to reassure perl that it was read properly.