to select ↑↓ to navigate
Smooth LMS

Smooth LMS

Chapters and Lessons (Modules)

Smooth LMS structures content as LMS CourseCourse Chapter (labeled Module in the Learning workspace) → Course Lesson. Child tables Chapter Reference and Lesson Reference preserve order. This guide covers creating, reordering, preview lessons, and maintaining hierarchy integrity across desk and portal editors.

Help URL: smoothhiring.com/help/lms/courses/chapters-and-lessons


Table of Contents

  1. Hierarchy diagram
  2. Course Chapter (module) fields
  3. Course Lesson fields
  4. Ordering and references
  5. Portal vs desk editing
  6. Progress and completion
  7. Desk paths
  8. Step-by-step
  9. Tips
  10. Troubleshooting
  11. Related guides
  12. HRMS integration

Hierarchy diagram

LMS Course
 └── Chapter Reference (ordered)
       └── Course Chapter (Module)
             └── Lesson Reference (ordered)
                   └── Course Lesson

Deleting a module cascades lessons linked through chapter field. APIs prevent SCORM module deletion without cleaning extracted package directories.


Course Chapter (module) fields

Field Purpose
Title Module name in player sidebar
Course Parent LMS Course (required)
Lessons Child table of Lesson Reference
Is SCORM Package When true, lessons generated from manifest
SCORM Package Link to uploaded File
Manifest File / Launch File Populated after extraction (read-only)

Workspace link label Module maps to record Course Chapter (/app/course-chapter).


Course Lesson fields

Field Purpose
Title Lesson label
Chapter Parent module (required)
Course Fetched from chapter; read-only
Body Markdown editor main content
YouTube Video at top of lesson
Quiz ID LMS Quiz at bottom
Question Assignment prompt
Include In Preview Free preview lesson flag
Trainer Notes Internal markdown for facilitators

