Class journal icon

Class journal

Maintained by Konstantin Kunakov
Class journal is a Moodle activity module for lesson-based grading. Teachers create lessons, enter per-student grades and comments, and Moodle Gradebook receives one final grade item per activity.
Price option: Free
Supports Moodle 4.1-5.2 See all versions

Latest release: 1 day ago
Installations: 3
Downloads (last 90 days): 52

Frankenstyle name: mod_classjournal
Activities

Description

Class journal helps teachers manage grades for repeated lessons, training sessions, seminars, workshops, or any course format where each meeting can have its own grade.

Teachers add a Class journal activity to a course, create dated lessons, and enter grades in a matrix where students are rows and lessons are columns. Each lesson can have its own maximum grade. The plugin then calculates one final activity grade and syncs it to Moodle Gradebook as a single grade item.

The final grade can be calculated as a sum or as an average:

  • Sum aggregation adds lesson points and caps the result at the configured Gradebook maximum.

  • Average aggregation calculates lesson percentages and converts the result to the configured Gradebook maximum, making mixed lesson scales such as 5, 10, and 100 easier to combine.

  • Empty grades can either be ignored or counted as zero, depending on the activity setting.

The plugin also exposes Moodle External Functions for REST integrations. External systems can:

  • Create lessons.

  • Set grades.

  • Read lesson grades.

  • Read calculated final grades together with aggregation settings.

Key features

  • Moodle activity module for lesson-based grading.

  • Create, edit, and delete dated lessons.

  • Bulk-create repeated lessons every N weeks.

  • Per-lesson maximum grades.

  • Teacher grade matrix with students as rows and lessons as columns.

  • Optional comments for each lesson grade.

  • Student view for own grades.

  • Optional setting to show all student grades to students.

  • Lesson filters by name and date range.

  • Pagination for large journals.

  • Bulk lesson deletion with confirmation.

  • One Moodle Gradebook item per Class journal activity.

  • Sum and average aggregation modes.

  • Configurable final Gradebook maximum (for example 100).

  • Optional mode to count empty grades as zero.

  • REST API through Moodle Web Services.

Gradebook behaviour

Class journal creates one Moodle Gradebook item for each activity instance. It does not create a separate Gradebook column for every lesson.

Sum mode

  • Adds the lesson grades for each student.

  • Ignores empty grades unless "Count empty grades as zero" is enabled.

  • Caps the final grade at the configured Gradebook maximum.

Average mode

  • Converts each lesson grade to a percentage of that lesson's maximum.

  • Averages those percentages.

  • Converts the result to the configured Gradebook maximum.

  • Ignores empty grades unless "Count empty grades as zero" is enabled.

Example

  • Lesson A: 8 / 10

  • Lesson B: 15 / 20

  • Gradebook maximum: 100

  • Average mode result: (80% + 75%) / 2 = 77.5, so final grade is 77.5 / 100.

REST API

Class journal registers these Moodle Web Service functions:

  • classjournal_get_lessons(cmid)

  • classjournal_get_grades(lessonid)

  • classjournal_get_final_grades(cmid)

  • classjournal_create_lesson(cmid, name, description, lessondate, maxgrade)

  • classjournal_set_grade(lessonid, userid, grade, comment)

  • classjournal_get_student_grades(cmid, userid)

Contributors

Awards

Privacy friendly
Automated testing support