The Marks view is where you record what each student scored on each exam. Once entered, those marks appear on the result sheet as a per-subject breakdown with letter grades, point totals and printable PDFs. This article covers manual entry, the Excel import option and how the result sheet is generated.
Overview
Each "mark" is a single number tied to four things: a student, an exam, a class and a subject. Multiply that out across a school year and a single exam can produce thousands of records. JoomSchool offers two ways to enter them:
- Manual entry — useful when there are only a handful of subjects or you're correcting a single student's score.
- Spreadsheet import — the practical option for entering an entire class's marks at once. Accepts XLSX and ODS files.
Once marks are saved, the Result view (admin) and the frontend Results page (for students, teachers and parents) read from the same data.
Prerequisites
Before you can record any mark, the following must already exist:
- The academic year is set as the current one.
- The exam has been created.
- The class, section and subject all exist and are linked correctly.
- The student records are in place and assigned to the class and section.
- A grade category is attached to the class (so letter grades can be computed). This is optional but strongly recommended.
Opening the Marks view
Go to Components → JoomSchool → Marks. The view always shows a filter bar at the top. You can't see the marks until you tell JoomSchool which exam-class-section-subject combination you're working with.
The filter has four required selects:
| Filter | What it controls |
|---|---|
| Exam | The exam whose marks you are entering or editing. |
| Class | The class whose students will be shown. |
| Section | The section within that class. |
| Subject | The subject the marks correspond to. |
Once all four are picked, the table below the filter populates with one row per student.
Manual entry
For each student row in the table, enter the mark in the Marks column and (optionally) a per-student comment in the Comment column. The form supports keyboard tabbing so you can fly down the list. Click Save at the top of the page when done.
If a student is missing from the row list, check that they are:
- Published (not unpublished, archived or trashed)
- Linked to the same class and section that the filter is currently set to
- Stamped with the same academic year as the toolbar Year Switcher
Excel / ODS import
For larger classes, the import is much faster. The accepted file formats are XLSX (Microsoft Excel) and ODS (LibreOffice Calc). CSV is not accepted.
Spreadsheet format
The spreadsheet must have exactly three columns and a header row:
| Column A | Column B | Column C |
|---|---|---|
| Roll No | Marks | Comment |
- Row 1 is treated as the header and is ignored. Use any labels you like — the importer doesn't read them.
- Roll No is matched against the student's roll on file. If a row's roll doesn't exist, that row is silently skipped (not flagged as an error).
- Marks is a number (integer or decimal).
- Comment is optional free-text.
Running the import
- Open the Marks view and pick the Exam, Class, Section and Subject in the filter.
- Click the Import button (or the upload tool — the toolbar exposes a file picker).
- Select your XLSX or ODS file.
- Submit.
The importer reads each row, looks up the student by roll number, and writes the mark and comment to the database. A success message appears once the file has been processed.
Repeat for each subject: re-pick the subject in the filter and upload the next file.
Sanity check before bulk import
Before importing 100 rows, do a test with 2–3 rows to confirm:
- The header row is being skipped (i.e. row 2 is the first imported student).
- Roll numbers match — none of your test students should be silently skipped.
- The numeric format is right (decimals, leading zeros).
A 5-row test takes a minute and saves an hour of clean-up.
Results
The result is generated automatically the moment marks are saved. Two places display it:
Admin Result view
Components → JoomSchool → Result (or the Result action button on the Students list view). Pick a student, an exam and a class, and the page renders a single-student result with:
- Student name, roll number, photo, class and section
- A row per subject with Marks, Maximum Mark, Grade letter and Grade Point
- A total / GPA / percentage row at the bottom
- A teacher comment if filled in
- The school header and footer (configured in Components → JoomSchool → Options → Header / Footer)
Frontend Result page
Students, parents and (when enabled) teachers see the same data on the frontend Results page. Only published exams appear; only the active academic year is shown by default, with a year filter to look at history.
Generating PDFs
Every Result page has PDF and Print buttons in the toolbar. The PDF version is rendered by the bundled DOMPDF library using the font and orientation you set in Components → JoomSchool → Options → PDF. For non-Latin scripts, switch the font to Firefly or Unifont in those settings or the PDF will show question marks.
The Print button opens a printer-friendly HTML view that omits navigation chrome and is designed for direct browser printing.
Showing one exam vs all exams on the same page
The Options screen has a setting at Components → JoomSchool → Options → Exams called Display All Exams:
- Yes — the result page lists every published exam in the academic year side-by-side. Useful for end-of-year transcripts.
- No (default) — the result page shows one exam at a time and offers a toolbar Exam Switcher to flip between them. Less cluttered for routine viewing.
Visibility rules
- Exam Status must be Published for marks to appear on the result page.
- Class, section and student Status must all be Published — an unpublished student vanishes from the list.
- The student's academic year must match the year the result page is filtered to.
- The class must have a Default Grade System for letter grades to appear; without it, raw marks show but the Grade column is blank.
- For teachers on the frontend, Components → JoomSchool → Options → Results → Enable Results for Teacher must be Yes.
Tips & Best Practices
- Enter exam comments before publishing the result. Once parents have seen the page, adding a comment after the fact looks like a correction.
- Keep the spreadsheet template handy. Save a sample three-column file (Roll, Marks, Comment) on disk so every term's import uses the same structure.
- Watch out for hidden formulas. If your spreadsheet's Marks column contains formulas, save a flat copy (Paste → Values) before uploading.
- Don't unpublish an exam after results are visible. Parents who already opened the page may have a stale copy; unpublishing only stops new viewers.
- Use the Year Switcher to look at last year's marks rather than asking which export to load — JoomSchool keeps history indefinitely.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Marks table is empty even after picking the four filters. | No students are linked to that class + section in the active academic year. | Verify the Year Switcher and check the Students list view filtered the same way. |
| Spreadsheet uploads but no marks appear. | Roll numbers in column A don't match any students. | Confirm the column ordering (A=Roll, B=Marks, C=Comment) and that the rolls are correct. |
| The importer rejects a CSV file. | Only XLSX and ODS are accepted. | Save the CSV as XLSX and re-upload. |
| Some students are missing rows after import. | Their rolls weren't in the spreadsheet, or their roll didn't match. | Check the spreadsheet for typos; check the Students list for the right rolls. |
| The Grade column on the result is blank. | The class's Default Grade System is not set or has no grades. | Edit the class; set the grade system; verify the Grade list. |
| The PDF result sheet shows broken characters. | The PDF font in Options doesn't support the script. | Change PDF Font to Firefly (Unicode) or Unifont (Unicode) in Options → PDF. |
| The toolbar Exam Switcher is missing. | "Display All Exams" is set to Yes — there's nothing to switch between. | Switch the option back to No if you want one exam at a time. |
| Frontend students see a blank Results page. | The exam is unpublished, or the student's class has no grade scale, or the active year doesn't match. | Tick each prerequisite in the visibility rules above. |