[system] / trunk / webwork-modperl / conf / global.conf.dist Repository:
ViewVC logotype

View of /trunk/webwork-modperl/conf/global.conf.dist

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2141 - (download) (annotate)
Fri May 21 23:41:49 2004 UTC (9 years ago) by jj
File size: 12741 byte(s)
Extricating the problem library from DB structure, part III.

    1 #!perl
    2 ################################################################################
    3 # WeBWorK Online Homework Delivery System
    4 # Copyright © 2000-2003 The WeBWorK Project, http://openwebwork.sf.net/
    5 # $CVSHeader: webwork-modperl/conf/global.conf.dist,v 1.62 2004/05/16 23:33:00 sh002i Exp $
    6 #
    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
    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.
   11 #
   12 # This program is distributed in the hope that it will be useful, but WITHOUT
   13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
   14 # FOR A PARTICULAR PURPOSE.  See either the GNU General Public License or the
   15 # Artistic License for more details.
   16 ################################################################################
   17 
   18 # This file is used to set up the default WeBWorK course environment for all
   19 # requests. Values may be overwritten by the course.conf for a specific course.
   20 # All package variables set in this file are added to the course environment.
   21 # If you wish to set a variable here but omit it from the course environment,
   22 # use the "my" keyword. The following variables are available to this file:
   23 #
   24 #         $webworkRoot    directory that contains the WeBWorK distribution
   25 #         $webworkURL     base URL handled by Apache::WeBWorK
   26 #         $pgRoot         directory that contains the PG distribution
   27 #         $courseName     name of the course being used
   28 
   29 ################################################################################
   30 # WeBWorK settings
   31 ################################################################################
   32 
   33 %webworkDirs = (
   34   root          => "$webworkRoot",
   35   DATA          => "$webworkRoot/DATA",
   36   uploadCache   => "$webworkRoot/DATA/uploads",
   37   bin           => "$webworkRoot/bin",
   38   conf          => "$webworkRoot/conf",
   39   courses       => "$webworkRoot/courses",
   40   htdocs        => "$webworkRoot/htdocs",
   41   htdocs_temp   => "$webworkRoot/htdocs/tmp",
   42   equationCache => "$webworkRoot/htdocs/tmp/equations",
   43   lib           => "$webworkRoot/lib",
   44   logs          => "$webworkRoot/logs",
   45   macros        => "$pgRoot/macros",
   46   tmp           => "$webworkRoot/tmp",
   47 );
   48 
   49 %webworkFiles = (
   50   environment        => "$webworkDirs{conf}/global.conf",
   51   hardcopySnippets   => {
   52     preamble       => "$webworkDirs{conf}/snippets/hardcopyPreamble.tex",
   53     setHeader      => "$webworkDirs{conf}/snippets/hardcopySetHeader.pg",
   54     problemDivider => "$webworkDirs{conf}/snippets/hardcopyProblemDivider.tex",
   55     setFooter      => "$webworkDirs{conf}/snippets/hardcopySetFooter.pg",
   56     setDivider     => "$webworkDirs{conf}/snippets/hardcopySetDivider.tex",
   57     userDivider    => "$webworkDirs{conf}/snippets/hardcopyUserDivider.tex",
   58     postamble      => "$webworkDirs{conf}/snippets/hardcopyPostamble.tex",
   59   },
   60   screenSnippets => {
   61     setHeader => "$webworkDirs{conf}/snippets/setHeader.pg",
   62   },
   63   logs => {
   64     timing         => "$webworkDirs{logs}/timing.log",
   65   },
   66   equationCacheDB => "$webworkDirs{DATA}/equationcache",
   67 );
   68 
   69 %webworkURLs = (
   70   root          => "$webworkURLRoot",
   71   home          => "/webwork2_files/index.html",
   72   htdocs        => "/webwork2_files",
   73   htdocs_temp   => "/webwork2_files/tmp",
   74   equationCache => "/webwork2_files/tmp/equations",
   75   docs          => "http://webhost.math.rochester.edu/webworkdocs/docs",
   76   oldProf       => "/webwork1/profLogin.pl",
   77 );
   78 
   79 ################################################################################
   80 # Default course-specific settings
   81 ################################################################################
   82 
   83 my $courseRoot = "$webworkDirs{courses}/$courseName";
   84 %courseDirs = (
   85   root        => "$courseRoot",
   86   DATA        => "$courseRoot/DATA",
   87   auth_DATA   => "$courseRoot/DATA/.auth",
   88   html        => "$courseRoot/html",
   89   html_images => "$courseRoot/html/images",
   90   html_temp   => "$courseRoot/html/tmp",
   91   logs        => "$courseRoot/logs",
   92   scoring     => "$courseRoot/scoring",
   93   templates   => "$courseRoot/templates",
   94   macros      => "$courseRoot/templates/macros",
   95   email       => "$courseRoot/templates/email",
   96 );
   97 
   98 %courseFiles = (
   99   environment => "$courseDirs{root}/course.conf",
  100   motd        => "$courseDirs{templates}/motd.txt",
  101   logs => {
  102     answer_log  => "$courseDirs{logs}/answer_log",
  103   },
  104   course_info => "course_info.txt",  # path relative to templates directory
  105   login_info  => "login_info.txt",   # path relative to templates directory
  106 );
  107 
  108 # quick hack to fix transaction logging. blah.
  109 $webworkFiles{logs}->{transaction}    = "$courseDirs{logs}/transaction.log";
  110 $webworkFiles{logs}->{pastAnswerList} = "$courseDirs{logs}/past_answers.log";
  111 
  112 my $courseURLRoot = "/webwork2_course_files/$courseName";
  113 %courseURLs = (
  114   root      => "$courseURLRoot",
  115   html      => "$courseURLRoot",
  116   html_temp => "$courseURLRoot/tmp",
  117 );
  118 
  119 ################################################################################
  120 # Other site-specific options
  121 ################################################################################
  122 
  123 %mail = (
  124   smtpServer => "mail.math.rochester.edu",
  125   smtpSender => "webwork\@math.rochester.edu",
  126 
  127   # allowedRecipients defines addresses that the PG system is allowed to
  128   # send mail to. this prevents subtle PG exploits. This should be set
  129   # in course.conf to the addresses of professors of each course. Sending
  130   # mail from the PG system (i.e. questionaires, essay questions) will
  131   # fail if this is not set somewhere (either here or in course.conf).
  132   #allowedRecipients => [
  133   # 'prof1@host.yourdomain.edu',
  134   # 'prof2@host.yourdomain.edu',
  135   #],
  136 
  137   # if defined, feedbackRecipients overrides the list of recipients for
  138   # feedback email. It's appropriate to set this in the course.conf for
  139   # specific courses, but probably not in global.conf. if not defined,
  140   # mail is sent to all professors and TAs for a given course
  141   #feedbackRecipients => [
  142   # 'prof1@host.yourdomain.edu',
  143   # 'prof2@host.yourdomain.edu',
  144   #],
  145 
  146   # feedbackVerbosity:
  147   #  0: send only the feedback comment and context link
  148   #  1: as in 0, plus user, set, problem, and PG data
  149   #  2: as in 1, plus the problem environment (debugging data)
  150   feedbackVerbosity => 1,
  151 
  152   # defines the size of the Mail Merge editor window
  153   # FIXME: should this be here? it's UI, not mail
  154   # FIXME: replace this with the auto-size method that TWiki uses
  155   editor_window_rows    => 15,
  156   editor_window_columns => 100,
  157 );
  158 
  159 %externalPrograms = (
  160   mkdir    => "/bin/mkdir",
  161   tth      => "/usr/local/bin/tth",
  162   pdflatex => "/usr/local/bin/pdflatex",
  163   latex    => "/usr/local/bin/latex",
  164   dvipng   => "/usr/local/bin/dvipng",
  165   gif2eps  => "$webworkDirs{bin}/gif2eps",
  166   png2eps  => "$webworkDirs{bin}/png2eps",
  167   gif2png  => "$webworkDirs{bin}/gif2png",
  168   mysql    => "/usr/local/bin/mysql",
  169 );
  170 
  171 %siteDefaults = (
  172   status => {
  173       audit => "Audit",
  174       A => "Audit",
  175       drop  => "Drop",
  176       D => "Drop",
  177       withdraw => "Drop",
  178       current => "Enrolled",
  179       C => "Enrolled",
  180       enrolled => "Enrolled",
  181   },
  182 );
  183 
  184 ################################################################################
  185 # Frontend options
  186 ################################################################################
  187 
  188 %templates = (
  189   system => "$webworkDirs{conf}/templates/ur.template",
  190 );
  191 
  192 ################################################################################
  193 # Database options
  194 ################################################################################
  195 
  196 # Several database are defined in the file conf/database.conf and stored in the
  197 # hash %dbLayouts.
  198 include "conf/database.conf";
  199 
  200 # Select the default database layout. This can be overridden in the course.conf
  201 # file of a particular course.
  202 #$dbLayoutName = "sql";
  203 $dbLayoutName = "gdbm";
  204 
  205 *dbLayout = $dbLayouts{$dbLayoutName};
  206 
  207 ################################################################################
  208 # Authorization system
  209 ################################################################################
  210 
  211 # This lets you specify a minimum permission level needed to perform certain
  212 # actions.  In the current system, >=10 will allow a professor to perform the
  213 # action, >=5 will allow a TA to, and >=0 will allow a student to perform an
  214 # action (almost never what you want).
  215 my $ta = 5;
  216 my $professor = 10;
  217 %permissionLevels = (
  218   become_student                 => $professor,
  219   access_instructor_tools        => $ta,
  220   create_and_delete_problem_sets => $professor,
  221   modify_problem_sets            => $professor,
  222   assign_problem_sets            => $professor,
  223   modify_student_data            => $professor,
  224   score_sets                     => $professor,
  225   send_mail            => $professor,
  226   modify_classlist_files         => $professor,
  227   modify_set_def_files           => $professor,
  228   modify_scoring_files           => $professor,
  229   create_and_delete_courses      => $professor,
  230 );
  231 
  232 ################################################################################
  233 # Session options
  234 ################################################################################
  235 
  236 # $sessionKeyTimeout defines seconds of inactivity before a key expires
  237 $sessionKeyTimeout = 60*30;
  238 
  239 # $sessionKeyLength defines the length (in characters) of the session key
  240 $sessionKeyLength = 40;
  241 
  242 # @sessionKeyChars lists the legal session key characters
  243 @sessionKeyChars = ('A'..'Z', 'a'..'z', '0'..'9', '.', '^', '/', '!', '*');
  244 
  245 # Practice users are users who's names start with $practiceUser
  246 # (you can comment this out to remove practice user support)
  247 $practiceUserPrefix = "practice";
  248 
  249 # There is a practice user who can be logged in multiple times.  He's
  250 # commented out by default, though, so you don't hurt yourself.  It is
  251 # kindof a backdoor to the practice user system, since he doesn't have a
  252 # password.  Come to think of it, why do we even have this?!
  253 #$debugPracticeUser = "practice666";
  254 
  255 ################################################################################
  256 # PG translation options
  257 ################################################################################
  258 
  259 %pg = (
  260   # options for various renderers
  261   renderers => {
  262     "WeBWorK::PG::Remote" => {
  263       proxy => "http://localhost:21000/RenderD"
  264     }
  265   },
  266   # currently selected renderer
  267   renderer => "WeBWorK::PG::Local",
  268   #renderer => "WeBWorK::PG::Remote",
  269   # directories used by PG
  270   directories => {
  271     # directories used only by PG
  272     root   => "$pgRoot",
  273     lib    => "$pgRoot/lib",
  274     macros => "$pgRoot/macros",
  275   },
  276   options => {
  277     # default translation options
  278     displayMode        => "images",
  279     showOldAnswers     => 1,
  280     showCorrectAnswers => 0,
  281     showHints          => 0,
  282     showSolutions      => 0,
  283     catchWarnings      => 0, # there's a global warning catcher now
  284     # default grader
  285     grader => "avg_problem_grader",
  286   },
  287   # this will be customized in the course.conf file
  288   specialPGEnvironmentVars => {
  289     PRINT_FILE_NAMES_FOR   => [ qw(professor) ],
  290     CAPA_Tools             => "$courseDirs{macros}/CAPA_Tools/",
  291     CAPA_MCTools           => "$courseDirs{macros}/CAPA_MCTools/",
  292     CAPA_Graphics_URL      => "$courseURLs{html}/CAPA_Graphics/",
  293     CAPA_GraphicsDirectory => "$courseDirs{html}/CAPA_Graphics/",
  294   },
  295   # modules lists module names and the packages each contains
  296   modules => [
  297     [qw(DynaLoader)],
  298     [qw(Exporter)],
  299     [qw(GD)],
  300 
  301     [qw(AlgParser AlgParserWithImplicitExpand Expr ExprWithImplicitExpand)],
  302     [qw(AnswerHash AnswerEvaluator)],
  303     [qw(WWPlot)], # required by Circle (and others)
  304     [qw(Circle)],
  305     [qw(Complex)],
  306     [qw(Complex1)],
  307     [qw(Distributions)],
  308     [qw(Fraction)],
  309     [qw(Fun)],
  310     [qw(Hermite)],
  311     [qw(Label)],
  312     [qw(List)],
  313     [qw(Match)],
  314     [qw(MatrixReal1)], # required by Matrix
  315     [qw(Matrix)],
  316     [qw(Multiple)],
  317     [qw(PGrandom)],
  318     [qw(Regression)],
  319     [qw(Select)],
  320     [qw(Units)],
  321     [qw(VectorField)],
  322   ],
  323   # defaults used by answer evaluators
  324   ansEvalDefaults => {
  325     functAbsTolDefault            => .001,
  326     functLLimitDefault            => .0000001,
  327     functMaxConstantOfIntegration => 1E8,
  328     functNumOfPoints              => 3,
  329     functRelPercentTolDefault     => .1,
  330     functULimitDefault            => .9999999,
  331     functVarDefault               => "x",
  332     functZeroLevelDefault         => 1E-14,
  333     functZeroLevelTolDefault      => 1E-12,
  334     numAbsTolDefault              => .001,
  335     numFormatDefault              => "",
  336     numRelPercentTolDefault       => .1,
  337     numZeroLevelDefault           => 1E-14,
  338     numZeroLevelTolDefault        => 1E-12,
  339     useBaseTenLog                 => 0,
  340     defaultDisplayMatrixStyle     => "[s]",
  341   },
  342 );
  343 
  344 %problemLibrary = (
  345   root => "", # set to the top of the problem library, if its installed
  346   sourceSQL     => "ProblemLibrary",
  347   userSQL     => "webworkRead",
  348   passwordSQL => "",
  349 )
  350 

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9