Naming: autoname format {####} {title}—avoid renaming after enrollments reference progress logs.


Ordering and references

Order is stored in child table row index. Portal editor drag-and-drop updates indices; desk users can edit grid rows.

When importing:

  1. Create chapters first with course link.
  2. Create lessons with chapter link.
  3. Add Chapter Reference rows on course.

Broken references show empty sidebars in player—validate before publish.


Portal vs desk editing

Portal (/lms/courses/{course}/edit) calls APIs:

  • add_chapter / update chapter title
  • Lesson CRUD with content JSON
  • SCORM upload triggers extract_package

Desk forms useful for bulk fixes:

  • /app/course-chapter
  • /app/course-lesson

Lesson Content and Trainer Content text fields store structured editor state in portal-first workflows.


Progress and completion

LMS Course Progress (and enrollment progress %) marks lessons complete when learners view content, pass quizzes, or finish SCORM SCOs. Skipping prevention: LMS Settings Prevent Skipping Videos enforces watch duration tracking via LMS Video Watch Duration.

Quizzes gate progression when passing score required in quiz definition.


Desk paths

Item Path
Modules /app/course-chapter
Lessons /app/course-lesson
Course with chapters table /app/lms-course/{course}
Portal player /lms/courses/{course}
Learning workspace Module link /desk/learning → Course Data card

Step-by-step

Add module and lessons (portal)

  1. Open course in editor.
  2. Add Module → title "Introduction".
  3. Add Lesson → markdown body + save.
  4. Add second lesson with Quiz ID.
  5. Reorder lessons if assessment should be last.
  6. Preview course as learner.

Insert module between existing (desk)

  1. Create new Course Chapter document.
  2. Add to course Chapters table at desired idx.
  3. Move Lesson Reference rows if splitting content.

Clone module to another course

  1. Duplicate Course Chapter (amended doc).
  2. Change Course link.
  3. Duplicate each lesson with new chapter link.
  4. Add references on target course.

Tips

  • Keep modules 3–7 lessons for mobile-friendly sessions.
  • Put graded quiz in final lesson of each module for checkpointing.
  • Use Trainer Notes for cohort facilitators without exposing to learners.
  • SCORM modules should be single-package per module—do not mix markdown and SCORM in same chapter.

Troubleshooting

Issue What to do
Lessons out of order Fix Lesson Reference idx; refresh cache
Empty sidebar Chapter not linked on course; lesson missing chapter
Progress not advancing Incomplete quiz; video skip prevention
Cannot delete module Remove SCORM files via API; delete lessons first
Duplicate lesson names Allowed but confusing—differentiate titles


HRMS integration

Module design should align with onboarding milestones in Employee Onboarding—e.g., separate modules for policy acknowledgment vs benefits overview. Store graded quiz PDFs in Employee Compliance when modules cover regulated topics. Confirm learners map to Employee records before assigning sequential modules with due dates.

Structural QA before publish

Walkthrough checklist: every module has ≥1 lesson; no orphan lessons in /app/course-lesson list view filtered by empty course; quiz IDs resolve; SCORM modules launch. Play through on mobile device. Confirm Include In Preview only on intentional marketing lessons.

Learning workspace quick links: /desk/learning → Course Data → Module / Lesson lists for support tickets.

Governance, auditing, and data retention

Training data in Smooth LMS is standard Frappe JSON in MariaDB plus files in public/files and public/scorm. HR audits typically require evidence of who completed what by when. Export desk lists (LMS Enrollment, LMS Quiz Submission, LMS Training Assignment, LMS Certificate) to CSV for sampling. Quiz submission print formats provide question-level detail suitable for safety investigations or harassment prevention audits.

Retention policy should align with HR document retention: keep LMS submissions at least as long as related Employee Compliance records. When employees depart, disable User accounts but retain enrollment history unless legal counsel approves purging. Version course content via amended records or annual duplicated courses so historical completions still reference the correct curriculum year.

System Managers should restrict Moderator role membership and enable login activity review on sensitive cohorts (executive leadership programs). Pair LMS reports with HR onboarding status from Employee Onboarding overview to prove training preceded start date when required.

Frequently asked questions

Do employees need desk access? No. LMS Student is portal-only by default; send {site}/lms/courses links.

Can one user be both Course Creator and Moderator? Yes on small teams; larger orgs should separate author vs publish duties.

How do we handle contractors? Create User + optional HR employee record; assign training like employees via Employee records linkage or direct enrollment.

What breaks if HRMS is down? LMS continues serving published content; new hire auto-enrollment pauses until Employee/Onboarding APIs succeed.

Are certificates legally equivalent to HR compliance rows? Not automatically—store PDFs on compliance or document types when statute requires.

Performance and scale notes

Large enrollments (5,000+ users) should batch assign overnight via assign_mandatory_training rather than manual enrollment rows. Rebuild website cache after bulk publish. Monitor background workers if email notifications queue heavily. SCORM packages should be optimized zip exports to reduce disk usage during large uploads.

Additional troubleshooting

Issue What to do
Slow portal after publish Hard-refresh browser; contact Smooth support if portal styling is broken
Wrong user on certificate Certificate issued to enrollment member—fix User linkage in HR
Bulk import partial failure Check error log; validate Course Instructor rows exist
Cohort vs course progress mismatch Learner must open each course inside cohort; enrollments are per course
Timezone confusion on due dates Training assignment due dates are date-only—communicate timezone in email
Cadence Action Where
Weekly Review overdue LMS Training Assignment /app/lms-training-assignment
Monthly Publish content changelog to employees Email + /lms/courses
Quarterly Role audit (Moderator/Creator) /app/user
Annually Recertify mandatory courses Re-assign with new due dates
After upgrade Sign out/in; smoke-test /lms portal /desk/learning

Integration smoke tests with HRMS

  1. Create test Employee with user — confirm LMS Student role.
  2. Submit test Employee Onboarding — confirm enrollments when courses mandatory.
  3. Complete course — attach quiz PDF to test Employee Compliance row.
  4. Archive evidence in document compliance SOP.

Support runbook (L1)

Collect: user email, course/cohort name, screenshot of error, timestamp. Check enrollment exists, course published, role present. Escalate to System Manager if SCORM extract failed or permission hooks deny batch access. Reference Employee records to fix missing user_id before reassigning training.

Document history and change control

When updating this process, record the Smooth LMS app version, platform update date, and whether HRMS onboarding templates changed. Authors should note breaking changes in course release notes (quiz question changes may require reattempts). For regulated customers, maintain a binder linking LMS course ID to compliance control ID in Employee Compliance.

Desk administrators use /desk/learning for cross-course metrics; portal users rely on /lms/courses for consumption—both URLs should appear in internal SOP PDFs so auditors can reproduce learner steps without admin credentials.


Last updated: May 2026

Last updated 1 week ago
Was this helpful?
Thanks!