[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 1054 - (download) (annotate)
Fri Jun 6 23:52:13 2003 UTC (9 years, 11 months ago) by malsyned
File size: 12053 byte(s)
Added params required for global table emulation.
-Dennis

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

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9