Difference between revisions of "Architecture"

From WeBWorK_wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
This section gives a brief overview of WeBWorK's architecture and data organization.
 
This section gives a brief overview of WeBWorK's architecture and data organization.
   
A WeBWorK installation consists of one or more '''courses'''. Each course contains a '''classlist''' (a list of the students, TAs, instructors in the course) and a list of '''homework sets'''. A homework set consists of one or more '''problems'''. Homework sets can be '''assigned''' to one or more users.
+
A WeBWorK installation consists of one or more '''courses'''. One course, named '''admin''', is special. This course's classlist is used to control access to the '''Course Administration''' page. This page allows you to create, rename, delete, and archive courses, and restore archived courses.
   
Each homework set has an '''open date''' (the date and time before which students cannot view the set), a '''due date''' (the date and time after which students are not allowed to submit answers for credit), and an '''answer date''' (the date and time after which students are allowed to see correct answers and solutions).
 
  +
Each course contains a '''classlist''' (a list of the students, TAs, instructors in the course) and a list of '''homework sets'''. A homework set consists of one or more '''problems'''. Homework sets can be '''assigned''' to one or more users.
   
Each '''problem''' in a homework set has a '''weight''' and a '''maximum number of attempts'''. It also has a link to a '''problem source file''', which contains the actual definition of the problem. Problem source files are written using the '''PG language''' and have the file extension <code>.pg</code>.
 
  +
Each homework set has an '''open date''' (the date and time before which students cannot view the set), a '''due date''' (the date and time after which students are not allowed to submit answers for credit), and an '''answer date''' (the date and time after which students are allowed to see correct answers and solutions). In addition, a homework set can be '''visible to students''' or not.
   
One course, named '''admin''', is special. This course's classlist is used to control access to the '''Course Administration''' page. This page allows you to create, rename, delete, and archive courses, and restore archived courses.
 
  +
A special type of homework set is a '''gateway quiz'''. This type of set is designed for use with gateway testing or as a quiz. The entire set is presented on one page (rather than problem-by-problem as in a normal set). A '''time limit''' can be enforced, and multiple '''versions''' of the set can be allowed for a single student.
  +
  +
Each '''problem''' in a homework set has a '''weight''' and a '''maximum number of attempts'''. It also has a link to a '''problem source file''', which contains the actual definition of the problem. Problem source files are written using the '''PG language''' and have the file extension <code>.pg</code>.
   
 
Classlists can be imported from and exported to '''classlist files''' which have the extension <code>.lst</code>. Homework sets can be imported from and exported to '''set definition files''', which have the extension <code>.def</code>.
 
Classlists can be imported from and exported to '''classlist files''' which have the extension <code>.lst</code>. Homework sets can be imported from and exported to '''set definition files''', which have the extension <code>.def</code>.
Line 16: Line 18:
   
 
The course <code>templates</code> directory may also contain symbolic links to '''problem libraries''', directory structures containing problem source files that are shared among courses. One problem library is special: the '''National Problem Library''' or '''NPL'''. Every problem source file in the NPL has been tagged with metadata such as the topic that the problem pertains to, keywords describing the problem, and textbook exercises that the problem is similar to. This metadata can be indexed in WeBWorK's database, making the NPL searchable.
 
The course <code>templates</code> directory may also contain symbolic links to '''problem libraries''', directory structures containing problem source files that are shared among courses. One problem library is special: the '''National Problem Library''' or '''NPL'''. Every problem source file in the NPL has been tagged with metadata such as the topic that the problem pertains to, keywords describing the problem, and textbook exercises that the problem is similar to. This metadata can be indexed in WeBWorK's database, making the NPL searchable.
  +
  +
[[Category:Introduction]]

Latest revision as of 02:46, 1 March 2008

This section gives a brief overview of WeBWorK's architecture and data organization.

A WeBWorK installation consists of one or more courses. One course, named admin, is special. This course's classlist is used to control access to the Course Administration page. This page allows you to create, rename, delete, and archive courses, and restore archived courses.

Each course contains a classlist (a list of the students, TAs, instructors in the course) and a list of homework sets. A homework set consists of one or more problems. Homework sets can be assigned to one or more users.

Each homework set has an open date (the date and time before which students cannot view the set), a due date (the date and time after which students are not allowed to submit answers for credit), and an answer date (the date and time after which students are allowed to see correct answers and solutions). In addition, a homework set can be visible to students or not.

A special type of homework set is a gateway quiz. This type of set is designed for use with gateway testing or as a quiz. The entire set is presented on one page (rather than problem-by-problem as in a normal set). A time limit can be enforced, and multiple versions of the set can be allowed for a single student.

Each problem in a homework set has a weight and a maximum number of attempts. It also has a link to a problem source file, which contains the actual definition of the problem. Problem source files are written using the PG language and have the file extension .pg.

Classlists can be imported from and exported to classlist files which have the extension .lst. Homework sets can be imported from and exported to set definition files, which have the extension .def.

Homework sets can be scored using the scoring tools. These tools generate scoring files, which contain comma-separated values appropriate for importing into a spreadsheet or gradebook program.

Each course has its own course directory on the server. This directory contains any static files that are required for the course to function. The course.conf file contains course-specific settings. The templates subdirectory contains set definition files, classlist files, and problem source files. The scoring subdirectory contains scoring files generated by the scoring tools. The html subdirectory contains static files that may be used in rendering problems (This is seldom used currently) and temporary files generated during the problem rendering process. The logs subdirectory contains logs of course activity, which can be useful for debugging purposes.

The course templates directory may also contain symbolic links to problem libraries, directory structures containing problem source files that are shared among courses. One problem library is special: the National Problem Library or NPL. Every problem source file in the NPL has been tagged with metadata such as the topic that the problem pertains to, keywords describing the problem, and textbook exercises that the problem is similar to. This metadata can be indexed in WeBWorK's database, making the NPL searchable.