Appearance
Storyline & xAPI Modules
An uploaded Storyline (or other xAPI/Tin Can) module plays fine, but never gets marked complete in the learner's record. This is almost always a publish-time setting in the authoring tool.
How LecturePanda decides a module is complete
LecturePanda marks an xAPI module complete when it receives either of these statements from the module:
- A
completedverb statement (http://adlnet.gov/expapi/verbs/completed), or - A quiz submission statement — a passed/answered quiz result.
A quiz is only one way to complete a module. A module with no quiz can still complete — it just needs to be published with a slides-viewed completion method so it fires the completed statement.
Fix: set the completion method at publish time
In Storyline, completion tracking is configured when you publish — not in Story View. In Storyline 360:
- Home tab → Publish → choose LMS
- Set the output format to Tin Can API (xAPI)
- Click Reporting and Tracking → open the Tracking tab
- Pick a completion method:
- Track using number of slides viewed — for modules with no quiz. Set it to the number of slides that should count as complete (usually all of them). This fires the
completedverb. - Track using quiz result — for quiz-based modules. Completion fires when the learner passes the results slide.
- Track using number of slides viewed — for modules with no quiz. Set it to the number of slides that should count as complete (usually all of them). This fires the
- Publish, save the ZIP, and re-upload it to LecturePanda
Then walk through the re-uploaded module as a learner — it should flip to Complete once the tracking condition is met.
Common reasons completion never fires
- No completion method was chosen at all in the Tracking tab — the most common cause.
- A custom trigger fires the wrong verb (
passedorprogressedinstead ofcompleted). - The completion condition sits on a slide learners never reach — for example an optional final summary slide.
Module sends nothing at all: check the title
There's a rarer failure mode where the module doesn't just miss the completion statement — it never communicates with LecturePanda at all, no matter how the tracking is configured. The usual cause is a special character in the lesson or module title.
At publish time, Storyline writes the title into the module's JavaScript runtime. Certain characters break that file so the whole tracking runtime fails to load:
- Ampersand (
&) — the most common culprit. Use "and" instead. - Hidden line breaks — invisible characters picked up when a title was pasted from Word or an email.
- Angle brackets (
<,>), quotes, and backticks.
Fix: open the lesson properties, delete the title, and retype it cleanly (type, don't paste). Avoid & in titles. Republish as Tin Can API and re-upload. If one title had a bad character, scan the rest of your course titles too.
Diagnostic for the technically inclined
Open the published module in a browser with dev tools. If completion is configured but never fires, watch the Network tab for statement POSTs when you finish the module. If no statements fire at all and the Console shows a JavaScript syntax error in scormdriver.js, that's the title-character problem above.
About LRS credentials
You don't need to configure an LRS endpoint or credentials in your authoring tool. LecturePanda injects the connection automatically when the module launches. Just publish for Tin Can API (xAPI) and upload the ZIP.