It's better when it's simple

User Tools

Site Tools


Table of Contents

LMS Plugin

Compatible with DokuWiki

  • 2024-02-06 "Kaos" unknown
  • 2023-04-04 "Jack Jackrum" unknown
  • 2022-07-31 "Igor" unknown
  • 2020-07-29 "Hogfather" yes

plugin Lesson management system

Last updated on

Tagged with management

This plugin implements a “Lesson Management System”: Create a lesson plan based on a control page. Lessons are wiki pages which (authenticated) users can mark as completed. A widget helps users navigate and mark the lessons.

The initial development of this plugin was financed by Tango Tribe – Argentine Tango exploration


A CosmoCode Plugin

Install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.


Control Page

The plugin expects a control page with the lesson structure. By default it is named lms. You can change the id in the configuration.

You can have multiple control pages in different namespaces, similar to how sidebars work.

The page should contain links to your lesson pages. You can use any other syntax in between to structure the page if needed.

Only links to pages within (or below) the control page's namespace are considered lessons in that control page's context.

====== Lesson Overview ======

  * [[Lesson 1]]
  * [[Lesson 2]]
  * [[Another Lesson]]

===== Advanced Lessons =====

  * [[adv:Lesson A1]]
  * [[adv:Lesson A2]]

The order in which the links are found in the control page will define the order in which the widget will order the lessons in terms of the next or previous lesson. If a lesson is linked multiple times, its first occurrence defines its place in the order of lessons.


Place the LMS syntax in your sidebar to integrate the lesson navigation widget.


The widget will only be displayed for logged in users and only when on a lesson page.

Lesson Include

The plugin comes with a simple mechanism to include the control page in another page. This is useful if you want to display the list of lessons in the sidebar for example.


Like the widget above, the control page will only be included for logged in users and when within a lesson context.

Template Integration

Alternatively to using the Widget, template authors can also integrate the functionality directly in their template. The plugin comes with a helper component exposing methods to access the lesson system.

The JavaScript included in the plugin will automatically mark all links to seen lessons with a small checkmark.

Admin Interface

Superusers and managers can access a tool in the admin interface to check the lesson completion status for specific users. Entering a username will list all lessons and the info when the user completed a lesson.

Note that this admin interface is context sensitive. When using multiple namespaced control pages, you need to open the admin interface from a page in the correct namespace.

plugin/lms.txt · Last modified: 2024-01-07 13:48 by Aleksandr

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki