---
title: "Preview and publish"
description: "Play your course as learners see it, then publish it as SCORM 1.2, SCORM 2004 or a web package, with the right completion rule."
canonical_url: "https://docs.ols.yonn.online/en/ship/preview-and-export"
---
# Preview and publish

> Play your course as learners see it, then publish it as SCORM 1.2, SCORM 2004 or a web package, with the right completion rule.

Before learners see your course, you try it out in the **preview**. When everything works, you **publish** it: the Studio packs the whole course into one ZIP file that you upload to Moodle or put on a website.

The parts:

- **Preview**: plays a slide, a scene or the whole course exactly as learners see it.
- **Publish window** with four steps: **Format**, **Details**, **Scoring** and **Check**.
- **Package created**: the download, plus a short guide for Moodle.

<ui-path path="Publish" icon="i-lucide-rocket">



</ui-path>

A word you will meet here: **SCORM** is a standard that lets learning platforms such as Moodle play your course and store the results (finished or not, score, where someone stopped). A learning platform is also called **LMS** (learning management system).

## Publish in 5 steps

<procedure>

### Open the publish window

Click the orange **Publish** button at the top right. (The same window opens with <ui-path path="Home > Export">



</ui-path>

.)

### Choose the format

Leave **SCORM 1.2** selected if you use Moodle or are not sure. Click **Next**.

### Check the details

The **Course title** is the name of the package in Moodle. Click **Next**.

### Decide when the course counts as complete

Under **Complete when**, choose **Slides viewed**, **Results slide** or **By trigger**. Click **Next**.

### Check and publish

Read the notes. Fix anything marked as an error, then click **Publish**. The ZIP file is created in your browser and downloaded.

</procedure>

<hint-box kind="privacy">

Everything happens locally in your browser. No data is uploaded.

</hint-box>

## Preview

The preview plays the course exactly as learners see it, with the real player.

<table>
<thead>
  <tr>
    <th>
      Preview
    </th>
    
    <th>
      Shortcut
    </th>
    
    <th>
      Where
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      This slide
    </td>
    
    <td>
      <key-combo keys="F12">
        
      </key-combo>
    </td>
    
    <td>
      <strong>
        Preview
      </strong>
      
       in the top bar
    </td>
  </tr>
  
  <tr>
    <td>
      This scene
    </td>
    
    <td>
      <key-combo keys="Ctrl+F12">
        
      </key-combo>
    </td>
    
    <td>
      Arrow next to <strong>
        Preview
      </strong>
    </td>
  </tr>
  
  <tr>
    <td>
      Whole project
    </td>
    
    <td>
      <key-combo keys="Ctrl+Shift+F12">
        
      </key-combo>
    </td>
    
    <td>
      Arrow next to <strong>
        Preview
      </strong>
    </td>
  </tr>
</tbody>
</table>

<table>
<thead>
  <tr>
    <th>
      Element in the preview
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Slide
      </strong>
      
      , <strong>
        Scene
      </strong>
      
      , <strong>
        Project
      </strong>
    </td>
    
    <td>
      Switches what is played.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Restart
      </strong>
    </td>
    
    <td>
      Starts the preview from the beginning and resets all variables.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Variables
      </strong>
    </td>
    
    <td>
      Shows every variable live while you click through, including the built-in ones. Very helpful when a trigger does not behave.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Close preview
      </strong>
    </td>
    
    <td>
      Back to the editor.
    </td>
  </tr>
</tbody>
</table>

<hint-box kind="note">

JavaScript triggers never run in the preview, only in the published package (and only when you allowed them). Nothing is reported to an LMS from the preview.

</hint-box>

## Step 1: Format

