- Published
- October 13, 2025
- Last Updated
- February 22, 2026
- Author
- FdR
Student Logs: Keeping Track of What Matters
A simple way to record student conversations, incidents, and follow-ups—so nothing falls through the cracks.
Student Logs: Keeping Track of What Matters
We all know the feeling: you had an important conversation with a student, you meant to write it down, and now it's three days later and you can't remember the details. Or worse, a colleague asks "what happened with that incident last month?" and you're digging through emails trying to piece it together.
Student Logs fixes that. It's a simple place to record notes about students—pastoral conversations, behavioral incidents, academic concerns, whatever your school needs to track. Everything lives in one place, tied to the student record, with clear ownership when something needs to happen next.
How It Helps
When you open a new log and select a student, the system already knows which program they're in, which academic year, which school. You don't have to fill in the same information ten times a day. The system pulls it from their enrollment record automatically.
This means:
- Less busywork — no duplicating information the system already has
- Fewer errors — the context is accurate because it comes from the official record
- Clearer picture — when you look back at a log, you know exactly where the student was at that moment
Did you know? The system is smart about which school to record. It checks the program offering first, then the enrollment, then the academic year—so the right campus is always attached, even in multi-school setups.
Setting Up the Workflow (For Admins)
Before teachers can use this properly, someone needs to set up the categories and workflows. Here's what that looks like:
Step 1: Decide What Kinds of Logs You Need
First, create the Student Log Types your school actually uses. These are entirely up to you:
- Academic — for learning support notes, intervention records, progress updates
- Behavioral — conduct incidents, positive behavior recognition
- Pastoral — wellbeing check-ins, counselor referrals, concerns about home life
- Administrative — attendance issues, uniform violations, general documentation
You can have different types for different schools if you run a multi-campus setup.
Step 2: Set Up What Happens Next
This is where the real time-saving happens. You create Student Log Next Steps — templates that automatically route issues to the right person.
Each template defines:
| What you set | What it means | Example |
|---|---|---|
| The action | What needs to happen | "Refer to Counselor" |
| The role | Who is qualified to do it | "Student Counsellor" |
| Due date | How quickly they should respond | "2 days" |
| Auto-close | When to archive old items | "30 days" |
Here's why this matters: when a teacher logs a concern and selects "Refer to Counselor," they don't have to figure out which counselor is on duty, or whether Mrs. Johnson is the right person, or whether she's even available. They just pick the action. The system finds someone with the "Student Counsellor" role, assigns the task, sets the due date, and notifies them.
A practical example: Set up a "Learning Support Review" next step that assigns to your SEN coordinator within 3 days. Now any teacher who flags a potential learning issue knows it will reach the right person quickly—without them having to remember who that person is or how to contact them.
Step 3: The Teacher Experience
Once you've set this up, here's what a teacher actually does:
- They create a log — select the student, choose a type (e.g., "Behavioral")
- They check "Requires Follow Up" — this reveals the "Next Step" field
- They pick the action — "Refer to Counselor" (not a specific person)
- The system handles the rest — finds the right role, assigns a ToDo, sets the deadline
The teacher describes what happened in their own words. They don't need to know your staffing roster or who's on call. They just say what the concern is and what kind of response it needs. Your pre-defined rules handle the routing.
Important: If no one at that student's school has the required role (e.g., no "Student Counsellor" exists), the system won't let the teacher submit the log. This prevents issues from disappearing into a void—you'll know immediately if your staffing coverage has gaps.
Where Teachers Can Use It
Student Logs appears wherever your staff already work:
- From the Desk — full access for Academic Admins and Counsellors to manage everything
- From a Student's Profile — teachers can add a log directly while looking at a student's record
- From the Staff Home — classroom teachers can log notes for whole groups without navigating away
- Follow-up Interface — a dedicated view for people who are assigned tasks to progress them
Students and guardians can see logs you've marked as visible to them. Keep sensitive notes internal; share the ones that help families stay informed.
Did you know? When a student views their log in the portal, the system tracks whether they've seen it. So you know if that important behavioral note actually reached the family.
Voice Dictation for Busy Teachers
Sometimes you're walking between classrooms, or supervising lunch, or simply don't have a free hand to type. Student Logs supports voice dictation right in the browser (works in Chrome and Edge). Teachers can dictate their note and clean it up later—much better than forgetting to record it at all.
Keeping Things Tidy
Old logs don't clutter your view forever. The system runs a daily check and automatically closes follow-ups that haven't been touched in the time you specified (your auto_close_after_days setting). Open ToDos close with them. The log gets an audit comment showing it was auto-completed, so you have a record.
Your team focuses on active concerns, not a backlog of stale items.
Who Can See What
Not everyone should see everything. The system respects your school structure and staff assignments:
| Role | What they can see |
|---|---|
| Academic Admin / Counsellor | All logs in their school branch |
| Academic Staff | Only students in their assigned Student Groups |
| Pastoral Lead | Only students in their Pastoral Groups |
| Curriculum Coordinator | Students in programs they coordinate |
| Author / Assigned person | Their own logs and anything assigned to them |
Teachers won't see students they don't teach. Staff won't see schools they don't work in. It's simple, and it prevents those awkward moments of stumbling across information you shouldn't have.
Seeing the Patterns
When you have enough logs, the analytics dashboard helps you spot trends. How many behavioral incidents this month compared to last? Which students have multiple pastoral concerns? Are follow-ups being completed on time?
This isn't about surveillance—it's about knowing where to focus your attention and resources.
> Screenshot: The Student Log analytics dashboard showing filtered metrics and a simple trend chart
Technical Details (For IT)
DocType Structure
- Core DocType:
Student Log(ifitwala_ed/student_management/doctype/student_log/) - Supporting DocTypes:
Student Log Type— Categorization (Academic, Behavior, Pastoral, etc.)Student Log Next Step— Follow-up templates with roles and auto-close settingsStudent Log Follow Up— Child table tracking follow-up progress
Key Backend Logic
Validation (validate method):
- Enforces
next_stepmandatory whenrequires_follow_upis checked - Ensures single-assignee policy (exactly one open ToDo)
- Validates role compatibility for
follow_up_person - Auto-fills delivery context from Program Enrollment
- Enforces terminal "Completed" state locking
Post-Submission (on_submit):
- Marks complete immediately if no follow-up required
- Creates ToDo if assignee set but no assignment exists
- Recomputes status based on follow-up entries
Scheduled Job (auto_close_completed_logs):
- Runs daily via
hooks.py - Closes logs with
auto_close_after_days > 0after inactivity - Closes associated ToDos and appends audit comment
API Endpoints (ifitwala_ed.api.student_log)
get_student_logs— Paginated portal list (respectsvisible_to_student)get_student_log_detail— Single log with read-receipt trackingsearch_students,search_follow_up_users,get_form_options,submit_student_log— Vue overlay supportassign_follow_up— Assignment/reassignment with role and school validation
Permission & Visibility Predicate
get_student_log_visibility_predicate handles role-based access:
- System Manager / Administrator: Unrestricted
- Academic Admin / Counsellor / Learning Support: School tree branch
- Accreditation Visitor: Aggregate-only (
allow_aggregate_only=True) - Pastoral Lead / Academic Staff: Student Group membership
- Curriculum Coordinator: Program scope
Vue Frontend Components
StudentLogCreateOverlay.vue— Quick-create (single/group modes)StudentLogFollowUpOverlay.vue— Follow-up entry formFocusRouterOverlay.vue— Submission/review routing
Service Layer (src/lib/services/)
studentLogService.ts— Student search, user search, form options, submissionstudentLogDashboardService.ts— Dashboard data, filters, recent logsfocusService.ts— Follow-up submission, outcome review
UI Signals (src/lib/uiSignals.ts)
SIGNAL_STUDENT_LOG_INVALIDATESIGNAL_STUDENT_LOG_DASHBOARD_INVALIDATESIGNAL_STUDENT_LOG_RECENT_LOGS_INVALIDATESIGNAL_STUDENT_LOG_FILTER_META_INVALIDATE
Client-Script Behaviors (student_log.js)
- Voice dictation via SpeechRecognition API
- Dynamic field visibility based on
requires_follow_up - Pre-submit assignment with role-filtered user selection
- Context-aware buttons (Assign, Follow Up, Complete, Reopen)
- Auto-population of academic context on student change
Integration Points
- ToDo System: Open/close tracking; closing ToDo does not auto-complete log
- Portal Read Receipts:
Portal Read Receiptmechanism for unread highlighting - Realtime Notifications:
follow_up_ready_to_reviewtoast events for authors - School Tree: Nested-set hierarchy for all visibility and assignment checks
Reports
- Student Log & Follow-up Report (
student_logs): Filtered views of logs and follow-up chains (roles: System Manager, Academic Admin, Academic Staff, Counselor)