On this page
Quiz 7.x-5.x
This is documentation for Drupal 7, which is no longer supported. Learn more and find resources for Drupal 7 sites
Synopsis
Quiz versions 4.x.1.x through 8.x-4.x do not support anything other than 1 question per page. There are some major issues that need to be fixed first before we can get to that functionality, and some other major issues that would be great for the project.
- Use the Form API effectively, for question answering
- Use the available CRUD frameworks in Drupal 7 (like Entity API) so that we instantly gain robust Field, Views and Rules support while saving code. This includes Quizzes, Quiz question relationships, Quiz results, Question responses.
- Break apart quiz_take_quiz - it has roots in Drupal 4 (http://drupalcode.org/project/quiz.git/blob/refs/heads/4.7.x-1.x:/quiz.m...)
- Use the Drupal menu system to control navigation through questions/pages and access to certain elements (quiz questions, feedback, results)
- Convert old non-View functionality to Views, Data Export, VBO
- Fix/upgrade tests, and add tests where missing to Quiz and all Question types (Multichoice, has no tests!)
Because of these major issues we need a 7.x-5.x version to reduce technical debt as these issues will still exist if we port old code to Drupal 8.
The goal is to build a stable 7.x-5.0 release that conforms to Drupal coding standards and patterns, so that an 8.x-5.0 port does not still use any deprecated functionality (like relying on $_POSTs, $_GETs, not using render arrays). An additional goal is to maintain the schema as much as possible, so that users coming from 6.x-4.x or 7.x-4.x have an upgrade path.
See #634110: Rewrite quiz_take_quiz() with FAPI for more reasoning behind this development.
So, what's in it for me?
Some of the big features:
- All questions on a single page, or questions on multiple pages
- Peace of mind, sleeping at night, because of updated tests
- Repeat-until-correct with question feedback, while avoiding $_SESSION
- An improved Question type API for creating new question types
- Improved quiz-taking behavior using Form API - that means you can alter the forms more easily
- Rules events for everything, as everything will take advantage of entity API
- Improved AJAX support, as quiz_take_quiz is broken apart into more functional units
- A smooth upgrade path from 7.x-4.x
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion