[system] / branches / gage_dev / webwork2 / conf / database.conf.dist Repository:
ViewVC logotype

View of /branches/gage_dev/webwork2/conf/database.conf.dist

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6661 - (download) (annotate)
Thu Dec 30 20:32:23 2010 UTC (2 years, 4 months ago) by gage
File size: 10266 byte(s)
added visible => "published" override to set_version table 
(I missed this in the previous commit.)


    1 #!perl
    2 ################################################################################
    3 # WeBWorK Online Homework Delivery System
    4 # Copyright © 2000-2007 The WeBWorK Project, http://openwebwork.sf.net/
    5 # $CVSHeader: webwork2/conf/database.conf.dist,v 1.38 2007/08/13 22:59:51 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 =head1 NAME
   19 
   20 database.conf - define standard database layouts
   21 
   22 =head1 SYNOPSIS
   23 
   24 In global.conf:
   25 
   26  include "conf/database.conf";
   27  *dbLayout = $dbLayouts{layoutName};
   28 
   29 =head1 DESCRIPTION
   30 
   31 This file contains definitions for the commonly-used database layouts. Database
   32 layouts consist of all the information necessary to describe how to access data
   33 used by WeBWorK. For more information on the format of a database layout,
   34 consult the documentation for the WeBWorK::DB module.
   35 
   36 A database layout is selected from the list of possible layouts by adding a
   37 line like the one below to the F<global.conf> or F<course.conf> file.
   38 
   39  $dbLayoutName = "layoutName";
   40  *dbLayout = $dbLayouts{$dbLayoutName};
   41 
   42 =cut
   43 
   44 %dbLayouts = (); # layouts are added to this hash below
   45 
   46 =head2 THE SQL_SINGLE DATABASE LAYOUT
   47 
   48 The C<sql_single> layout is similar to the C<sql> layout, excpet that it uses a
   49 single database for all courses. This is accomplised by prefixing each table
   50 name with the name of the course. The names and passwords of these accounts are
   51 given as parameters to each table in the layout.
   52 
   53  username     the username to use when connecting to the database
   54  password     the password to use when connecting to the database
   55 
   56 Be default, username is "webworkRead" and password is "". It is not recommended
   57 that you use only a non-empty password to secure database access. Most RDBMSs
   58 allow IP-based authorization as well. As the system administrator, IT IS YOUR
   59 RESPONSIBILITY TO SECURE DATABASE ACCESS.
   60 
   61 Don't confuse the account information above with the accounts of the users of a
   62 course. This is a system-wide account which allow WeBWorK to talk to the
   63 database server.
   64 
   65 Other parameters that can be given are as follows:
   66 
   67  tableOverride  an alternate name to use when referrring to the table (used
   68                 when a table name is a resereved word)
   69  fieldOverride  a hash mapping WeBWorK field names to alternate names to use
   70                 when referring to those fields (used when one or more field
   71         names are reserved words)
   72  debug          if true, SQL statments are printed before being executed
   73 
   74 =cut
   75 
   76 # params common to all tables
   77 my %sqlParams = (
   78   username => $database_username,
   79   password => $database_password,
   80   debug    => $database_debug,
   81   # kinda hacky, but needed for table dumping
   82   mysql_path     => $externalPrograms{mysql},
   83   mysqldump_path => $externalPrograms{mysqldump},
   84 );
   85 
   86 $dbLayouts{sql_single} = {
   87         locations => {
   88                 record => "WeBWorK::DB::Record::Locations",
   89                 schema => "WeBWorK::DB::Schema::NewSQL::Std",
   90                 driver => "WeBWorK::DB::Driver::SQL",
   91                 source => $database_dsn,
   92                 params => { %sqlParams,
   93                         non_native => 1,
   94                 },
   95         },
   96         location_addresses => {
   97                 record => "WeBWorK::DB::Record::LocationAddresses",
   98                 schema => "WeBWorK::DB::Schema::NewSQL::Std",
   99                 driver => "WeBWorK::DB::Driver::SQL",
  100                 source => $database_dsn,
  101                 params => { %sqlParams,
  102                         non_native => 1,
  103                 },
  104         },
  105   password => {
  106     record => "WeBWorK::DB::Record::Password",
  107     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  108     driver => "WeBWorK::DB::Driver::SQL",
  109     source => $database_dsn,
  110     params => { %sqlParams,
  111       tableOverride => "${courseName}_password",
  112     },
  113   },
  114   permission => {
  115     record => "WeBWorK::DB::Record::PermissionLevel",
  116     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  117     driver => "WeBWorK::DB::Driver::SQL",
  118     source => $database_dsn,
  119     params => { %sqlParams,
  120       tableOverride => "${courseName}_permission",
  121     },
  122   },
  123   key => {
  124     record => "WeBWorK::DB::Record::Key",
  125     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  126     driver => "WeBWorK::DB::Driver::SQL",
  127     source => $database_dsn,
  128     params => { %sqlParams,
  129       tableOverride => "${courseName}_key",
  130       fieldOverride => { key => "key_not_a_keyword" },
  131     },
  132   },
  133   user => {
  134     record => "WeBWorK::DB::Record::User",
  135     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  136     driver => "WeBWorK::DB::Driver::SQL",
  137     source => $database_dsn,
  138     params => { %sqlParams,
  139       tableOverride => "${courseName}_user",
  140     },
  141   },
  142   set => {
  143     record => "WeBWorK::DB::Record::Set",
  144     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  145     driver => "WeBWorK::DB::Driver::SQL",
  146     source => $database_dsn,
  147     params => { %sqlParams,
  148       tableOverride => "${courseName}_set",
  149       fieldOverride => { visible => "published" }, # for compatibility -- visible was originally called published
  150     },
  151   },
  152   set_user => {
  153     record => "WeBWorK::DB::Record::UserSet",
  154     schema => "WeBWorK::DB::Schema::NewSQL::NonVersioned",
  155     driver => "WeBWorK::DB::Driver::SQL",
  156     source => $database_dsn,
  157     params => { %sqlParams,
  158       tableOverride => "${courseName}_set_user",
  159       fieldOverride => { visible => "published" }, # for compatibility -- visible was originally called published
  160     },
  161   },
  162   set_merged => {
  163     record => "WeBWorK::DB::Record::UserSet",
  164     schema => "WeBWorK::DB::Schema::NewSQL::Merge",
  165     driver => "WeBWorK::DB::Driver::SQL",
  166     source => $database_dsn,
  167     depend => [qw/set_user set/],
  168     params => { %sqlParams,
  169       non_native => 1,
  170       merge      => [qw/set_user set/],
  171     },
  172   },
  173   set_version => {
  174     record => "WeBWorK::DB::Record::SetVersion",
  175     schema => "WeBWorK::DB::Schema::NewSQL::Versioned",
  176     driver => "WeBWorK::DB::Driver::SQL",
  177     source => $database_dsn,
  178     params => { %sqlParams,
  179       non_native => 1,
  180       tableOverride => "${courseName}_set_user",
  181       fieldOverride => { visible => "published" }, # for compatibility -- visible was originally called published
  182 
  183     },
  184   },
  185   set_version_merged => {
  186     record => "WeBWorK::DB::Record::SetVersion",
  187     schema => "WeBWorK::DB::Schema::NewSQL::Merge",
  188     driver => "WeBWorK::DB::Driver::SQL",
  189     source => $database_dsn,
  190     depend => [qw/set_version set_user set/],
  191     params => { %sqlParams,
  192       non_native => 1,
  193       merge      => [qw/set_version set_user set/],
  194     },
  195   },
  196         set_locations => {
  197                 record => "WeBWorK::DB::Record::SetLocations",
  198                 schema => "WeBWorK::DB::Schema::NewSQL::Std",
  199                 driver => "WeBWorK::DB::Driver::SQL",
  200                 source => $database_dsn,
  201                 params => { %sqlParams,
  202                         tableOverride => "${courseName}_set_locations"
  203                 },
  204         },
  205         set_locations_user => {
  206                 record => "WeBWorK::DB::Record::UserSetLocations",
  207                 schema => "WeBWorK::DB::Schema::NewSQL::Std",
  208                 driver => "WeBWorK::DB::Driver::SQL",
  209                 source => $database_dsn,
  210                 params => { %sqlParams,
  211                         tableOverride => "${courseName}_set_locations_user"
  212                 },
  213         },
  214   problem => {
  215     record => "WeBWorK::DB::Record::Problem",
  216     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  217     driver => "WeBWorK::DB::Driver::SQL",
  218     source => $database_dsn,
  219     params => { %sqlParams,
  220       tableOverride => "${courseName}_problem"
  221     },
  222   },
  223   problem_user => {
  224     record => "WeBWorK::DB::Record::UserProblem",
  225     schema => "WeBWorK::DB::Schema::NewSQL::NonVersioned",
  226     driver => "WeBWorK::DB::Driver::SQL",
  227     source => $database_dsn,
  228     params => { %sqlParams,
  229       tableOverride => "${courseName}_problem_user"
  230     },
  231   },
  232   problem_merged => {
  233     record => "WeBWorK::DB::Record::UserProblem",
  234     schema => "WeBWorK::DB::Schema::NewSQL::Merge",
  235     driver => "WeBWorK::DB::Driver::SQL",
  236     source => $database_dsn,
  237     depend => [qw/problem_user problem/],
  238     params => { %sqlParams,
  239       non_native => 1,
  240       merge      => [qw/problem_user problem/],
  241     },
  242   },
  243   problem_version => {
  244     record => "WeBWorK::DB::Record::ProblemVersion",
  245     schema => "WeBWorK::DB::Schema::NewSQL::Versioned",
  246     driver => "WeBWorK::DB::Driver::SQL",
  247     source => $database_dsn,
  248     params => { %sqlParams,
  249       non_native => 1,
  250       tableOverride => "${courseName}_problem_user",
  251     },
  252   },
  253   problem_version_merged => {
  254     record => "WeBWorK::DB::Record::ProblemVersion",
  255     schema => "WeBWorK::DB::Schema::NewSQL::Merge",
  256     driver => "WeBWorK::DB::Driver::SQL",
  257     source => $database_dsn,
  258     depend => [qw/problem_version problem_user problem/],
  259     params => { %sqlParams,
  260       non_native => 1,
  261       merge      => [qw/problem_version problem_user problem/],
  262     },
  263   },
  264   setting => {
  265     record => "WeBWorK::DB::Record::Setting",
  266     schema => "WeBWorK::DB::Schema::NewSQL::Std",
  267     driver => "WeBWorK::DB::Driver::SQL",
  268     source => $database_dsn,
  269     params => { %sqlParams,
  270       tableOverride => "${courseName}_setting"
  271     },
  272   },
  273 };
  274 
  275 
  276 =head1 DATABASE LAYOUT METADATA
  277 
  278 =over
  279 
  280 =item @dbLayout_order
  281 
  282 Database layouts listed in this array will be displayed first, in the order
  283 specified, wherever database layouts are listed. (For example, in the "Add
  284 Course" tool.) Other layouts are listed after these.
  285 
  286 =cut
  287 
  288 @dbLayout_order = qw/sql_single sql_moodle/;
  289 
  290 =item %dbLayout_descr
  291 
  292 Hash mapping database layout names to textual descriptions.
  293 
  294 =cut
  295 
  296 %dbLayout_descr = (
  297   sql_single => "Uses a single SQL database to record WeBWorK data for all courses using this layout. This is the recommended layout for new courses.",
  298 # sql_moodle => "Simiar to sql_single, but uses a Moodle database for user, password, and permission information. This layout should be used for courses used with wwmoodle.",
  299 );
  300 
  301 =back
  302 
  303 =cut

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9