Raisd LMS — architecture

Learning Management as role surfaces on the Portal API (student / lecturer / staff) — not a fifth portal product. Existing CMS remains system of record this phase (ADR-1).

Proposed / research-backed Not Live product Option 1 · CAP + F01–F37 See also LMS hub
Decision (1 October 2026 · SDD-10 Q37). Generate Raisd LMS pages from CAP + F01–F37 only. Agent source: architecture/lms.md.

High-level picture

Same campus architecture as the control-plane overview: browsers never talk to CMS, Postgres, or files directly. LMS capabilities are CAP journeys on role portals.

flowchart TB
  subgraph People
    S[Students]
    L[Lecturers]
    T[Staff]
  end

  subgraph Raisd["Control plane"]
    SP[Student portal]
    LP[Lecturer portal]
    TP[Staff portal]
    API[Portal API]
    ACL["CMS bridge CAP-53"]
  end

  subgraph Campus
    CMS[(Existing CMS · SoR)]
    PG[(Postgres planned)]
    FS[(File store · Live)]
    MEET[Meeting tool · CAP-26 TBC]
  end

  S --> SP
  L --> LP
  T --> TP
  SP --> API
  LP --> API
  TP --> API
  API --> ACL
  ACL --> CMS
  API --> PG
  API --> FS
  API -.-> MEET
          

Role surfaces

Student portal

Consume and submit

  • Materials, guides, media (17–19, 27)
  • Assignments (20), quizzes (24)
  • Marks / feedback (13, 28)
  • Timetable / attendance (11, 12)
  • Comms / live join (25, 26)

Lecturer portal

Publish and mark

  • Publish content & briefs
  • Receive / mark submissions
  • Attendance & live delivery
  • Workspace (CAP-44)
  • Class analytics (CAP-40)

Staff portal

Approve and assure

  • Material QA (CAP-43)
  • Copyright / IP (CAP-42)
  • Orientation publish (32)
  • Course evaluation ops (30)
  • ODL accreditation evidence (04)

Shared platform

Contracts and ops

  • Portal API + CAP-53
  • Auth / privacy (01, 39)
  • Mobile shell (36)
  • Monitoring / backup (37, 38)
  • Live file store (Q5)
BASE-44: a student Materials area alone is not a complete LMS — lecturer publish paths and staff assurance are required.

Data and file ownership

ConcernThis phaseLive requirement
Enrolment, grades, attendance SoR Existing Cyberjaya CMS via CAP-53 Portal API write success only after CMS ack
Assignment / evidence bytes Demo: metadata only Durable file store + metadata (SDD-10 Q5)
Learning progress / release Partial date-based Materials weeks Completion rules agreed with Faculty
LMS logical tables Catalogued on ERD §10 (CMS blue · LMS green · shared amber · proposed purple); Demo API catalogue GET /v1/meta/lms Contract tables Demo; proposed CAP-gap tables Needs checking
Live class sessions Not started (proposed live_class_sessions) Approved meeting tool + join links (Q11)

Learning vs milestones

flowchart LR
  M3["M3 Core student
guides · notes · briefs
assignments · timetable
results path"] --> M5["M5 Depth
quizzes · live class
self-paced completion
comms · library"]

Detail: SDD-05 · SDD-03 · F01–F37 × CAP matrix.