[system] / trunk / webwork2 / conf / global.conf.dist Repository:
ViewVC logotype

View of /trunk/webwork2/conf/global.conf.dist

Parent Directory Parent Directory | Revision Log Revision Log


Revision 798 - (download) (annotate)
Fri Mar 21 23:30:16 2003 UTC (10 years, 2 months ago) by sh002i
File size: 10795 byte(s)
initial support for WWDBv2:
        - DB.pm finished (except for getGlobalUser{Set,Problem} methods)
        - schema modules for password, permission, key, and user with
          WWDBv1 hash-bashed backends
        - GDBM driver
        - wwdb command-line frontend
-sam

    1 #!perl
    2 ################################################################################
    3 # WeBWorK mod_perl (c) 1995-2002 WeBWorK Team, Univeristy of Rochester
    4 # $Id: global.conf.dist,v 1.16 2003-03-21 23:30:10 sh002i Exp $
    5 ################################################################################
    6 
    7 # This file is used to set up the default WeBWorK course environment for all
    8 # requests. Values may be overwritten by the course.conf for a specific course.
    9 # All package variables set in this file are added to the course environment.
   10 # If you wish to set a variable here but omit it from the course environment,
   11 # use the "my" keyword. The following variables are available to this file:
   12 #
   13 #         $webworkRoot    directory that contains the WeBWorK distribution
   14 #         $webworkURL     base URL handled by Apache::WeBWorK
   15 #         $courseName     name of the course being used
   16 
   17 ################################################################################
   18 # WeBWorK settings
   19 ################################################################################
   20 
   21 %webworkDirs = (
   22   root    => "$webworkRoot",
   23   bin     => "$webworkRoot/bin",
   24   conf    => "$webworkRoot/conf",
   25   courses => "$webworkRoot/courses",
   26   lib     => "$webworkRoot/lib",
   27   logs    => "$webworkRoot/logs",
   28   macros  => "$webworkRoot/macros",
   29   tmp     => "$webworkRoot/tmp",
   30 );
   31 
   32 %webworkFiles = (
   33   environment => "$webworkDirs{conf}/global.conf",
   34   hardcopySnippets => {
   35     preamble       => "$webworkDirs{conf}/hardcopyPreamble.tex",
   36     setHeader      => "$webworkDirs{conf}/hardcopySetHeader.pg",
   37     problemDivider => "$webworkDirs{conf}/hardcopyProblemDivider.tex",
   38     setFooter      => "$webworkDirs{conf}/hardcopySetFooter.pg",
   39     setDivider     => "$webworkDirs{conf}/hardcopySetDivider.tex",
   40     postamble      => "$webworkDirs{conf}/hardcopyPostamble.tex",
   41   },
   42   screenSnippets => {
   43     setHeader => "$webworkDirs{conf}/screenSetHeader.pg",
   44   },
   45   logs => {
   46     timing      => "$webworkDirs{logs}/timing.log",
   47   },
   48 );
   49 
   50 %webworkURLs = (
   51   root    => "$webworkURLRoot",
   52   home    => "http://host.yourdomaon.edu/webwork-info",
   53   htdocs  => "/webwork_files",
   54   docs    => "http://webhost.math.rochester.edu/webworkdocs/docs",
   55   oldProf => "/webwork-old/profLogin.pl",
   56 );
   57 
   58 ################################################################################
   59 # Default course-specific settings
   60 ################################################################################
   61 
   62 my $courseRoot = "$webworkDirs{courses}/$courseName";
   63 %courseDirs = (
   64   root        => "$courseRoot",
   65   DATA        => "$courseRoot/DATA",
   66   auth_DATA   => "$courseRoot/DATA/.auth",
   67   html        => "$courseRoot/html",
   68   html_images => "$courseRoot/html/images",
   69   html_temp   => "$courseRoot/html/tmp",
   70   logs        => "$courseRoot/logs",
   71   scoring     => "$courseRoot/scoring",
   72   templates   => "$courseRoot/templates",
   73   macros      => "$courseRoot/templates/macros",
   74 );
   75 
   76 %courseFiles = (
   77   environment => "$courseDirs{root}/course.conf",
   78   motd        => "$courseDirs{root}/motd.txt",
   79 );
   80 
   81 # quick hack to fix transaction logging. blah.
   82 $webworkFiles{logs}->{transaction} = "$courseDirs{logs}/transaction.log";
   83 
   84 my $courseURLRoot = "$webworkURLs{htdocs}/courses/$courseName";
   85 %courseURLs = (
   86   root      => "$courseURLRoot",
   87   html      => "$courseURLRoot",
   88   html_temp => "$courseURLRoot/tmp",
   89 );
   90 
   91 ################################################################################
   92 # Other site-specific options
   93 ################################################################################
   94 
   95 %mail = (
   96   smtpServer => "mail.math.rochester.edu",
   97   smtpSender => "webwork\@math.rochester.edu",
   98   # allowedRecipients defines addresses that the PG system is allowed to
   99   # send mail to. this prevents subtle PG exploits. This should be set
  100   # in course.conf to the addresses of professors of each course. Sending
  101   # mail from the PG system (i.e. questionaires, essay questions) will
  102   # fail if this is not set somewhere (either here or in course.conf).
  103   #allowedRecipients => [
  104   # "yourname\@host.yourdomain.edu",
  105   #],
  106   # if defined, feedbackRecipients overrides the list of recipients for
  107   # feedback email. It's appropriate to set this in the course.conf for
  108   # specific courses, but probably not in global.conf. if not defined,
  109   # mail is sent to all professors and TAs for a given course
  110   #feedbackRecipients => [
  111   # "prof1\@host.yourdomain.edu",
  112   # "prof2\@host.yourdomain.edu",
  113   #],
  114   # feedbackVerbosity:
  115   #  0: send only the feedback comment and context link
  116   #  1: as in 0, plus user, set, problem, and PG data
  117   #  2: as in 1, plus the problem environment (debugging data)
  118   feedbackVerbosity => 1,
  119 );
  120 
  121 %externalPrograms = (
  122   mkdir    => "/bin/mkdir",
  123   tth      => "/usr/local/bin/tth",
  124   pdflatex => "/usr/local/bin/pdflatex",
  125   latex    => "/usr/local/bin/latex",
  126   dvipng   => "/usr/local/bin/dvipng -mode ljfivemp -D600 -Q6 -x1000.5 -bgTransparent",
  127   gif2eps  => "$webworkDirs{bin}/gif2eps",
  128   png2eps  => "$webworkDirs{bin}/png2eps",
  129   gif2png  => "$webworkDirs{bin}/gif2png",
  130 );
  131 
  132 ################################################################################
  133 # Frontend options
  134 ################################################################################
  135 
  136 %templates = (
  137   system => "$webworkDirs{conf}/barebones.template",
  138 );
  139 
  140 ################################################################################
  141 # Database and session
  142 ################################################################################
  143 
  144 # dbInfo records some data for the "old" WW/Classlist/Auth.pm database system
  145 # {auth,wwdb,cldb}_type = database type: GDBM currently implemented
  146 # {auth_passwd,auth_perm,auth_keys,wwdb,cldb}_file = path to database file
  147 %dbInfo = (
  148   auth_type        => "GDBM",
  149   auth_passwd_file => "$courseDirs{auth_DATA}/$courseName\_password_DB",
  150   auth_perm_file   => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
  151   auth_keys_file   => "$courseDirs{auth_DATA}/keys",
  152   wwdb_type        => "GDBM",
  153   wwdb_file        => "$courseDirs{DATA}/$courseName\_webwork_DB",
  154   cldb_type        => "GDBM",
  155   cldb_file        => "$courseDirs{DATA}/$courseName\_classlist_DB",
  156   psvn_digits      => 5,
  157 );
  158 
  159 # dbLayout records the schema and source for each table in the "new" DB.pm
  160 # database system. consult DB.pm for the authoritative list of tables.
  161 # schema = perl module to use for access to the table
  162 # driver = perl module to use for access to the data source
  163 # source = location of data source (i.e. path, url, DBI spec)
  164 # note: schema and driver must have the same interface.
  165 %dbLayout = (
  166   password => {
  167     record => "WeBWorK::DB::Record::Password",
  168     schema => "WeBWorK::DB::Schema::Auth1Hash",
  169     driver => "WeBWorK::DB::Driver::GDBM",
  170     source => "$courseDirs{auth_DATA}/$courseName\_password_DB",
  171   },
  172   permission => {
  173     record => "WeBWorK::DB::Record::PermissionLevel",
  174     schema => "WeBWorK::DB::Schema::Auth1Hash",
  175     driver => "WeBWorK::DB::Driver::GDBM",
  176     source => "$courseDirs{auth_DATA}/$courseName\_permissions_DB",
  177   },
  178   key => {
  179     record => "WeBWorK::DB::Record::Key",
  180     schema => "WeBWorK::DB::Schema::Auth1Hash",
  181     driver => "WeBWorK::DB::Driver::GDBM",
  182     source => "$courseDirs{auth_DATA}/keys",
  183   },
  184   user => {
  185     record => "WeBWorK::DB::Record::User",
  186     schema => "WeBWorK::DB::Schema::Classlist1Hash",
  187     driver => "WeBWorK::DB::Driver::GDBM",
  188     source => "$courseDirs{DATA}/$courseName\_classlist_DB",
  189   },
  190   set => {
  191     record => "WeBWorK::DB::Record::Set",
  192     schema => "WeBWorK::DB::Schema::WW1Hash",
  193     driver => "WeBWorK::DB::Driver::GDBM",
  194     source => "$courseDirs{DATA}/$courseName\_webwork_DB",
  195   },
  196   set_user => {
  197     record => "WeBWorK::DB::Record::UserSet",
  198     schema => "WeBWorK::DB::Schema::WW1Hash",
  199     driver => "WeBWorK::DB::Driver::GDBM",
  200     source => "$courseDirs{DATA}/$courseName\_webwork_DB",
  201   },
  202   problem => {
  203     record => "WeBWorK::DB::Record::Problem",
  204     schema => "WeBWorK::DB::Schema::WW1Hash",
  205     driver => "WeBWorK::DB::Driver::GDBM",
  206     source => "$courseDirs{DATA}/$courseName\_webwork_DB",
  207   },
  208   problem_user => {
  209     record => "WeBWorK::DB::Record::UserProblem",
  210     schema => "WeBWorK::DB::Schema::WW1Hash",
  211     driver => "WeBWorK::DB::Driver::GDBM",
  212     source => "$courseDirs{DATA}/$courseName\_webwork_DB",
  213   },
  214 );
  215 
  216 # This lets you specify a minimum permission level needed to perform
  217 # certain actions.  In the current system, >=10 will allow a professor
  218 # to perform the action, >=5 will allow a TA to, and >=0 will allow a
  219 # student to perform an action (almost never what you want).
  220 %permissionLevels = (
  221   "become_student" => 10,
  222 );
  223 
  224 # $sessionKeyTimeout defines seconds of inactivity before a key expires
  225 $sessionKeyTimeout = 60*30;
  226 
  227 # Practice users are users who's names start with $practiceUser
  228 # (you can comment this out to remove practice user support)
  229 $practiceUserPrefix = "practice";
  230 
  231 # There is a practice user who can be logged in multiple times.  He's
  232 # commented out by default, though, so you don't hurt yourself.  It is
  233 # kindof a backdoor to the practice user system, since he doesn't have a
  234 # password.  Come to think of it, why do we even have this?!
  235 #$debugPracticeUser = "practice666";
  236 
  237 ################################################################################
  238 # PG translation options
  239 ################################################################################
  240 
  241 %pg = (
  242   options => {
  243     # default translation options
  244     displayMode        => "images",
  245     showOldAnswers     => 1,
  246     showCorrectAnswers => 0,
  247     showHints          => 0,
  248     showSolutions      => 0,
  249     catchWarnings      => 1,
  250     # default grader
  251     grader => "avg_problem_grader",
  252   },
  253   # modules lists module names and the packages each contains
  254   modules => [
  255     [qw(DynaLoader)],
  256     [qw(Exporter)],
  257     [qw(GD)],
  258 
  259     [qw(AlgParser AlgParserWithImplicitExpand Expr ExprWithImplicitExpand)],
  260     [qw(AnswerHash AnswerEvaluator)],
  261     [qw(WWPlot)], # required by Circle (and others)
  262     [qw(Circle)],
  263     [qw(Complex)],
  264     [qw(Complex1)],
  265     [qw(Distributions)],
  266     [qw(Fraction)],
  267     [qw(Fun)],
  268     [qw(Hermite)],
  269     [qw(Label)],
  270     [qw(List)],
  271     [qw(Match)],
  272     [qw(MatrixReal1)], # required by Matrix
  273     [qw(Matrix)],
  274     [qw(Multiple)],
  275     [qw(PGrandom)],
  276     [qw(Regression)],
  277     [qw(Select)],
  278     [qw(Units)],
  279     [qw(VectorField)],
  280   ],
  281   # defaults used by answer evaluators
  282   ansEvalDefaults => {
  283     functAbsTolDefault            => .001,
  284     functLLimitDefault            => .0000001,
  285     functMaxConstantOfIntegration => 1E8,
  286     functNumOfPoints              => 3,
  287     functRelPercentTolDefault     => .1,
  288     functULimitDefault            => .9999999,
  289     functVarDefault               => "x",
  290     functZeroLevelDefault         => 1E-14,
  291     functZeroLevelTolDefault      => 1E-12,
  292     numAbsTolDefault              => .001,
  293     numFormatDefault              => "",
  294     numRelPercentTolDefault       => .1,
  295     numZeroLevelDefault           => 1E-14,
  296     numZeroLevelTolDefault        => 1E-12,
  297   },
  298 );

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9