Difference between revisions of "Architecture"
(New page: 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''' (...) |
|||
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 |
+ | 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. |
− | 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, archive courses, and restore courses from archives. |
||
+ | 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 '''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>. |
||
+ | |||
+ | 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. |
||
+ | |||
+ | 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>. |
||
+ | |||
+ | 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 <code>course.conf</code> file contains course-specific settings. The <code>templates</code> subdirectory contains set definition files, classlist files, and problem source files. The <code>scoring</code> subdirectory contains scoring files generated by the scoring tools. The <code>html</code> 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 <code>logs</code> subdirectory contains logs of course activity, which can be useful for debugging purposes. |
||
+ | |||
+ | 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. |
Revision as of 13:51, 12 February 2008
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.
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 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
.
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.
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.