# Quiz Attempts

### How to enable attempts tracking <a href="#id-2-how-to-enable-attempts-tracking" id="id-2-how-to-enable-attempts-tracking"></a>

The **Quiz** Component has the capability to allow a user to take multiple attempts at a quiz. This is enabled by changing the **Retry Behaviour** setting under *Properties* when the **Quiz** is selected.

<figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FQfloSTWhtGRzieRLflBI%2FQuiz%20Attempts%201%20-%20Retry%20Option.png?alt=media&#x26;token=e7c6cdf2-3cad-4060-abb6-3c53787f8dc8" alt=""><figcaption></figcaption></figure>

The following options are available:

* **Disabled** turns off retries completely and if failed, the learner cannot retry.
* **Reset Failed** will clear responses for any questions the learner got wrong when *Retry* is clicked.
* **Reset All** will completely clear the quiz when *Retry* is clicked.

{% hint style="info" %}
**Tip:** Retry behaviour is useful for allowing learners to re-complete self-checks again until they get the answer correct, but can also be useful for assessments.
{% endhint %}

### How to show past attempts <a href="#id-2-how-to-show-past-attempts" id="id-2-how-to-show-past-attempts"></a>

If you want to allow a learner to see their past attempts, the above setting can be used in conjunction with the **Attempts Table** component which can be dragged into any existing **Quiz** component.

<figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FIT71AdeaqKoEMQAOGAx4%2FQuiz%20Attempts%202%20-%20Attempts%20Table.png?alt=media&#x26;token=55059857-f992-43fa-a42d-3debfd3bac78" alt="" width="209"><figcaption></figcaption></figure>

No additional setup is required to use the **Attempts Table** – it will automatically synchronise the quiz with the attempt selected in the table. When a past attempt is selected, the quiz will become disabled and the question inputs will show the response selected at that point in time.

<figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FVdpDWbraUC1y3srwj0e4%2FQuiz%20Attempts%203%20-%20Past%20Attempt.png?alt=media&#x26;token=fb910159-974f-4e2e-bd3b-04de83c643d1" alt=""><figcaption></figcaption></figure>

### Use with an assessor flow <a href="#id-2-use-with-an-approval-flow" id="id-2-use-with-an-approval-flow"></a>

Enabling *Attempts Tracking* in conjunction with an *Assessor Workflow* presents an interesting use-case because it provides a way for a manager, observer or assesor to mark and leave feedback against a learner’s submission and then provide visibility to that learner over their feedback.

When using with an *Assessor Workflow*, we recommend the following guidelines are followed:

* Configure the **Completion Condition** for the page to "None / Module Roll-Up" since the activity's completion should be managed by the assessor instead of the learner's initial quiz submission.<br>

  <figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FFkvwhgX2kJ5dsZEZhXe1%2FQuiz%20Attempts%204%20-%20Disable%20Completion.png?alt=media&#x26;token=c1ad7802-0f90-420e-9a76-b7c08011d74b" alt=""><figcaption></figcaption></figure>

  \
  Then create a workflow that will **Assign a Task** to an assessor with a trigger to **Mark Completed** when the assessor approves the page.<br>

  <figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2FQ8OWGkG8R3HrvC3hwsic%2FQuiz%20Attempts%205%20-%20Workflows.png?alt=media&#x26;token=c0e1d28c-003d-47aa-9e7e-827a16894400" alt=""><figcaption></figcaption></figure>
* Create an “Assessor” *variation* with the audience of **Target User exists** so that you can change content for the approver.<br>

  <figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2Fs8WcnKXuETAgXowWtnFv%2FQuiz%20Attempts%206%20-%20Variations.png?alt=media&#x26;token=6081f9e3-61fd-4e06-8d64-27e60fc30052" alt=""><figcaption></figcaption></figure>

  \
  It's now possible to use the variation to provide the power to either the learner or the assessor to control who kicks off a *retry:*

  * Set *Retry Behaviour* to "disabled" by default and enable it for the *Assessor* variation to provide the assessor with the ability to retry and re-mark an assessment.
  * Or, set *Retry Behaviour* to "reset..." by default and then disable it for the *Assessor* variation to force the learner to re-submit the quiz with new responses.<br>
* Use the *Assessor* variation described above to hide and show questions for either the *Learner* or the *Assessor*. Using variations, you're able to design a quiz where an initial set of questions are shown to a *learner* and then the *assessor* will see "grading-specific" questions for marking correctness and providing feedback.<br>
* Use the **Logic component** to hide or show questions based on whether a *Learner* is viewing past attempts. This is important if you only want to show assessor responses when a learner navigates to an old attempt via the **Attempts Table**.\ <br>

  <figure><img src="https://2829672504-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKn5Q7DMToHJDkZrM_v%2Fuploads%2Fbg77JCoD5yCJPMsf0G1z%2FQuiz%20Attempts%207%20-%20Logic.png?alt=media&#x26;token=7c120fca-608e-4624-b2a2-799d0fe34290" alt=""><figcaption></figcaption></figure>

  Logic supports the following conditions for **Attempts Tables**:

  * **is Active Attempt Selected** is triggered when the user selects an unsubmitted attempt.
  * **is Old Attempt Selected** is triggered when the user selects an attempt that has already been submitted.
  * **is Attempt with Assessor Submission** is triggered when a user selects an attempt that an assessor has also reviewed and submitted their feedback against.
  * **is Attempt without Assessor Submission** is triggered when a user select selects an attempt that hasn't received feedback from an assessor yet.

{% hint style="info" %}
Note that **responses** and **attempts** are synchronised between both *learner* and *assessor* automatically. Anything the learner responds to will be propagated to the assessor and vice versa to ensure everyone is working from the same state.
{% endhint %}
