Screen, Route & Data Reference
One dense page you can keep open in another tab: every School screen with its route and gating permission, the two portals, the complete permission list, the status words each screen uses, the audited actions, the settings keys, and the seeded reference data. Every value here is copied from the live module — see Research & Evidence Base for the files it came from.
school/grades) — they are ERPat app URLs,
not links in this guide. The slug is school, screens live under the
/school prefix, and the module is turned on with the
module_school setting. This is version 0.2.0.
Staff back-office pages
The staff sidebar carries a single School group (graduation-cap icon, in the Academics category) with one permission-gated child per page. Each row shows the menu label, the app route, the controller class that serves it, and the base permission that must be granted for the page to appear at all.
| Menu label | Route | Controller | Base permission | Notes |
|---|---|---|---|---|
| Dashboard | school | School | school | Permission-filtered quick-link cards to the pages below. |
| Enrollment & Admissions | school/enrollment | School_enrollment | school_enrollment | Applications, requirements checklist, approve → roster. See Enrollment. |
| Learners | school/learners | School_learners | school_learners | Learner master index (LRN + PII). See Learners & Guardians. |
| Parents & Guardians | school/guardians | School_guardians | school_guardians | Directory + the verified learner↔guardian link. |
| Personnel & Teachers | school/personnel | School_personnel | school_personnel | Marks which staff users are school personnel. |
| Academic Structure | school/academics | School_academics | school_academics | Years, terms, sections, subjects, rooms. See Academic Structure. |
| LMS Bridge | school/lms_bridge | School_lms | school_lms | Menu also gated by module_courses (Learn). See LMS & Communication. |
| Attendance | school/attendance | School_attendance | school_attendance | Learner attendance — separate from HR/biometric attendance. |
| Grades & Report Cards | school/grades | School_grades | school_grades | Class record + release governance. See Grading Engine. |
| ↳ Report Cards | school/report_cards | School_report_cards | school_grades | SF9-style cards; shares the Grades page/permission. See Report Cards. |
| Communication | school/communication | School_communication | school_communication | Launcher into core Announcements / Messages / Events. |
| Student Support | school/support | School_support | school_support | Guidance / behavioral / attendance cases. |
| ↳ Safeguarding | school/safeguarding | School_safeguarding | school_child_protection | Confidential child-protection sibling; segregated + audited. See Data Privacy. |
| Visitor Pass | school/visitors | School_visitors | school_visitors | Menu gated by school_visitor_pass_enabled. See Gate playbook. |
| Facilities & Rooms | school/facilities | School_facilities | school_facilities | Room summary; reuses Helpdesk for facility tickets (fail-safe). |
| Reports & Compliance | school/reports | School_reports | school_reports | Summary, LIS validator, SF1-style export. See Compliance. |
| School Settings | school/settings | School_settings | school_settings | Portal toggles + default grading policy; saving is audited. |
The Report Cards and Safeguarding rows (marked ↳) are not top-level menu
entries in their own right — Report Cards lives alongside Grades, and Safeguarding is the
confidential surface reached only by holders of school_child_protection.
Public portals
The two portals are not in the staff sidebar. They are reached by
customer accounts (parents and students are customer users distinguished by
school_guardians.user_id / school_learners.user_id) and reuse
the core customer sign-in, so they also depend on the core
allow_customer_signin being enabled.
| Portal | Route | Controller | Gate settings | What it shows |
|---|---|---|---|---|
| Parent portal | school/parentdispatcher school/portal |
School_parent_portal |
module_school='1' AND school_parent_portal_enabled='1' |
Only the parent's verified children, and only released grades, plus each child's attendance summary and active enrollment. IDOR-proof — the child set comes strictly from the session user's verified guardian links, never a URL id. |
| Student portal | school/student |
School_student_portal |
module_school='1' AND school_student_portal_enabled='1' |
The learner resolved from school_learners.user_id (session user only): own released grades, attendance summary, active enrollment. Unlinked account → a "no record" page. |
Permissions
Every School permission is registered in the Roles editor. The base permission
is school; each page has an on/off "Enabled" enabler, most pages add CRUD
children, and a small set of restricted / segregation-of-duties permits gate the
sensitive actions.
Base & per-page enablers
| Permission key | Unlocks |
|---|---|
school | Base access to the module and the Dashboard. |
school_enrollment | Enrollment & Admissions page. |
school_learners | Learners page. |
school_guardians | Parents & Guardians page. |
school_personnel | Personnel & Teachers page. |
school_academics | Academic Structure page. |
school_lms | LMS Bridge page. |
school_attendance | Attendance page. |
school_grades | Grades & Report Cards page. |
school_communication | Communication launcher page. |
school_support | Student Support page. |
school_visitors | Visitor Pass page (also needs school_visitor_pass_enabled). |
school_facilities | Facilities & Rooms page. |
school_reports | Reports & Compliance page. |
school_settings | School Settings page. |
CRUD children
| Screen | Create | Update | Delete |
|---|---|---|---|
| Enrollment | school_enrollment_create | school_enrollment_update | school_enrollment_delete |
| Learners | school_learners_create | school_learners_update | school_learners_delete |
| Guardians | school_guardians_create | school_guardians_update | school_guardians_delete |
| Personnel | school_personnel_create | school_personnel_update | school_personnel_delete |
| Academics | school_academics_create | school_academics_update | school_academics_delete |
| Attendance | — | school_attendance_update | — |
| Grades | — | school_grades_update | — |
| Support | school_support_create | school_support_update | — |
| Visitors | school_visitors_create | — | — |
| Facilities | school_facilities_create | school_facilities_update | school_facilities_delete |
Attendance and Grades expose only an _update child (marking a register /
encoding a class record); Support has no delete; Visitors expose only _create
(issuing and scanning passes).
Restricted & segregation-of-duties
| Permission key | Label | Purpose |
|---|---|---|
school_grade_release | Submit Grades for Release | The teacher/encoder submits a class record for release. Must be a different person from the approver. |
school_grade_approve | Approve / Publish Grades & Cards | The school head approves & releases grades and generates report cards. No self-publishing. |
school_health | Learner Health / Medical (view) | Restricted view of learner health/medical data; audited on view (view_health, critical). |
school_child_protection+ _create / _update | Child Protection / Safeguarding | Restricted, segregated confidential cases; audited on read (view_safeguarding, critical). Also reveals the guarded Safeguarding link on the Support page. |
school_export | Export / Compliance Downloads | Run the SF1-style masterlist export (audited, export). |
school_grade_release and school_grade_approve to
the same person. Segregation of duties on grades is enforced in code — the encoder
cannot approve their own grades. See Data Privacy &
Safeguarding and Roles & Access Map.
Status vocabularies
Each screen uses a fixed set of status words. Colours below are only a reading aid for this guide, not colours guaranteed in the app.
Enrollment application
| Status | Meaning |
|---|---|
| draft | Being prepared; editable. The document checklist is copied in on create. |
| submitted | Sent for decision (from draft or a rejected application). |
| for_approval | Awaiting the registrar's approve/reject decision. |
| approved | Accepted; the roster enrollment is materialised. Audited (approve_enrollment). |
| rejected | Declined; a decision record is written. Audited (reject_enrollment, warning). |
| withdrawn | Pulled out of the pipeline. |
Requirements checklist
Grade release governance
school_grade_releaseschool_grade_approve
Ordered, no skipping: submit_class → approve_class →
release_class. Releasing is audited (release_grades, critical)
and locks the grades; only released grades reach report cards and portals.
Learner attendance
Support case
| Status | Meaning |
|---|---|
| open | Newly created (case number SC-yymmdd-XXXX auto-generated). |
| investigating | Being worked; progress notes added. |
| resolved | Concluded successfully. |
| referred | Handed to another party/service. |
| closed | Finalised. |
Case severity is one of low medium high critical.
Visitor pass
scan_visitor)Other vocabularies
| Field | Values |
|---|---|
| Learner status | active inactive graduated transferred_out |
| Enrollment type | new, re_enrollment, transferee, balik_aral, moved_in |
| School year status | planning active closed (plus the is_current flag) |
| Term type | quarter, trimester, semester |
| Room type | classroom, laboratory, library, gym, clinic, office |
| Roster enrollment | enrolled (materialised on approval) |
| Report-card remark | Promoted (GA ≥ 75) · Retained |
Audited actions
These sensitive actions write a dedicated entry to the audit trail (registered in
config/system_logs.php). Ordinary create/update/delete is captured by the base
activity log. See Data Privacy & Safeguarding.
| Action | Where | Severity |
|---|---|---|
approve_enrollment | Enrollment — application approved | info |
reject_enrollment | Enrollment — application rejected | warning |
verify_guardian | Guardians — guardian↔learner link verified | critical |
view_health | Learner health/medical record viewed | critical |
release_grades | Grades released / report card generated | critical |
view_safeguarding | Safeguarding case read | critical |
scan_visitor | Visitor checked in at the gate | info |
export | Masterlist / compliance download | info |
update_settings | School Settings saved | info |
Settings keys
Set on the School Settings page (school/settings); saving is audited
(update_settings). See Administration, Settings
& Portals.
| Setting key | Values | Effect |
|---|---|---|
school_parent_portal_enabled | on / off | Turns the parent portal on or off independently. |
school_student_portal_enabled | on / off | Turns the student portal on or off independently. |
school_visitor_pass_enabled | on / off | Shows or hides the Visitor Pass page. |
school_default_grading_policy | do8_2015 (default) · matatag_do10_2024 | The default grading policy new schemes follow. |
is_current flag), which drives every "current SY" query. Separately,
the portals also require the core allow_customer_signin to be enabled, and
the module itself is turned on by module_school in Settings → Manage Modules.
Seeded reference data
The Reference tab in Academic Structure exposes read-only DepEd reference data that ships with the module — you don't edit it. See Grading Engine for how the weight buckets are used.
Grade levels & SHS tracks
- Grade levels
- The DepEd K to 12 structure, Kinder through Grade 12 (RA 10533).
- SHS tracks & strands
- Senior High School tracks and their strands, used on sections and subjects for Grades 11–12.
DepEd Order 8, s.2015 — subject-group weight buckets (WW / PT / QA)
| Subject group | Written Work | Performance Task | Quarterly Assessment |
|---|---|---|---|
| Languages · AP · EsP | 30% | 50% | 20% |
| Science · Math | 40% | 40% | 20% |
| MAPEH · EPP · TLE | 20% | 60% | 20% |
MATATAG (DepEd Order 010, s.2024) uses a uniform 25 / 50 / 25 across all subject groups with a floor-60 linear transmutation and an elementary trimester, phased in by grade and school year. Weights are data, not code — resolved from seeded config per subject group + grade level + school year.
Grade descriptors
| Final grade | Descriptor |
|---|---|
| 90 – 100 | Outstanding |
| 85 – 89 | Very Satisfactory |
| 80 – 84 | Satisfactory |
| 75 – 79 | Fairly Satisfactory |
| Below 75 | Did Not Meet Expectations |
Final grades are whole numbers, floored at 60 and capped at 100. Passing = 75.