Student Feedback Management

The Student Feedback Management module lets an institution build feedback templates on top of survey engine, send them to targeted groups of students in bulk, collect responses through the student/parent portal, and optionally gate the GradeBook until pending feedback has been submitted.

Feature Highlights

  • Feedback Templates — dedicated surveys flagged as Is Student Feedback, restricted to the SIS Configuration menu so they never mix with regular surveys.

  • Feedback Requests — a bulk-generation record with a full Draft Sent Completed lifecycle, replacing the older per-student action.

  • Two request modesCourse Based (with optional Batch) or Academic Plan Based (visible only when the Academic Plan group is enabled).

  • Automatic feedback records + email — creating a request generates one op.student.feedback per student and mails each one a unique submission link via the Student Feedback Request mail template.

  • Portal experience — students (and parents, when authorised) see a dedicated Feedback card in the portal with summary stat boxes (Total, Submitted, Pending, Open now).

  • GradeBook guard — students with pending feedbacks are blocked from viewing or downloading the GradeBook until they submit.

  • Duplicate protection — a SQL constraint prevents duplicate feedback per (student, course, subject, survey).

Configuration

Feedback Template

A Feedback Template is a Survey with the flag Is Student Feedback set to True. It is only reachable from the SIS Feedback menu; the standard Survey menu is filtered to hide it.

Go to SIS ‣ Configuration ‣ Feedback ‣ Feedback Templates and click New.

Feedback Template configuration form

Template fields

  1. Title — name shown to the student on the portal and in the submission page.

  2. Responsible — user who owns the template.

  3. Start Date / End Date — window during which the template is active (End Date is required; End Date cannot be earlier than Start Date).

  4. Is Course Base — mark the template as course-specific; controls which fields the feedback form exposes.

  5. Course / Subject / Faculty — scope the template. Subject is limited to the subjects of the selected Course, and Faculty is validated against the subjects taught by that faculty.

  6. Questions — build the questionnaire using standard Survey question types (text, choice, matrix, numeric, date, etc.).

Note

Once at least one participant has answered the template, the core survey fields (Title, Type, Questions, Layout, Progression Mode, etc.) become read-only to protect the integrity of already submitted responses.

Question configuration

For each question, standard survey options are available:

  • Show Comments Field — allow a free-text comment alongside the answer.

  • Conditional Display / Triggering Answers — show the question only when a previous answer matches.

  • Mandatory Answer / Error Message — enforce a response and customise the validation message.

  • Constraints — numeric limits, regex patterns, min/max length, etc.

  • Live Sessions / Time Limits — available when the survey is run as a live session.

Feedback Requests

The Feedback Request is the primary way to send a template to a batch of students. Go to SIS ‣ General ‣ Feedback Requests and click New.

Feedback Request list view

Creating a Feedback Request

Feedback Request form

Fill the following fields:

  1. Feedback Type

    • Course Based — target students of a Course/Batch/Subject.

    • Academic Plan Based — target students enrolled in a specific Academic Plan. This option is only visible when the group Use Academic Plan is enabled on the user.

  2. Academic Plan (Academic Plan mode only) — restricts Courses and Subjects to the ones defined on the plan.

  3. Course — required; filtered to the courses of the selected Academic Plan when applicable.

  4. Batch (Course Based mode) — optional; narrows the student pool to a specific batch of the Course.

  5. Subject — optional; when set, only students whose enrolment includes this subject are loaded.

  6. Faculty — informational; used to link the request to a teacher.

  7. Feedback Template — the survey to send. The dropdown only lists surveys flagged is_student_feedback.

  8. Start Date / End Date — request window (End Date defaults to one month from today).

  9. Students — automatically populated from the criteria above; students in draft or cancel state on their student.course are excluded. The list can still be adjusted manually before sending.

The Name field is auto-computed as a hyphen-joined summary of the scope (e.g. BBA - 2025-2026 - Marketing).

Lifecycle

