Chained Quiz Logic Free Add-on For WatuPRO

This is a free add-on which implements long requested functionality for WatuPRO: The ability to add “chained” logic to quizzes. So depending on the user’s answer on a question you choose the next question or finalize the quiz.

Download here: wchained-logic (24 KB)

Current version: 4.3

Requires: WatuPRO 6.1 or newer

How Does It Work?

Once installed and activated, the add-on will enable a new menu item called “Chained Logic” under your WatuPRO menu. Click on it and you’ll be taken to a page where you can set up chained logic for a given quiz, and a shortcode to publish its chained logic version.

The chained quiz will work only with the new shortcode. The old shortcode will keep working with the standard behavior.

Here is a screenshot how you can set chained logic in your quiz:

chained-question

Specifics and Limitations:

  1. The quiz pagination will be automatically set up to “One question per page”
  2. Back buttons, “save” button, numbered paginators, “show answer”, and “Question X from Y” text will not be shown.
  3. Grouping and randomizing questions settings will be disregarded – the questions will start appearing by the order you have given in the “Manage questions” page.
  4. This will work for “live quizzes” (no “practice mode”)
  5. Only single-answer, multiple-answer and “open-end” questions can be chained. The other question types will be excluded. From version 3.3 you can use “fill the gaps”, “slider” and “sortable” with the Logic Threshold function (explained below) but they should not be the first question in the quiz.
  6. From  version 3.7 chained quizzes partially-submitted state can be saved if “automatically store user progress as they go from page to page” setting in WatuPRO is selected. This feature requires WatuPRO 6.5.4.2 or a newer version.
  7. You can’t ask for contact details at the end of the quiz. This feature currently does not work. You can however ask at the beginning of the quiz.
  8. Flashcard questions are not supported
  9. File uploads are not supported
  10. Progress bars cannot be used on chained quizzes because the chain can end or change the question number any time. The program can never know how many questions are still to go.

Logic Threshold Instead of Fixed Chain

From version 2.3 the chained logic addon supports on-the-fly evaluation of the % correct answers given by the respondent. This allows you to define different chain if they have given less or above a selected % correct answer.

This option is available for every question and the threshold can be different for each question. You’ll find the checkbox under the default selections for each question:

In this example if the user has answered less than 51% of the questions up to this point (including the last question) correctly, they will be redirected to question one. If they have answered 51% or more correct the logic will follow whatever you have selected  for that choice (not shown on the screenshot).

So the dynamic logic has priority over the static logic.

Another example:

If after answering the question the user has already collected more than 80% correct answers, you want to finalize the quiz. If they have not achieved 80% let them continue accordingly to the selections for that question.

From version 3.4 of the plugin the logic threshold can be limited to the same question category. If you select that checkbox in a question, the logic will not evaluate the whole user performance on all questions but only on the questions from the same question category.

This is super powerful logic that allows you to prematurely end a quiz, not let the user continue until they have desired success rate, roll them back to earlier point of the test or let them skip a section.

From version 3.8 the dynamic logic can be based on the correct / wrong results on every specific question:

This is very convenient if you want to use a regular chained logic on most questions but correct / wrong only on some of them.

It is also powerful way to handle open-end questions where you cannot predict every possible answer typed by the user. Instead you can choose what specific action to be taken if the user did not type any of your pre-defined answers (which typically means they answered wrongly).

Integration with the free Chained Quiz Plugin

From version 1.1 you can transfer the quizzes made with the free Chained Quiz plugin into WatuPRO quizzes. The chained logic will be automatically transferred as well.

The results of users will also be transferred although without the details and the stats of num wrong answers, % correct, etc.

Dealing with open end / essay questions

If your open-end question has possible correct answers, things are easy – just select where each answer goes.

If the user answers something else, the answer is considered wrong. The quiz will continue with the next question unless you have explicitly selected a behavior for wrong answer:

If the question has no possible answers, then from a chained logic perspective it’s always answered wrong. So you can use the same logic if you want to specify some behavior different than going to the next question.

Troubleshooting

1. The questions or answers do not show in the expected order

Please be careful if you test the chained logic as a logged in user. In case you have started the same quiz in the regular version of WatuPRO but not yet finished it and have saved your progress (either by hitting Save button or automatically), you will see the questions and answers from your unfinished attempt in the order of the regular quiz. This is because WatuPRO always gives priority to the saved unfinished quiz.

There is very easy fix for this: simply complete the quiz once and you will see it works fine. Or don’t test as logged in user (typically site owners test with their administrator account).

2. The chained logic is not saved

Large quizzes with a lot of questions may overload your POST server limit when the chained logic is saved. In such a case you need to request increasing your POST limit from your hosting support or server admin.

Learn more about this here.

Another (similar) possible issue is the setting “max_input_size” not high enough.

Changelog

From version 3.6 the plugin supports WatuPRO’s advanced setting “When user answers a “single choice” question go to next question” (it auto-submits the current question without clicking the button – it won’t technically go to the next question if your chained logic has defined something else).