Building a course
Content inside a program is nested three levels deep: modules group the material, lessons sit inside modules, and blocks are the individual pieces of content inside a lesson. All of it lives in one program app called Learning Materials.
What this does
Section titled “What this does”A program’s content tree is: program → Learning Materials app → modules → lessons → blocks. Each of the three content levels has its own draft/published state, so you can build ahead of a live program and release material a lesson at a time.
Before you start
Section titled “Before you start”- Create the program first. See Programs overview.
- Or let AI build the modules, lessons and materials for you in one pass, then edit them here. See Create a course with AI.
- If your organization has sub-organizations, make sure you are in the right one before you create — a program belongs to the organization it was created in.
- Have your source material ready: outline, images, video, and any documents you want to reference.
Add the Learning Materials app
Section titled “Add the Learning Materials app”A new program has no content app, so there is nowhere to put modules until you add one.
- Open the program.
- In the left rail, under Apps, choose Add App.
- Pick Learning Materials. It appears in the rail; select it to open the module list.
If the program already shows Learning Materials in the rail, skip this.
Build modules and lessons
Section titled “Build modules and lessons”- On the Learning Materials screen, choose Add module, type a title, and press Enter or choose Add. Modules are numbered M01, M02, … in the list.
- Select a module’s title to open it. If it already has lessons you land on the first one; if it is empty, Lurno creates a lesson called “New lesson” and opens it for you.
- Add more lessons from the course map beside the lesson editor — each module there has its own Add lesson entry, and the map also has an add-module entry at the bottom.
- Reorder by dragging. Handles are hidden until you hover the row: hover a module row for its handle, or expand a module with its chevron and hover a lesson for that lesson’s handle.
- A module’s ⋯ menu carries Publish / Unpublish, Settings (title, cover, and the module’s own options), and Delete, plus an Outline with AI entry when AI authoring is available to you. Deleting a module removes every lesson and block inside it.
The lessons list
Section titled “The lessons list”The Learning Materials home screen also offers an All lessons view across every module: search, filter by Drafts / Live / Edited by me / In review / Archived, and a sortable table of name, module, status, created date, and who last edited each lesson and when.
Add lesson here offers a choice of starting point rather than always landing on a blank page: AI builds it with you (the composer-driven build described below), three fixed templates — Explain and check, Case study, Skill practice — or Blank lesson to start from nothing. Deleting a lesson from this list carries the same live-lesson warning as deleting one from inside the editor.
The lesson editor
Section titled “The lesson editor”Opening a lesson puts you on a plain white page with your content in the middle and a course map docked beside it — the full list of modules and lessons, resizable by dragging its edge (double-click the edge to reset it, or press ⌘⇧E / Ctrl+Shift+E to hide and show it entirely). The map remembers the width you leave it at.
A glass bar across the top carries the lesson’s title (select it to rename, or open the menu beside it for Copy link), tools for adding content, and a state pill — Draft, In review, Live or Archived — that shows whether learners can see this lesson right now and tells you whether your last change saved.
Add content
Section titled “Add content”Three ways in, all offering the same catalogue:
- + in the gutter beside any block, or the tools in the top bar, opens the Add panel: grouped into AI, Text, Media, Embeds, Questions, Activities, and From elsewhere (your library). Search narrows it, or jump straight to a group.
- Typing / on the lesson’s last line opens the same panel, anchored where you’re typing.
- Typing / inside an existing block of text opens a different, shorter list — formatting only: headings, bulleted and numbered lists, a quote, a highlight, a table, a divider, a checklist, a formula, and a code block. It won’t offer a block type, AI, or the library, because at that point you’re formatting a sentence, not adding a new piece of content.
Only block types a learner can actually open are offered. A handful of older types — annotation, question groups, peer review, and a few standards-based formats — aren’t offered here; if a lesson already has one from before, it still opens for editing and carries a “Not ready for learners” chip so you can find and remove it.
Edit a block
Section titled “Edit a block”Click into any block to edit it directly — there’s no separate save button. The top bar’s state pill reads Saving… while a change is in flight and Saved once it lands; if a save fails, Try again appears right there. Leaving the editor while something is still saving shows a warning first.
Hover a block for its controls: a + to add another block after it, a grip to drag it to a new position, and a menu (⋯) with Duplicate, Delete, Copy link, and — on most blocks — Make optional / Make required. By default every block is required; switching one to optional tells learners they can skip it.
Deleting asks you to confirm, and offers Undo right afterwards. Deleting a block from a live lesson warns you specifically: learners stop seeing it the moment you confirm, and their progress on that block stays in your reports but no longer counts toward the lesson — it can’t be undone once confirmed.
Ask AI to write it for you
Section titled “Ask AI to write it for you”A composer sits docked at the foot of the lesson — a single line at rest, with your organization’s AI loader animating gently inside it. Click or focus it to expand:
- Makes — Text, Questions, a Picture, or let AI decide.
- Uses — your attached source documents, or broader knowledge as well.
- Level, and the language it writes in (always the lesson’s own language).
Describe what you want and send it. What comes back lands as a draft inside the lesson itself — not applied yet — with Keep, Try again, or Discard on each one. Several drafts can wait at once; Keep all or Discard all handles them together. On a live lesson, keeping a draft asks you to confirm it’s going out to learners right away.
An empty lesson gets its own starting point instead of a blank page: say what learners should be able to do afterward, pick a rough length, and choose whether it ends with questions or includes a picture. AI drafts the whole lesson, you watch it build in stages, and a Keep this lesson bar lets you keep it, try again, or discard it — or skip AI entirely and build it yourself from one of the course-home templates (below).
Improve a block with AI
Section titled “Improve a block with AI”The ✦ in a block’s own gutter opens a menu specific to that block’s type — Simplify, Make it harder, Add an example, Fix spelling and wording, Make it more engaging on text; Write better wrong answers or adjust difficulty on questions; Translate…, New picture with AI, Describe it for screen readers, or Write a caption on media; Turn into flashcards, 3 questions, or key points to spin a block into something else. You can also just tell it what to change in your own words.
The result shows Before and After side by side. Keep, Try again, or Discard — the same pattern as everywhere else AI drafts something. ✦ isn’t offered on video, embeds, files, galleries, or audio blocks.
Reuse from the library
Section titled “Reuse from the library”From elsewhere in the Add panel opens your organization’s library: search it, filter by kind, and see how many lessons already use each item before you add it. Add inserts it linked — editing it afterward changes it everywhere it’s used, and the block carries a chip saying so. If you don’t have permission to see a linked item’s content, the block still adds, but previews honestly as unavailable to you rather than showing something wrong.
Change a question’s type
Section titled “Change a question’s type”Open a question’s menu, or its Type chip, and choose Change question type. Some changes keep your answers exactly as they are — turning Single Choice into Multiple Answer, for instance, just lets you tick more than one as correct. Others rebuild the answers from scratch — changing Essay to Numeric, say — and those ask you to confirm first, because you’ll need to set the answers again. Either way, Undo puts it straight back if you change your mind.
Media, pictures and video
Section titled “Media, pictures and video”Every picture — in a lesson, in a question’s prompt, in an answer option, on a flashcard — carries a description field for anyone using a screen reader. A picture with none shows a “Needs a description” chip, and publishing waits for it. AI can suggest one, marked Written by AI · check it, for you to accept or rewrite.
Paste a YouTube, Vimeo, or Loom link into a video block and Lurno reads it the same way regardless of provider; a link it can’t read says so plainly rather than failing silently. Uploads — pictures, audio, video, files — show their real progress percentage as they go, with Cancel if you change your mind. See Resources & media for formats, captions, and the rest of what a media block offers.
A meeting block (Zoom, Microsoft Teams, Google Meet) gives learners a plain Join the meeting card with the link, ID, and code you set.
Use Preview in the top bar to check your work: it plays the lesson in the real learner player, with a labelled Back to editing button to return. Questions that learners hand in show their upload areas so you can see them, but nothing uploads in Preview, and there’s no Submit for grading button — a poll in Preview says plainly that nothing is saved there.
Set how learners answer an essay or open question
Section titled “Set how learners answer an essay or open question”Essay and Open Ended questions (learners see the second as Open response) are marked by a person. You decide how learners can answer: by writing, by adding files, or both. What learners see follows these settings exactly.
- Under the question, How can learners respond? switches each way of answering on or off: Text, Image, Audio, Video and File.
- Open Settings under the question to set the limits:
- Text response — Min words, Max words and Max chars. Leave any of them empty for no limit.
- Image upload, Audio upload, Video upload and Document upload — Max files and Max size (MB) per file. With Max files empty, learners can add one file of that kind.
With Text off and at least one kind of file on, learners answer with files only. With nothing switched on, learners get a plain text box.
What learners see
Section titled “What learners see”- Writing — a text box with a live count against your limits, for example Words: 12 (15–60) · Characters: 80 / 400. Under your minimum or over a maximum, the answer isn’t saved, the lesson won’t move past the question, and a message tells the learner what to change.
- Files — one area per kind you switched on, labelled Photos, Audio, Video or Documents, each showing your maximum number of files and size per file. Photos take PNG, JPEG, WebP or GIF; audio takes MP3, M4A, WAV, OGG or WebM, and learners can also Record in the browser; video takes MP4, WebM or MOV; documents take PDF, Word, PowerPoint, Excel, text or CSV. A file of the wrong kind or over your size limit is refused before it uploads. Learners can remove a file until they hand the answer in.
- What’s required — with a Min words set, learners have to write, even where files are allowed. Without one, some writing or a single file is enough.
The answer saves as soon as it meets your rules. Submit for grading hands it in: it’s then locked, and the question shows it’s been handed in, then marked once you release the mark. Each question is handed in once, unless you send it back for revision.
File Upload and Audio Response questions (learners see Upload your work and Record your answer) are handed in the same way, once per question. A File Upload question has its own Allowed types, Max files and Max size (MB) settings.
Hand-ins reach Marking, under the Programs chip, named with the lesson and program they came from.
Publish
Section titled “Publish”Draft content is invisible to learners at every level, and each level is published on its own. In the lesson editor, the state pill in the top bar — Draft, In review, Live or Archived — is itself the control: select it to move the lesson forward, or to unpublish it straight back to draft.
-
Lesson — select the state pill and choose Publish. Before it lets you, it runs the lesson’s own checks and blocks on anything unfinished:
- a question with no correct answer marked
- a question with no question text
- an empty answer, category, zone, row, column, or accepted answer
- an empty text block
- an empty media block of any kind
Each failed check carries a Fix link that jumps straight to the block.
-
Module — from the module’s ⋯ menu in the Learning Materials list, choose Publish.
-
Program — from the program’s Publish rail item, clear the checklist and choose Publish Program.
The lesson and module controls are shown to anyone who can open the editor, but the server still requires permission to publish. If you don’t have it, the control is there and the action fails with an error. Only the program-level Publish Program button is actually hidden.
Editing a live lesson reaches learners immediately. There’s no separate learner-facing version to keep in sync — a change you save to a published lesson is what learners see the next time they open it. The same is true in reverse: deleting a block from a live lesson warns you first, because learners stop seeing it as soon as you confirm (their progress on it stays in your reports, but stops counting toward the lesson).
Reference
Section titled “Reference”Block types are grouped into categories in the Add panel.
| Category | Types offered |
|---|---|
| Text | Rich Text (formatting, images, math) |
| Media | Image, Audio, Video, YouTube, Vimeo, Loom (one unified video block), Image Carousel |
| Embeds | Embed (generic), Figma, Google Docs / Sheets / Slides / Forms, Canva, Miro, Notion, Airtable, Typeform, SurveyMonkey, Kahoot!, Zoom, Microsoft Teams, Google Meet |
| Questions | True / False, Single Choice, Multiple Answer, Open Ended, Classification, Matching, Ordering, Fill in the Blank, Cloze, Short Answer, Essay, Numeric, Hotspot, Drag & Drop, File Upload, Audio Response, Matrix / Grid |
| Activities | HTML5 Activity, External Activity, Poll / Survey, Flashcards |
| Rubrics | Analytic Rubric, Holistic Rubric, Single-Point Rubric |
| From elsewhere | Anything already in your content library |
A handful of older types — Annotation, Question Group, Peer Review, the CodePen embed, and a few standards-based formats — aren’t offered from Add, /, or AI drafting. A lesson that already has one keeps it, editable, with a “Not ready for learners” chip.
Automatically marked question blocks are scored as part of the lesson. Essay, Open Ended, File Upload and Audio Response blocks are handed in by the learner with Submit for grading and marked by a person in Marking — see Set how learners answer an essay or open question. Larger standalone assessments are built separately and attached to the program through its Assessments app — see Building an assessment.
Troubleshooting
Section titled “Troubleshooting”There is no “Add module” anywhere. The program has no Learning Materials app yet. Add it from Add App in the left rail.
Learners can’t see a lesson you added. Check all three levels: the lesson, its module, and the program each have to be published. Then check any release window or drip rule on the module. See Schedules and release windows.
A block type you expected isn’t in the Add panel, the / menu, or AI drafting. Not every type in Lurno’s catalogue is still offered for new content. Annotation, Question Group, Peer Review, the CodePen embed, SCORM, xAPI, LTI, and stock photos aren’t offered today — existing blocks of those types stay editable with a “Not ready for learners” chip.
A reorder didn’t stick. The new order is applied on screen straight away and saved to the server after the drop. Reordering lessons or blocks tells you when that save fails; reordering modules does not — it fails silently and the old order comes back on the next refresh. If a module order looks wrong after a reload, drag it again.
A linked block changed somewhere you didn’t expect. Content added from From elsewhere stays linked to the library item it came from — editing it in one lesson changes it everywhere it’s used. Duplicate it instead if you want an independent copy.
Publish Program is missing on the program’s Publish screen. Publishing is a separate permission from editing. Ask whoever manages roles in your organization.
Publishing a lesson or module fails with an error. Those controls aren’t hidden when you lack publish permission, so the failure only shows up when you try. Same fix — ask for the publish permission.
Deleting a module warns about lessons. That’s accurate — deleting a module deletes every lesson and content block under it and can’t be undone. Unpublish it instead if you only want it out of sight.
Learners only get a text box on an essay question. No file kinds are switched on under How can learners respond? Switch on Image, Audio, Video or File for each kind of file you want.
Learners say they can’t hand in files alone. The question has a Min words set, so writing is required. Clear it if a file on its own should be enough.
A learner’s answer isn’t in Marking. Saving isn’t handing in — the learner has to select Submit for grading. In preview there’s no such button, so nothing you try there is handed in.
A save on a colleague’s lesson is refused. Anyone who may edit a course can edit all its lessons, whoever created them. A refusal means you don’t hold edit permission on that course, and the message names the block it stopped at.