Skip to content

9. Tracking attempts

The Attempts page (/admin/attempts) is where you see how pupils are actually using LexiScor: who took which quiz, when, what they scored, how long they took, and whether they passed.


What counts as an attempt?

An attempt is recorded the moment a pupil clicks Start Test on a public quiz page. From then on it can end in one of three ways:

Outcome What it means Visible on the Attempts page?
Completed The pupil submitted the quiz before time ran out.
Timed out The 30-minute timer expired before submission. The system auto-submits whatever was answered. ✅ (marked as timed out)
In progress / abandoned The pupil started but never finished and never timed out. ❌ — only completed attempts (including timed-out ones) show up.

Statistics at the top of the page (averages, pass rates, etc.) are computed only over completed attempts, so they always describe finished work.


The filter bar

Right under the page title is a single row of filters:

Filter What it does
Class (Clasa) Limit results to a single grade — Pregătitoare, I, II, …
Module (Modul) Limit results to a school period — 1, 2, 3, Vacanța de vară, …
Book Limit results to a single book. The list is sorted alphabetically.
Date from Earliest date to include (inclusive).
Date to Latest date to include — covers the whole day, up to 23:59.
Clear filters Removes every active filter and shows everything again.

Filters apply immediately — there is no "Apply" button. Whenever you change anything, the table and the summary statistics refresh together and the table jumps back to page 1.

The Class, Module and Book dropdowns are populated from real data, so they always offer exactly the choices that exist in your catalog.


Summary statistics

Three cards summarise the currently filtered set of attempts:

  • Total results — how many attempts match.
  • Average score — the mean percentage across those attempts. A question worth more points contributes more to the score.
  • Pass rate — the fraction of attempts that scored at least their pass threshold (defaults to 80%). A pass threshold is captured at the moment of the attempt, so changing the global default later does not retroactively alter past results.

These three numbers always reflect the whole filtered set, not just the current page of the table.


The results table

Below the summary is a paginated table — 25 rows per page. Columns:

Column Content
Participant The name the pupil typed when starting the quiz. If they later confirmed an email, it appears underneath.
Book Title of the book the quiz belongs to.
Class The book's grade (clasa).
Version Which quiz version was answered (e.g. v1, v2).
Score Raw score / maximum + percentage, e.g. "8 / 10 (80%)".
Result Passed (green) or Failed (red).
Duration Time the pupil actually spent on the quiz, e.g. "4m 12s".
Completed Date and time the quiz was submitted (timezone Europe/Bucharest).

A "Showing 26 – 50 of 312" counter and Previous / Next buttons sit at the bottom for paging through long result sets.

The page does not auto-refresh. To pick up new attempts that have arrived since you opened the page, simply reload the browser.


Exporting to CSV

Next to the Clear filters button is an Export CSV button. It downloads all attempts that match the current filters — not just the visible page. The file is named like attempts-2026-04-16.csv.

The CSV is encoded as UTF-8 with BOM so Excel opens it directly with correct Romanian diacritics. It includes a few extra columns beyond what the table shows — most notably whether the attempt timed out and the pass threshold that was in effect at the time. This makes it suitable for downstream reporting in spreadsheets or BI tools.

Tips:

  • For a clean monthly report, set Date from to the first of the month and Date to to the last day of the month, then export.
  • For a per-class report, set the Class filter and export. You can combine multiple filters freely.

Pass / fail logic in detail

For every attempt:

percentage = points earned ÷ maximum possible points × 100 result = percentage ≥ pass threshold ? "Passed" : "Failed"

  • The pass threshold is per-attempt (see above), defaults to 80%, and is configurable per quiz in the future.
  • A timed-out attempt is scored on whatever was actually answered. Most timed-out attempts therefore appear as Failed with a low percentage.

Common reports — quick recipes

  • "How is Clasa II module 2 doing this week?" — Set Class = II, Module = 2, Date from = Monday, Date to = today.
  • "Which of our books are most popular?" — Open the Dashboard with no filters and look at the attempt counters next to each book; the numbers are the same source.
  • "Send a list of all attempts for a parent meeting" — Apply the relevant filter, click Export CSV, attach to email.