If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Lesson Specification

From MoodleDocs

Functional Specification Revisions:

0.1 - 11/06/2008 - Jerome Mouneyrac - Draft Version from existing module in Moodle 1.9
0.2 - XX/XX/XXXX - XXXXXX XXXXXXXXX - Beta Version before validation
1.0 - XX/XX/XXXX - XXXXXX XXXXXXXXX - Final Version for 1.9




approved/module implemented

Related Documents:


Scope of this functional specification

This document is about functional specification for Moodle lesson module.
This document has been written after the Lesson User Manual User. You must read it before this document. Lesson User Manual and this document should be modified when any functional change is operated on the lesson module.
TODO: most of the Lesson User Manual information should be added to this functional specification (in Glossary and Requirements), so we won't need to read this user manual in order to understand this functional specification.


All lesson specific terms are explained in the Lesson User Manual


The person or team who will turn this specification into a working module.


A need or necessary condition of the finished module.


Used in the Requirements section 'shall' means that the item is absolutely necessary as stated.


Used in the Requirements section 'should' means the item is desirable, but not required. Wishy-washy, but often unavoidable.


To Be Decided/Determined.


Person(s) who will deal with the completed module of this specification.


Lesson parameters

A lesson shall have the following parameters (mandatory fields are marked with *):


Name*: the name of this lesson
Time limit (minutes): a time limit in minutes for any attempt to this lesson. It can be enable or disable.
Maximum number of answers/branches: the maximum number of branches for this lesson

Grade options

Practice lesson:
Custom scoring:
Maximum grade: the maximum grade for this lesson (from 0 to 100)
Student can re-take: are the student allowed to re-take the lesson
Handling of re-takes:
Display ongoing score:

Flow control

Allow student review:
Display review button:
Maximum number of attempts: maximum number of attempts for one student (from 1 to 10)
Action after correct answer:
Display default feedback:
Minimum number of questions:
Number of pages (cards) to show:

Lesson formatting

Slide Show:
Slide show width*:
Slide show height*:
Slide show background color*:
Display left menu:
and only display if has grade greater than:
Progress Bar:

Access control

Password protected lesson:
Available from:
Day Month Year Hour Minute:
Day Month Year Hour Minute:

Dependent on

Dependent on:
Time Spent (minutes):
Grade better than (%):

Pop-up to file or web page

Pop-up to file or web page:
Show close button:
Window height*:


Link to an activity:
Number of high scores displayed*:
Use this lesson's settings as defaults:

Common module settings

ID number:
Grade category:


no known issues

User Interface

Creation page

Use Cases

UCXXX-1 Create a lesson

Base scenario

  1. User selects Add lesson activity operation
  2. System displays the Add lesson form
  3. User fills the Add lesson form
  4. User selects Save operation (Go to course option)
  5. System displays the lesson edition page

First Alternative scenario

Go to step 4
4. User selects Save operation (Go to lesson option)
5. System displays the course page including the new lesson

Pre conditions

- the user is on a course page
- the user has Admin or Teacher permission a the course
- the course editing option is ON

Post conditions

- An empty lesson has been created

UCXXX-2 Update a lesson

Base scenario

  1. ...
  2. ...
  3. ...

Pre conditions

- ...
- ...

Post conditions

- ...


E1: Another user deleted the course at the same time

UCXXX-3 Preview a lesson

UCXXX-4 Attempt a lesson

UCXXX-5 Re-take a lesson

UCXXX-6 Delete a lesson

UCXXX-7 Add a page

UCXXX-8 Edit a page

UCXXX-9 Move a page

UCXXX-10 Preview a page

UCXXX-11 Delete a page

UCXXX-12 Import a question