Appearance
Study Material
lms.study_material · every change is kept in the audit log · numbered MAT-{YYYY}-{#####}
Fields
Every record also has id, created_at and updated_at.
| Field | Label | Type | Rules |
|---|---|---|---|
title | title | text | required; max 255 characters |
description | description | longtext | max 10000 characters |
material_type | material type | select | required; one of: Note, Syllabus, Assignment, Video, Link, Reference, Library Topic; default "Note" |
subject | subject | link → core.subject | required |
chapter | chapter | link → lms.chapter | |
batch | batch | link → lms.batch | |
semester_number | semester number | number | min 1; max 12 |
college | college | link → core.college | |
divisions | divisions | table of material_division | |
recipients | recipients | table of material_recipient | |
attachment | attachment | file | |
video_url | video url | text | max 500 characters |
external_links | external links | json | |
tags | tags | text | max 500 characters |
due_date | due date | datetime | |
accepting_submissions | accepting submissions | check | default false |
total_marks | total marks | number | min 0 |
course_outcome | course outcome | select | one of: CO1, CO2, CO3, CO4, CO5, CO6 |
programme_outcome | programme outcome | select | one of: PO1, PO2, PO3, PO4, PO5, PO6, PO7, PO8, PO9, PO10, PO11, PO12 |
blooms_level | blooms level | select | one of: Remember, Understand, Apply, Analyse, Evaluate, Create |
approval_status | approval status | select | one of: Approved, Pending, Rejected; default "Approved" |
display_order | display order | number | min 0 |
faculty | faculty | link → core.user | required |
is_active | is active | check | default true |
Permissions
| Role | Can |
|---|---|
lms:admin | read, create, update, delete |
lms:college_admin | read, create, update, delete |
lms:hod | read, create, update, delete |
lms:faculty | read, create, update, delete — only own rows (via faculty) |
lms:student | read |
lms:parent | read |
API
http
GET /api/lms/study_material?<field>=<value>&limit=100&offset=0
POST /api/lms/study_material
GET /api/lms/study_material/:id
PATCH /api/lms/study_material/:id
DELETE /api/lms/study_material/:id