Skip to content

Nothing tracked: the LMS opens story.html instead of index_lms.html

Updated 26 October 2026

Quick fix

Storyline makes two start pages. Only index_lms.html talks to the LMS; story.html is for playing the course outside one. If the LMS opens story.html, the course plays normally and nothing is recorded.

  • The LMS took the zip, the course plays, nothing is recorded: the manifest starts the course on story.html. Publish again for an LMS, or change the launch file. Steps.
  • The LMS refused the zip, and it has story.html but no imsmanifest.xml: it is a web publish. What to do.
  • Your LMS asks you to pick or type the start file, or the course sits on another server: choose index_lms.html. Details.

Drop the zip into Alder (free, nothing is uploaded): it names the file the LMS will open and flags both mistakes before you upload.

The upload worked, but nothing is recorded

Every learner finishes, and the LMS still shows no completion, no score and no bookmark (the place the course reopens at). The manifest, imsmanifest.xml, is the file in the zip that tells the LMS which page to open. Here it names story.html. That usually happens when a zip is put together by hand, or a manifest is added to files from another publish.

  1. Publish again for an LMS, and upload that zip unchanged

    In Storyline, choose Publish → LMS / LRS (not Web) and pick the standard your LMS uses. The zip Storyline makes already launches index_lms.html. Upload it without unzipping or re-zipping it. This is the surest fix, and it is free.

  2. No source file? Change the launch file in the manifest

    Only when the zip already has index_lms.html next to story.html: open imsmanifest.xml in a text editor, find the href on the <resource> that says story.html, and change it to index_lms.html. Change nothing else, save, and zip the files again with the manifest at the top of the zip. If there is no index_lms.html, the files are Storyline's web output with a manifest added: a new manifest line can't fix that, so publish again for an LMS.

  3. Or let Alder make the change

    On the TOOL-008 card, the fix “Launch index_lms.html instead of story.html” changes only that one value and checks its own work. Applying and previewing it is free; downloading the changed zip needs Pro. The free route is the two steps above.

The LMS refused the zip: it is a web publish

A zip with story.html and no imsmanifest.xml came from Storyline's web publish, which is meant for a web server. The LMS has no manifest to read, so it turns the zip down. Publish with Publish → LMS / LRS instead. Don't add a manifest to the web files: it would launch story.html and record nothing, as above. The full list of upload errors is on “imsmanifest.xml not found”.

Your LMS asks which file to open

Most LMSs read the start page from the manifest. Some ask you to name it, and a course kept on a separate web server is opened by an address you type. In both cases, give index_lms.html. Articulate's article on the launch file says the same, and an author on E-Learning Heroes reports that a course linked through story.html opened in their LMS but never completed.

Older xAPI courses. Articulate says Storyline's xAPI (Tin Can) output had only story.html until the June 2020 update of Storyline 360 (October 2020 for Storyline 3), and that publishing the project again in a newer version switches the launch file to index_lms.html. If an LMS entry was set up by hand for an old xAPI course, check which file it names after you republish.

Check the zip before you upload it (free)

Alder reads the zip in your browser; nothing is uploaded. Or go straight to the checks for a course that isn't reporting.

  1. Drop the zip into Alder

    Open Alder and drop the zip you plan to upload. A Storyline manifest that launches story.html shows as TOOL-008, “Nothing will be tracked”, and says whether index_lms.html is in the zip. A web publish shows as STRUCT-002, “This looks like a Storyline web publish, not an LMS publish”. Both are free.

  2. See which file the LMS will open

    Click “Course details” under the course title. The “Launch file” row is the page the manifest names, with “Found” when it is in the zip. For a Storyline course it should read index_lms.html.

    Alder's Course details for its sample course: Standard SCORM 1.2, Launch file index.html marked Found, 1 SCO, mastery score 90 out of 100, 8 files.
    The Launch file row, on Alder's own sample course (which isn't a Storyline course, so its page is index.html).
  3. Launch it as a learner

    Under the test player, “Player options” repeats the file Alder will open, the way an LMS would. Click “Launch the course”, then open the technical log: one of the first rows should say “The course started its session with the LMS.” If it never does, press “I'm done” and Alder says the course never connected.

    Alder's Player options before launch, ending with the line 'Launches index.html as SCORM 1.2 with a mastery score of 90.'
    The test player opens the same file the manifest gives an LMS.

Why it happens

When you publish for an LMS, Storyline puts both pages in the zip. index_lms.html is the page that finds the LMS and reports to it; story.html plays the same slides without that connection, so you can view the course on your own computer or a plain web server. The manifest decides which one the LMS opens. A Storyline LMS publish always names index_lms.html, so the trouble starts only when a zip is assembled or edited by hand, or comes from an older xAPI publish.

Which file the LMS opens, in three Storyline zipsAn LMS publish has imsmanifest.xml, which launches index_lms.html: the course is tracked. A zip whose manifest launches story.html is accepted and plays, but nothing is recorded. A web publish has story.html and no imsmanifest.xml: the LMS refuses the upload.LMS PUBLISHcourse.zipimsmanifest.xml → index_lms.htmlstory.html, story_content/ …TrackedMANIFEST POINTS AT STORY.HTMLcourse.zipimsmanifest.xml → story.htmlindex_lms.html (or none), …Plays, but records nothingWEB PUBLISHcourse.zipstory.html (no imsmanifest.xml)Upload refusedOnly index_lms.html connects to the LMS.
Which file the LMS opens decides whether anything is recorded.

Nothing on screen warns the learner: the slides look the same either way. That is why the problem often shows up only when someone asks why the completions are missing.

Still not working?