to select ↑↓ to navigate
Smooth LMS

Smooth LMS

Desk vs Learning Portal

Smooth LMS splits administration and learning across two surfaces: the Frappe desk (Learning workspace and record lists) and the LMS portal (Vue SPA under /lms). Understanding when to use each prevents permission confusion, speeds up course authoring, and sets correct expectations for employees who should never need desk access.

Help URL: smoothhiring.com/help/lms/getting-started/desk-vs-portal


Table of Contents

  1. Two surfaces, one database
  2. Learning workspace (desk)
  3. LMS portal routes
  4. Who should use which
  5. Authoring: desk forms vs portal editor
  6. Enrollment and progress views
  7. Desk paths reference
  8. Step-by-step: verify both surfaces
  9. Tips
  10. Troubleshooting
  11. Related guides
  12. HRMS integration

Two surfaces, one database

Both desk and portal read the same MariaDB tables (tabLMS Course, tabCourse Lesson, tabLMS Enrollment, etc.). Publishing a course in either surface sets published = 1 on LMS Course. An employee completing a lesson in the portal updates the same enrollment progress moderators see on desk lists.

The app icon for Smooth LMS points to /desk/learning (app_icon_route in hooks). The website route prefix defaults to /lms but can be overridden with lms_path in site_config.json. Portal navigation (Courses, Cohorts, Programs, Statistics) is controlled by LMS Settings sidebar toggles.


Learning workspace (desk)

Open Learning from the app switcher or navigate directly to /desk/learning. The workspace includes:

  • Get Started links: Visit LMS Portal (/lms/courses), Create a Course (/lms/courses/new/edit), LMS Settings.
  • Charts: Signups, Course Enrollments, Certification.
  • Shortcuts: Quiz Results, Users, Course (published count), Enrollments, Courses Completed, Certificate, Evaluation.
  • Cards: Course Data (Course, Module, Lesson, Quiz, Quiz Results), Course Stats (Interest, Review), Certification.

Desk is optimized for operators: HR admins, L&D managers with System Manager or elevated LMS permissions, and support staff exporting quiz submissions or fixing enrollment rows.


LMS portal routes

Portal path Purpose
/lms/courses Course catalog, search, categories, bookmarks
/lms/courses/{course} Course detail and lesson player
/lms/courses/new/edit Course authoring UI for creators
/lms/batches Cohort listing (when enabled in settings)
/lms/programs Program listing
/lms/statistics Admin analytics (Moderator / elevated roles)

Students land on portal home showing My Courses, Mandatory Training (from LMS Training Assignment), and cohort cards. SCORM lessons launch through the SCORM page renderer without desk chrome.


Who should use which

Persona Primary surface Why
Employee learner Portal Consumes lessons, quizzes, cohort timetable
Course author Portal editor + occasional desk Rich lesson editor, drag-drop modules
L&D moderator Both Portal for cohort ops; desk for bulk lists/reports
HR compliance Desk + HR workspaces Cross-check enrollments; export quiz PDFs
System Manager Desk Permissions, settings, data repair

LMS roles (Course Creator, Moderator, Batch Evaluator, LMS Student) ship with desk_access = 0. Only users who also hold HR or System Manager desk roles see /desk/learning without extra role configuration.


Authoring: desk forms vs portal editor

Portal course editor (/lms/courses/new/edit) is the preferred path for building module/lesson trees, uploading SCORM zip files, and previewing content. APIs such as add_chapter handle SCORM extraction into public/scorm/{course}/{title}.

Desk record forms (/app/lms-course, /app/course-chapter, /app/course-lesson) remain available for power users: import spreadsheets, bulk rename, attach print formats, or fix broken links when the portal UI is unavailable.

Always set Trainers (Course Instructor child table) before publishing—portal and desk both require at least one instructor row.


Enrollment and progress views

View Surface record
My enrollments Portal home LMS Enrollment (current user)
All enrollments Desk shortcut /app/lms-enrollment
Cohort roster Portal batch page + desk LMS Batch Enrollment
Mandatory assignments Portal home widget LMS Training Assignment
Quiz results PDF Desk list LMS Quiz Submission → Print

Progress percentage on LMS Enrollment aggregates completed lessons and passed assessments. Disable Self Learning forces enrollment to be created by moderator, cohort, onboarding, or assign_mandatory_training.


Desk paths reference

Item Path
Learning workspace /desk/learning
LMS portal /lms/courses
LMS Course /app/lms-course
Course Chapter (Module) /app/course-chapter
Course Lesson /app/course-lesson
LMS Batch (Cohort) /app/lms-batch
LMS Settings /app/lms-settings/LMS%20Settings

Step-by-step: verify both surfaces

1. Admin desk check

  1. Log in as System Manager.
  2. Open /desk/learning — confirm charts load.
  3. Open Course shortcut → published courses list.
  4. Open /app/lms-settings/LMS%20Settings — confirm Show Courses enabled.

2. Author portal check

  1. Log in as Course Creator.
  2. Visit /lms/courses/new/edit — create draft course with one module and lesson.
  3. Publish course; confirm it appears on /lms/courses.

3. Learner portal check

  1. Log in as employee user with LMS Student.
  2. Open /lms/courses — open published course.
  3. Complete a lesson; verify progress bar updates.
  4. As admin, open /app/lms-enrollment — confirm progress > 0.

4. Cross-surface mandatory training

  1. Mark course mandatory with validity days.
  2. Assign via Moderator tools or onboarding.
  3. Employee sees assignment on portal home; desk shows LMS Training Assignment row.

Tips

  • Deep-link employees to /lms/courses from onboarding emails rather than /desk.
  • Use desk Quiz Results shortcut when managers need downloadable PDFs of test answers.
  • If portal sidebar missing items, toggle them in LMS Settings → Sidebar tab.
  • Corporate patch sets enrollment member_type to Employee—reports filter accordingly.

Troubleshooting

Issue What to do
404 on /lms/courses Confirm lms app installed; check lms_path site config; rebuild assets
Creator sees desk error Expected—use portal editor; grant System Manager only for desk repair
Published course not in portal Hard refresh; verify published and not upcoming without date
Desk charts empty New site—enroll test users; charts need data
SCORM blank in portal Re-upload package; check public/scorm path and manifest extraction logs


HRMS integration

Employees access training through the portal tied to Employee records user_id. Onboarding uses the portal for learning tasks while HR tasks live in Employee Onboarding. Store signed policy PDFs in Employee Compliance when LMS completion alone is insufficient for auditors.

Security boundaries

Treat /desk/learning as privileged operations territory. Employees should bookmark /lms/courses only. VPN or SSO policies apply uniformly—LMS does not bypass HR authentication. Guest access (allow_guest_access in LMS Settings) should remain disabled on private HRMS tenants. SCORM packages execute HTML/JS from uploaded zips—only trusted authors should upload vendor content.

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


Smooth HR (HRMS)

Guide Link
HR help home smoothhiring.com/help/hrms
Employee records hrms/people/employee-records
Onboarding overview hrms/onboarding/overview
Onboarding templates hrms/onboarding/onboarding-templates
Employee onboarding hrms/onboarding/employee-onboarding
Documents & compliance hrms/documents-compliance/overview
Employee compliance hrms/documents-compliance/employee-compliance
Signature templates hrms/documents-compliance/signature-templates
Last updated 1 week ago
Was this helpful?
Thanks!