Help figuring out reporting: Setting Up Subject-Specific Marks in Term Reports

Hello everyone,

Gibbon enthusiast from Uganda here :).
I’m setting up term reports and could use some guidance. I’ve successfully:

  • Created and populated markbooks.
  • Set up a reporting cycle with scopes and criteria.

However, when I go to Reports > Write Reports, the interface only shows fields for general term data (like overall results & comments). I can’t see any way to input or display marks for individual subjects.

I understand from tutorials that markbook data doesn’t auto-populate into reports, and that’s not what I’m asking. My question is about the structure of the report itself: How do I create a report that has a section for listing a student’s performance in each subject?

In other words, how do I set up the reporting cycle or the “Write Reports” page, or any other setting I might be missing so it includes a dedicated area for subject-specific information? I’m aiming for a report format that can accommodate a list like this:

Could someone please point me to the correct workflow or a specific setting I might have missed? I’ve reviewed the documentation but haven’t figured out a solution yet.

Thanks in advance for your help!

Hi @elkiyingi

Just to confirm — is the Average Mark the average of all students’ Subject Scores for the class? Is this a calculated field, and do you want the calculation to be handled within Gibbon?

Also, is the Subject Grade derived from the value of the Subject Score?

Regards

1 Like

I am still figuring out reports myself, and certainly haven’t gotten into formatting them beyond the default template, but it sounds like you’re looking for reports by course. When teachers are part of the active reporting cycle, they each contribute based on the individual course, be that comments, grades, etc. The reports can also be per student (like form group comments) but I don’t think that’s what you’re looking for.

Basically, every class needs to be added with subject teachers, then populated with students. This will allow quick reporting for every subject.

1 Like

Hi @elkiyingi

In order to generate a report based on courses, add a scope to your reporting cycle with a Type of Course (see image below).

The default template “Report - Courses” displays course grades, comments, and other details, producing a report similar to the example below.

After tinkering with the template for a few hours, I was able to replicate a report card layout like this one:


What I Did

Column 1 (S/N):
Values are pulled from the Courses → orderBy field. You could also use a custom field or predefined static values.

Column 2 (Subject Name):
Displays the courses each student is enrolled in.

Column 3 (Subject Score):
Entered by the subject teacher—either when writing reports or through the Gradebook.

Column 4 (Average Mark):
This is the average mark for all students in the class for that subject, calculated automatically.

Column 5 (Subject Grade):
Derived from a grade scale I created for testing. You can, of course, use your own grading scale:

Min Max Grade Description
90 100 6 Excellent / Outstanding Competence
80 89 5 Very Good / Strong Competence
65 79 4 Good / Expected Competence
50 64 3 Approaching Expected Competence
0 49 2 Below Expected Competence / Needs Improvement

Column 6 (Teacher(s)):
Shows the teacher’s initials. You can replace this with the full name or another field if preferred.


I built this report using grades from the Reports module, though it could just as easily use data from the Gradebook.

Hopefully, this helps anyone exploring custom report generation — it’s definitely possible in Gibbon with a little creativity and patience!

Hey @tiekubd . Thanks for your response! So average mark is for each student and for each subject score. While the attached report example is for one assessment, “MOT,” at the end of the term the report will have BOT, MOT, & EOT scores for each subject which makes the average score more relevant. So yes, it’s a calculated field and would love for it to be handled in Gibbon if possible. And Subject Grade is derived from Subject score too.

Wow. This is really helpful @tiekubd , let me try that out.

Thank you so much for sharing such valuable knowledge, @tiekubd . If it’s not too much bother, when you say: I built this report using grades from the Reports module, though it could just as easily use data from the Gradebook. How would it work if the grades were retrieved from the Gradebook?

Hi @jvalero

Gibbon provides a flexible framework to build almost any type of report, but this does require some coding — specifically knowledge of PHP, HTML, SQL, Twig template tags, and some YAML front matter.

To retrieve grades from the Gradebook, you can create a custom source file and template.

In my setup, I use the Gradebook module to enter grades and the Reporting module to generate and present them in report cards. The key is writing a source file that pulls the data from the Gradebook and a template that formats it for display.

I’ve worked with a few schools to produce custom reports in Gibbon, and it’s quite flexible once you get the hang of the structure.

Hope this helps!
Thanks

@tiekubd do you mind sharing your code?

Hi @elkiyingi

Can you send me an email at
tieku (at) highpointedu (dot) com

Thanks