A Feedback Request moves through three states, visible in the status bar:

  • Draft — editable; nothing has been sent.

  • Sent — pressing Send Feedback Requests creates one Individual Feedback record per student and emails each of them a unique submission link. All configuration fields become read-only.

  • Completed — pressing Mark as Completed after every targeted student has submitted their response. If any student is still pending, the button raises a validation with the list of missing names.

At any non-draft state, Back to Draft is available. It deletes the generated feedbacks and returns the request to Draft (a confirmation dialog is shown because the operation is destructive).

The form also exposes a smart button showing the number of Feedback responses collected.

Feedback Request after sending, with generated feedbacks and chatter

Email notification

When a Feedback Request is sent, the Student Feedback Request mail template is dispatched from the company address to each student’s e-mail. The message includes a Submit Feedback button pointing to the survey start URL, pre-filled with subject_id, student_id and feedback_id so the response is linked back to the correct student and request.

Feedback request email received by the student

Individual Feedbacks

Every row in SIS ‣ General ‣ Individual Feedbacks represents one op.student.feedback — the pairing of a student, course/subject, survey, and request that produced the submission link.

Individual Feedback records are created automatically by the Feedback Request action. They can also be created manually from this menu when you need to send a template to a specific student outside of a bulk request; creating a record fires the same mail template and generates a personal survey link.

Key constraints:

  • Unique per (student, course, subject, survey) — the database rejects duplicates and returns the message “Feedback already exists for this student, course, subject, and survey!”.

  • End Date, if provided, must be on or after Start Date.

  • Is Course Base is derived from the linked template and controls the visibility of the Course and Subject fields on the form.

Student Portal Experience

Portal home

Students and parents see a Feedback entry under the OpenEduCat portal category, with an unread counter that increments for every new feedback they haven’t opened yet (the counter is tracked per audience — student vs. parent — through the is_read / is_read_by_parent flags).

Feedback list (/my/feedback)

Student portal feedback list with stat cards and Submit buttons

The portal page shows summary stat cards at the top:

  • Total Feedbacks — every feedback assigned to the student.

  • Submitted — feedbacks with a completed survey response.

  • Pending — total minus submitted.

  • Open now — feedbacks whose window is currently open and that have not yet been submitted.

Clicking a card filters the list to that subset.

Each card in the list shows the template, subject (if any), course and the active date window. A Submit Feedback button opens the survey in a new tab as long as the student hasn’t already answered; once done, the button is replaced by a green Submitted pill and a link to the printable response.

Parents whose account is flagged is_parent can browse a specific child’s feedback list at /my/feedback/<student_id>.

Submitting a feedback

Survey start page for a feedback template Feedback questionnaire

The custom controller performs a strict eligibility check when the survey starts:

  • The URL must include student_id matching a real student owned by the logged-in user.

  • If a subject_id is passed, the student must not already have a submitted response for that subject.

  • A matching op.student.feedback record must exist for the student and survey.

When the check fails, an Access Denied — you are not eligible to access this Feedback link page is shown instead of the survey. Back-office admins bypass this check so they can preview any template.

On submission, the resulting survey.user_input is tagged with is_student = True, linked to the originating subject_id and to the feedback_request_id, so that Feedback Requests and Individual Feedbacks can display accurate counters.

GradeBook Guard

The module extends the GradeBook controller. When a student (or their parent) opens /grade-book or tries to download the GradeBook PDF, the system checks whether any linked feedback is still pending. If so, the GradeBook is blocked and a warning page lists the outstanding feedbacks with a shortcut back to Feedback.

List of submitted student feedbacks

This provides a soft enforcement mechanism: students receive their grades only after completing the requested evaluations.

Back-office View of Responses

Go to SIS ‣ General ‣ Feedbacks to view all submitted responses. The action is filtered on is_student = True and reuses the standard survey.user_input list, extended with the Subject column.

List of submitted student feedbacks

Open any row to see the full answer sheet, chatter, and the request the feedback belongs to.

Detailed view of a submitted feedback response