![Step Format of the publish window with SCORM 1.2 (recommended for Moodle), SCORM 2004 and Web (HTML5)](https://docs.ols.yonn.online/screenshots/en/preview-and-export-format.png)

<table>
<thead>
  <tr>
    <th>
      Format
    </th>
    
    <th>
      Choose it when
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        SCORM 1.2
      </strong>
      
       (Recommended for Moodle)
    </td>
    
    <td>
      You use Moodle or are not sure. The safest choice: Moodle remembers whether someone is finished, the score and where to continue. Runs in practically every LMS. Up to 4,096 characters of progress data.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        SCORM 2004 (4th edition)
      </strong>
    </td>
    
    <td>
      Your LMS requires it. Reports separately whether someone is finished (completed) and whether the test was passed (passed), and stores more detail on single answers. Moodle supports it only partially. Up to 64,000 characters of progress data.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Web (HTML5)
      </strong>
    </td>
    
    <td>
      You want a plain web page without a learning platform, for your website or to open locally in the browser. No scoring is sent anywhere; progress stays in the learner's browser.
    </td>
  </tr>
</tbody>
</table>

## Step 2: Details

<table>
<thead>
  <tr>
    <th>
      Element
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Course title
      </strong>
    </td>
    
    <td>
      Shown in Moodle as the name of the learning package. Required.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Description
      </strong>
    </td>
    
    <td>
      Optional. A note for you and your team. In Moodle you enter the description yourself when uploading.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        File name
      </strong>
    </td>
    
    <td>
      Shows how the ZIP file will be called, for example <code>
        it-basics-networks-ports-and-security-scorm12-v1.0.zip
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Advanced: Package identifier
      </strong>
    </td>
    
    <td>
      A unique name inside the package. Keep it the same when you update the course, so Moodle knows it is the same course. <strong>
        Create identifier from the title
      </strong>
      
       fills it in for you.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Advanced: Version
      </strong>
    </td>
    
    <td>
      Part of the file name. Raise it with each update, for example from 1.0 to 1.1.
    </td>
  </tr>
</tbody>
</table>

## Step 3: Scoring

![Step Scoring with Complete when set to Results slide, the chosen results slide and the advanced setting Report status to the LMS as](https://docs.ols.yonn.online/screenshots/en/preview-and-export-scoring.png)

<table>
<thead>
  <tr>
    <th>
      Element
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Slides viewed
      </strong>
    </td>
    
    <td>
      Good for courses without a test: whoever has viewed enough slides is done. Choose <strong>
        All slides must be viewed
      </strong>
      
       or <strong>
        At least
      </strong>
      
       a number of slides.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Results slide
      </strong>
    </td>
    
    <td>
      Good for courses with a quiz: the results slide scores the questions and reports score and pass to Moodle. The passing score is sent as the grade. Only available when your course has a results slide (<ui-path path="Insert > Results slide">
        
      </ui-path>
      
      ).
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        By trigger
      </strong>
    </td>
    
    <td>
      You decide the moment, for example with a button "Done". The course counts as completed as soon as a trigger runs the action <strong>
        Complete course
      </strong>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Advanced: Report status to the LMS as
      </strong>
    </td>
    
    <td>
      How the status is reported. "Completed" means worked through, "passed" means the test was passed. The default fits most courses.
    </td>
  </tr>
</tbody>
</table>

The four status options:

<table>
<thead>
  <tr>
    <th>
      Option
    </th>
    
    <th>
      Meaning
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <strong>
        Passed / incomplete
      </strong>
    </td>
    
    <td>
      Not passed stays incomplete, so learners can try again.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Passed / failed
      </strong>
    </td>
    
    <td>
      Reports a clear passed or failed for tests.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Completed / incomplete
      </strong>
    </td>
    
    <td>
      For courses without scoring, such as safety briefings.
    </td>
  </tr>
  
  <tr>
    <td>
      <strong>
        Completed / failed
      </strong>
    </td>
    
    <td>
      Completed on success, failed otherwise.
    </td>
  </tr>
</tbody>
</table>

## Step 4: Check

![Step Check with format, version, notes and the list of checks](https://docs.ols.yonn.online/screenshots/en/preview-and-export-check.png)

At the top you see **Format**, **Version** and **Notes**. Below, the Studio lists what it checked: whether slides exist, whether the completion rule can be reached, missing or very long alternative texts (descriptions of images for screen readers) and more. If there are errors, the **Notes** box says **Fix errors**: you must fix them before you can publish. Warnings and notes are hints you may ignore. When it says **All set**, click **Publish**.

## Package created

After publishing you see **Package created** with the file name and size. The ZIP is already downloaded; **Download again** gets it once more. Below that, the window shows how to upload it to Moodle and the recommended settings. The full guide: [SCORM and Moodle](https://docs.ols.yonn.online/en/ship/scorm-and-moodle).

## Use the web export

Unzip the web package and upload the folder to any web server, or open `index.html` directly in the browser. No data is sent to third parties; progress stays in the learner's browser.

## If something doesn't work

- **"Results slide" can't be chosen**: your course has no results slide yet. Add one with <ui-path path="Insert > Results slide">



</ui-path>

.
- **Publish is not possible**: the check shows an error. Read what it says, fix it in the course or go **Back** to the step, then try again.
- **You are publishing an update**: keep the same **Package identifier** as before and only raise the **Version**.
- **"Publishing failed"**: reload the page and try again. Your course is saved in the browser and stays as it is.
- **A JavaScript trigger does nothing in the preview**: that is intended. It only runs in the published package.


## Sitemap

See the full [sitemap](https://docs.ols.yonn.online/sitemap.md) for all pages.
