# SCORM курс

#### ✓ Які вимоги є до SCORM курсу необхідні для успішної інтеграції прогресу в нашу платформу:

1. Перейдіть у розділ "Всі предмети"
2. Виберіть предмет
3. Якщо у вас немає розділу - створіть
4. Натисніть "Створити урок"
5. Увімкніть "SCROM-пакет"

<figure><img src="https://135744108-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FjgRDsyXtfduYZJEtYHGk%2Fuploads%2FFqQJ2CA6wwKcPPGlD6i4%2Fimage.png?alt=media&#x26;token=d58ec18d-25ca-4a9d-98f6-2501f03f75a5" alt=""><figcaption></figcaption></figure>

#### 1. Встановлення значень через SCORM API (`SetValue`)

Під час проходження курсу SCORM має встановлювати такі параметри за допомогою методу **`SetValue`**:

***

* **`cmi.score.min`** — *мінімальне (стартове) значення прогресу*.\
  ▸ Може бути будь-яким, зазвичай — `0`.\
  ▸ **Необов’язкове поле** — якщо не вказано, приймається значення `0`.\
  ▸ **Постійна величина** — **не повинна змінюватися** в процесі проходження курсу.

***

* **`cmi.score.max`** — *максимальне значення прогресу* (що дорівнює 100%).\
  ▸ Має бути більшим за `cmi.score.min`.\
  ▸ **Обов’язкове поле.**\
  ▸ **Постійна величина**, яка **не повинна змінюватися** в процесі проходження курсу.

***

* **`cmi.score.raw`** — *поточне значення прогресу користувача*.\
  ▸ Може бути будь-яким числом у межах між `cmi.score.min` і `cmi.score.max`.\
  ▸ **Обов’язкове поле.**\
  ▸ **Змінна величина**, яка регулярно оновлюється під час виконання завдань.

***

* **`cmi.completion_threshold`** — *порогове значення `cmi.score.raw`, при досягненні якого курс вважається завершеним*.\
  ▸ Може бути будь-яким числом у межах між `cmi.score.min` і `cmi.score.max`.\
  ▸ **Необов’язкове поле** — якщо не вказано, приймається значення `cmi.score.max`.\
  ▸ **Постійна величина**, яка **не повинна змінюватися** під час проходження курсу.

#### 2. Виклик методу `Commit`

Курс повинен періодично викликати метод **`Commit`** SCORM API.\
Цей виклик:

* зберігає прогрес користувача на платформі **Skillzrun**;
* дозволяє зберігати інші важливі дані для відновлення стану курсу після перезавантаження сторінки.

📌 **Рекомендація:** Викликайте `Commit` після кожної успішної або завершеної дії (наприклад, після правильної відповіді). Частота викликів — довільна, але не надто висока.
