# Courses Overview

**LMS Course** is the central content object in Smooth LMS. A course bundles marketing fields (title, image, tags, category), instructional structure (modules and lessons), assessments, optional pricing, certification rules, and corporate compliance flags (**Mandatory Training**, **Validity Period**). Published courses appear on `/lms/courses` and can be consumed self-paced, inside cohorts, or within programs.

> **Help URL:** [smoothhiring.com/help/lms/courses/overview](https://smoothhiring.com/help/lms/courses/overview)

---

## Table of Contents

1. [Course lifecycle](/#course-lifecycle)
2. [Structure: modules and lessons](/#structure-modules-and-lessons)
3. [Publishing and visibility](/#publishing-and-visibility)
4. [Enrollment models](/#enrollment-models)
5. [Assessments and certificates](/#assessments-and-certificates)
6. [Statistics tab](/#statistics-tab)
7. [Desk paths](/#desk-paths)
8. [Step-by-step: course operations](/#step-by-step-course-operations)
9. [Tips](/#tips)
10. [Troubleshooting](/#troubleshooting)
11. [Related guides](/#related-guides)
12. [HRMS integration](/#hrms-integration)

---

## Course lifecycle

```
Draft (portal/desk) → Add modules/lessons → Configure assessments → Review → Published → Enrollments → Completion → Certificate
```

Statuses on **LMS Course** include hidden workflow values (In Progress / Under Review / Approved) for moderation workflows. Day-to-day publishing is controlled by the **Published** checkbox and `is_published_field` metadata.

Unpublished drafts remain in desk lists; learners only see `published = 1` unless staff preview links are shared.

---

## Structure: modules and lessons

Courses reference modules through the **Chapters** child table (**Chapter Reference**), pointing to **Course Chapter** documents. Each chapter owns an ordered **Lessons** table (**Lesson Reference**) linking **Course Lesson** rows.

This three-level hierarchy (Course → Module → Lesson) maps to navigation breadcrumbs in the portal player. SCORM imports create a module with `is_scorm_package = 1` and auto-generated lesson rows per SCO.

---

## Publishing and visibility

Key fields:

| Field | Effect |
|-------|--------|
| **Published** | Visible on portal catalog |
| **Upcoming** | Teaser state before go-live |
| **Featured** | Surfaces on home highlights |
| **Disable Self Learning** | Hides self-enroll; requires assignment/cohort |
| **Category** | LMS Category filter |
| **Tags** | Comma-separated search helpers |

**Published On** documents go-live for communications. **Preview Image** and **Color** (card gradient) control marketing cards.

---

## Enrollment models

| Model | Mechanism |
|-------|-----------|
| Self-enroll | Learner clicks Enroll on portal |
| Admin assign | Moderator tools / LMS Enrollment insert |
| Mandatory | `assign_mandatory_training` + LMS Training Assignment |
| Onboarding | `hrms_integration.on_onboarding_created` |
| Cohort | LMS Batch Enrollment creates course access |
| Program | LMS Program Member grants path |

Each enrollment tracks **progress** percentage until 100% triggers completion logic and optional certificate.

---

## Assessments and certificates

Lessons embed **Quiz ID** (LMS Quiz name) or assignment **Question** with file upload types. Quizzes support multiple question types via **LMS Question** child rows.

Enable **Completion Certificate** on the course pricing/certification tab. Paid certificate flows add **Evaluator** and evaluation scheduling—optional for internal HR training.

Print quiz results: desk **LMS Quiz Submission** → **Quiz Submission Report** print format.

---

## Statistics tab

Read-only counters on the course form:

- **Enrollments** count
- **Lessons** count
- **Rating** aggregate from reviews

Use Learning workspace charts for cross-course trends; open **LMS Course Review** and **LMS Course Interest** for qualitative signals.

---

## Desk paths

| Item | Path |
|------|------|
| Course list | `/app/lms-course` |
| New course (desk) | `/app/lms-course/new` |
| Portal catalog | `/lms/courses` |
| Portal editor | `/lms/courses/new/edit` |
| Modules | `/app/course-chapter` |
| Lessons | `/app/course-lesson` |
| Enrollments | `/app/lms-enrollment` |

---

## Step-by-step: course operations

### Create and publish

1. Open `/lms/courses/new/edit` as Course Creator.
2. Enter title, trainers, short introduction, description.
3. Add modules and lessons; attach quizzes.
4. Set category and compliance flags if needed.
5. Check **Published**; save.

### Assign to employees

1. As Moderator, open course admin or desk enrollment tools.
2. Select employee users (linked to HR employees).
3. Set due date for mandatory assignments.
4. Confirm **LMS Training Assignment** rows for reporting.

### Audit completion

1. Filter `/app/lms-enrollment` where progress = 100.
2. Export quiz submissions for evidence.
3. Attach PDFs to HR compliance if required.

---

## Tips

- Clone courses by duplicating record rows for seasonal refreshes.
- Use **Related Courses** table for learning paths inside a single subject area.
- Keep lesson **Include In Preview** on for sales demos of paid courses.
- Set **Validity Period** when OSHA-style annual refresh is required.

---

## Troubleshooting

| Issue | What to do |
|-------|------------|
| Course not listed | Published? Category filter? Upcoming without comms? |
| Zero enrollments | Marketing link; self-learning disabled? |
| Certificate missing | Enable certification; complete all lessons/quizzes |
| Wrong lesson order | Reorder Lesson Reference indices in module |
| Import failed | Use allow_import on course; validate trainer rows |

---

## Related guides

- [Create a course](https://smoothhiring.com/help/lms/courses/create-a-course)
- [Chapters and lessons](https://smoothhiring.com/help/lms/courses/chapters-and-lessons)
- [Lesson content types](https://smoothhiring.com/help/lms/courses/lesson-content-types)
- [Mandatory training](https://smoothhiring.com/help/lms/courses/mandatory-training-and-validity)

---

## HRMS integration

Courses underpin [Employee Onboarding](https://smoothhiring.com/help/hrms/onboarding/overview) training tasks. Tie completion to [Employee Compliance](https://smoothhiring.com/help/hrms/documents-compliance/employee-compliance) when regulations require more than LMS progress percentage. Ensure [Employee records](https://smoothhiring.com/help/hrms/people/employee-records) have active users before bulk-assigning training.

## Course design standards

Establish an internal style guide: module titles start with verbs, lessons under 20 minutes, every compliance course ends with gradable quiz ≥ 80% pass. Require **Category** and **Tags** before publish approval. Use **Related Courses** for remediation paths after failed quizzes. Review **Rating** and **Review** records quarterly for content refresh priorities.

Desk path for catalog review: `/lms/courses` (employee view) and `/app/lms-course` (admin view).

## 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](https://smoothhiring.com/help/hrms/documents-compliance/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](https://smoothhiring.com/help/hrms/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](https://smoothhiring.com/help/hrms/people/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 |

## Operations calendar (recommended)

| 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](https://smoothhiring.com/help/hrms/people/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](https://smoothhiring.com/help/hrms/documents-compliance/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_

---

## Smooth HR (HRMS)

| Guide | Link |
|-------|------|
| HR help home | [smoothhiring.com/help/hrms](https://smoothhiring.com/help/hrms) |
| Employee records | [hrms/people/employee-records](https://smoothhiring.com/help/hrms/people/employee-records) |
| Onboarding overview | [hrms/onboarding/overview](https://smoothhiring.com/help/hrms/onboarding/overview) |
| Onboarding templates | [hrms/onboarding/onboarding-templates](https://smoothhiring.com/help/hrms/onboarding/onboarding-templates) |
| Employee onboarding | [hrms/onboarding/employee-onboarding](https://smoothhiring.com/help/hrms/onboarding/employee-onboarding) |
| Documents & compliance | [hrms/documents-compliance/overview](https://smoothhiring.com/help/hrms/documents-compliance/overview) |
| Employee compliance | [hrms/documents-compliance/employee-compliance](https://smoothhiring.com/help/hrms/documents-compliance/employee-compliance) |
| Signature templates | [hrms/documents-compliance/signature-templates](https://smoothhiring.com/help/hrms/documents-compliance/signature-templates) |
