I strongly suggest that you look at the IMS Question
and Test Interoperability Specification as the basis of this
module:
http://www.imsproject.org/question/index.html#version1.2
It offers the following advantages:
- It's been thought through very carefully by people who do a lot
of this sort of thing in both academic and corporate settings
- If you use it, then any test or test bank created in any other
standards-compliant system can be imported into dotLRN and
visa versa
- The API has already been designed and (equally importantly)
documented
- Once the Sequencing specfication is finalized at the end of
this year, you'll get branching as well simply by updating the
latest versions of the IMS standards, which are explicitly being
designed to interoperate while maintaining backwards
compatibility as much as possible.
At the very least, somebody should take a look at the
specification and see if there's a specific and compelling reason
not to adopt it.