Note: You are currently viewing documentation for Moodle 4.0. Up-to-date documentation for the latest stable version of Moodle may be available here: Question Engine 2.

Development:Question Engine 2: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
Line 16: Line 16:
* [[Development:Question Engine 2:Overview|Overview of the new system]] <- '''If you only have time to read on bit, read this!'''
* [[Development:Question Engine 2:Overview|Overview of the new system]] <- '''If you only have time to read on bit, read this!'''
* [[Development:Question Engine 2:Design|Detailed design]]
* [[Development:Question Engine 2:Design|Detailed design]]
* [[Development:Developing a Question Interaction Model]]
* Developer documentation that will apply once the new system is finished:
* [[Development:Developing a Question Type]]
** [[Development:Developing a Question Interaction Model|Developing a Question Interaction Model]]
** [[Development:Developing a Question Type|Developing a Question Type]]
* [[Development:Question Engine 2:Implementation plan|Implementation plan]]
* [[Development:Question Engine 2:Implementation plan|Implementation plan]]



Revision as of 11:22, 25 November 2009

There are some long-standing problems at the heart of the Moodle quiz module. Some design decisions that made sense when the quiz was started in the Moodle 1.1 days that are creaking at the seams now, because the quiz and question system has expanded so much.

The main problems are

  • The database structure is not normalised. This leads to robustness issues, particularly on overloaded MySQL servers.
  • As features like adaptive mode and each attempt builds on last were added, the code has evolved into spaghetti.
  • And we want to add yet more things like certainty based marking.
  • It is more work than it should be create a new question type, and (judging by forum threads) the API is confusing.
  • It is difficult to use questions in other modules like lesson.

These are explained in more detail in Why this change is needed? below.

This is a large proposal, so I have broken it down into sections. The Design is the key part. The other sections support that.

See also

Template:CategoryDeveloper