Thank you for your contribution to the WeBWorK project. We were already
aware that the current system of using a separate database for each
course is suboptimal. Your solution of using a separate group of tables
in the same database for each course is excellent, assuming the current
structure of the database. However, this structure is transitional,
designed to allow a common API for both SQL- and DBM-based courses.
Sometime in the near future, we will be redesigning the database
structure completely, to better satisfy current and future needs.
During this process, we will evaluate the best way to represent
"courses" within a relational model. We may go with a
one-database-many-tables approach, or with some other approach.
See the WeBWorK Wiki topic DatabaseRedesign for more information. As the design process progresses, we'd appreciate your input.
We would like to add your database modifications to WeBWorK 2.1. It
would help us if you could submit your changes as a patch file in
unified diff format by adding a "feature request" to our bugzilla database and attaching the patch file to it.
As for upgrading current courses, it seems to me that it would be
possible for per-course database courses and multi-course database
courses to coexist on the same system. One would only have to "upgrade"
courses if desired, and a utility could be written that would do the
job in a way that would not be "tedious" or "error-prone".
Thanks again for your contribution.
<| Post or View Comments |>