to select ↑↓ to navigate
Smooth LMS

Smooth LMS

Create a Course

This guide explains how to build a complete LMS Course from empty to published, using the portal course editor (recommended) with desk form alternatives. You will configure trainers, modules, lessons, quizzes, category, and publishing flags consistent with Smooth LMS validation rules.

Help URL: smoothhiring.com/help/lms/courses/create-a-course


Table of Contents

  1. Before you start
  2. Open the course editor
  3. Course header fields
  4. Add modules (chapters)
  5. Add lessons
  6. Attach quizzes and assignments
  7. Certification and pricing tab
  8. Publish
  9. Desk form alternative
  10. Desk paths
  11. Step-by-step walkthrough
  12. Tips
  13. Troubleshooting
  14. Related guides
  15. HRMS integration

Before you start

  • Account with Course Creator or Moderator (or System Manager).
  • At least one User to list as Trainer in Course Instructor table.
  • LMS Category created for catalog grouping.
  • Content outline (modules, learning objectives, assessment plan).
  • Optional: SCORM zip, YouTube URLs, PDF handouts.

Open the course editor

Primary entry points:

  • Learning workspace → Create a Course/lms/courses/new/edit
  • Portal navigation → New Course (when exposed)
  • Desk → /app/lms-course/new (advanced)

The portal editor saves LMS Course documents via whitelisted APIs and provides drag-and-drop module ordering.


Course header fields

Field Guidance
Title Unique, employee-friendly name
Trainers Required multi-select; at least one instructor row
Short Introduction Required; appears on cards
Description Required rich text; learning outcomes
Video Embed Link Optional promo video
Preview Image Card thumbnail
Category LMS Category link
Tags Free-text discovery
Color Card gradient on catalog

Course settings section:

  • Published / Upcoming / Featured
  • Disable Self Learning for assignment-only training
  • Mandatory Training + Validity Period (Days) for compliance

Add modules (chapters)

Modules are Course Chapter documents linked to the course.

  1. In editor, click Add Module (Add Chapter API).
  2. Enter module title (e.g., "Module 1 — Hazard Communication").
  3. Reorder modules to match instructional design.
  4. For SCORM, choose upload package option (see SCORM guide).

Desk path for manual module: /app/course-chapter/new with Course link set.


Add lessons

Within each module, add Course Lesson rows:

  1. Click Add Lesson.
  2. Set lesson title.
  3. Choose content type combination (markdown body, video, quiz, assignment).
  4. Optionally enable Include In Preview for marketing.

Lessons inherit Course from chapter via fetch; do not orphan lessons without chapter.


Attach quizzes and assignments

Quiz

  1. Create LMS Quiz on desk (/app/lms-quiz) with questions.
  2. Copy quiz name into lesson Quiz ID field.
  3. Quiz renders at bottom of lesson; passing rules per quiz settings.

Assignment

  1. Enter Question text on lesson.
  2. Select File Type (Image / Document / PDF) when uploads required.
  3. Learner submissions create LMS Assignment Submission rows for grading.

Certification and pricing tab

Internal corporate training typically:

  • Enables Completion Certificate (free).
  • Leaves Paid Course off.

Customer-facing academies may enable paid course/certificate with Currency and Amount fields.

Paid certificate adds Evaluator (Course Evaluator) and Timezone for evaluations.


Publish

  1. Review all modules have at least one lesson.
  2. Confirm trainers assigned.
  3. Set Published On date.
  4. Check Published.
  5. Save—verify course on /lms/courses as learner.

Optional: enable LMS Settings notification for published courses to email members.


Desk form alternative

Power users may use /app/lms-course/{name}:

  • Edit Chapters child table to link existing Course Chapter records.
  • Use import templates for bulk course creation.
  • Access Statistics tab after enrollments exist.

Desk is ideal for fixing broken links when portal editor errors.


Desk paths

Action Path
Portal editor /lms/courses/new/edit
Course list /app/lms-course
Module list /app/course-chapter
Lesson list /app/course-lesson
Quiz list /app/lms-quiz
Learning home /desk/learning

Step-by-step walkthrough

Example: Anti-Harassment Training

  1. Create category Compliance if missing.
  2. New course title "Anti-Harassment 2026".
  3. Trainer = HR Director user.
  4. Module 1 "Policy Overview" — lesson with markdown body from handbook.
  5. Module 2 "Scenarios" — lesson with embedded YouTube debrief.
  6. Module 3 "Knowledge Check" — lesson with Quiz ID linked to 10-question quiz.
  7. Enable mandatory + 365 validity for annual refresh.
  8. Publish; assign to all employees via Moderator mandatory assign tool.
  9. Verify portal progress and desk enrollment list after test completion.

Tips

  • Draft content in markdown files, paste into lesson body for consistency.
  • Use AI summary fields only after content stabilizes (collapsible AI section on lesson).
  • Duplicate last year's course, update validity, deprecate old published version.
  • Keep quiz question count reasonable for mobile learners.

Troubleshooting

Issue What to do
Cannot save course Trainers required; fill short intro + description
Module not visible Save course; refresh editor; check chapter link
Quiz not showing Verify Quiz ID matches existing LMS Quiz name
Publish toggle missing Gain Moderator role or ask moderator to publish
Lesson 404 Chapter mismatch; confirm lesson.course fetch


HRMS integration

New hire courses should mirror tasks on Employee Onboarding. When a course satisfies a regulatory requirement, mirror completion into Employee Compliance with evidence attachments. Authors should confirm target employees exist in Employee records before assigning mandatory training.

Content review workflow

Recommended approvals: instructional designer drafts in portal → SME reviews markdown → compliance signs off → Moderator publishes. Maintain draft courses with Published off until legal review completes for regulated industries. Archive prior year by duplicating course name with year suffix to preserve historical quiz submissions tied to old record names.

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.


Last updated: May 2026

Last updated 1 week ago
Was this helpful?
Thanks!