SCORM


SCORM (англ. Sharable Content Object Reference Model, «образцовая модель объекта содержимого для совместного использования») — сборник спецификаций и стандартов, разработанный для систем дистанционного обучения. Содержит требования к организации учебного материала и всей системе дистанционного обучения. SCORM позволяет обеспечить совместимость компонентов и возможность их многократного использования: учебный материал представлен отдельными небольшими блоками, которые могут включаться в разные учебные курсы и использоваться системой дистанционного обучения независимо от того, кем, где и с помощью каких средств они были созданы. SCORM основан на стандарте XML.

История

Инициативная группа ADL (Advanced Distributed Learning) начала разработку SCORM в 1999 году. За основу будущей разработки была взята спецификация «CMI001 — Guidelines for Interoperability» версии 3.0, выпущенная организацией AICC в сентябре 1999 года. В ней описывались требования к компьютерной системе управления обучением (англ. Computer Managed Instruction, CMI) и к используемым в ней блокам учебного материала (англ. Assignable Unit, AU). Взаимодействие между AU и CMI могло осуществляться либо через чтение/запись локальных файлов (появилось в CMI001 v1.0, 1993 год), либо через HTTP-протокол (появилось в CMI001 v2.0, 1998 год), либо через Javascript API (v3.0, 1999 год). Для описания элементов электронного курса в CMI001 использовались текстовые файлы в формате CSV. Две части спецификации AICC CMI001 (описание модели передаваемых данных и описание взаимодействия через Javascript) вошли в разрабатываемую группой ADL спецификацию SCORM RTE (англ. Run-Time Environment). Вместо термина Assignable Unit в документации SCORM стал использоваться термин англ. Shareable Content Object (SCO).

Для облегчения переносимости и доступности учебных материалов ADL должны были добавить в свою спецификацию требования к описанию метаданных и к способу упаковки учебных материалов. В сотрудничестве с организацией IMS Global были разработаны спецификации IMS Learning Resources Meta-Data (IMS MD) и IMS Content Packaging (IMS CP), которые вошли в спецификацию SCORM CAM (англ. Content Aggregation Model) как разделы SCORM Meta-Data и SCORM Content Packaging. В последнем спецификация IMS CP была дополнена несколькими специальными элементами, взятыми из AICC CMI001 (значения этих элементов либо передаются в учебный объект посредством Javascript API, либо используются системой для управления навигацией по учебным объектам, входящим в пакет).

Версии SCORM 1.0 и SCORM 1.1 были тестовыми и распространялись в узких кругах для испытания и сбора отзывов. В октябре 2001 года вышла версия SCORM 1.2, которая начала активно распространяться. В то же время группа ADL продолжала заниматься доработкой SCORM, в частности, улучшением возможностей навигации.

В 2002 году закончилась совместная работа IMS Global, Ariadne и IEEE LTSC по доработке спецификации IMS MD до уровня стандарта. Стандарт IEEE 1484.12.1 получил название LOM (англ. Learning Object Metadata), и благодаря обратной совместимости с IMS MD, может использоваться в SCORM-пакетах для описания метаданных.

Также ADL решила оформить модель взаимодействия как официальный международный стандарт, в связи с чем обратилась в комитет по стандартизации IEEE LTSC. Рабочая группа LTSC в контакте с AICC доработала спецификацию взаимодействия, в результате чего в 2003 году было выпущено два официальных стандарта:

  • IEEE 1484.11.1 — Data Model For Content To Learning Management System Communication (Описание модели данных, передаваемых между учебным материалом и LMS);
  • IEEE 1484.11.2 — ECMAScript API For Content To Runtime Services Communication (Описание способа взаимодействия между учебным материалом и сервисами периода исполнения при помощи Javascript).

Тем временем консорциум IMS Global в 2003 году выпустил спецификацию IMS Simple Sequencing (IMS SS), содержащую требования к описанию последовательностей прохождения учебного материала. Эта спецификация легла в основу разрабатываемой ADL спецификации SCORM SN (англ. Sequencing and Navigation).

В январе 2004 года вышла первая редакция SCORM 1.3 (получившая обозначение SCORM 2004). В ней раздел SCORM RTE был представлен описанием стандартов IEEE 1484.11 (с изменившимся API, которое стали называть SCORM API 2004), дополненным специальными элементами ADL, используемыми для организации навигации, подробно описанной в новом разделе SCORM SN. В раздел SCORM CAM был внесён стандарт IEEE LOM вместо IMS MD, а также добавлены требования к описанию навигации по пакету в соответствии с IMS SS. В июле того же года вышла немного изменённая вторая редакция SCORM 2004.

В июне 2006 года Министерство обороны США предписало, чтобы все разработки в области электронного обучения соответствовали требованиям SCORM.

Позже в SCORM 1.3 были внесены ещё некоторые изменения: в октябре 2006 года вышла третья редакция, а в марте 2009 — четвёртая — SCORM 2004.

Разделы SCORM 2004

Обзор

Вводная часть стандарта. Здесь содержатся общие положения и идеи SCORM.

Модель накопления содержания (Content Aggregation Model, CAM)

Эта часть стандарта описывает структуру учебных блоков и пакетов учебного материала. Пакет может содержать курс, урок, тест, модуль и т. п. В пакет входят xml-файл (манифест), где описана структура пакета, и файлы, составляющие учебный блок. Этот файл должен иметь название imsmanifest.xml и находиться в корневой папке пакета.

Манифест пакета включает:

  • метаданные (свойства компонентов учебного материала);
  • организацию учебного материала (в каком порядке расположены компоненты);
  • ресурсы (ссылки на файлы, содержащиеся в пакете);
  • под-манифест (xml-файл может содержать под-манифесты, описывающие отдельные части пакета. Может иметь смысл, если пакет очень большой и имеет сложную структуру, чтобы не перегружать один файл большим объёмом данных).

Блоки учебного материала, входящие в пакет, могут быть двух типов: ресурсы и разделяемые объекты содержимого (англ. Sharable Content Object (SCO)).

  • Ресурс (англ. asset) — элемент, который не взаимодействует с сервером системы управления обучением (LMS-сервером). Это может быть html-страница, просто картинка, звуковой файл, flash-объект и т. п. Ресурс может состоять из нескольких файлов (например, html-файл + css-файл c описанием его стилей + js-файл с описанием используемых в нём функций), но с точки зрения системы и учащегося ресурс будет рассматриваться как единый неделимый объект.
  • Разделяемый объект содержимого (SCO) — это элемент, который взаимодействует с системой управления обучением: сообщает о ходе и результатах обучения, получает и передаёт дополнительные данные и т. п. Как минимум SCO сообщает о своем запуске и завершении (путём вызова методов Initialize("") и Terminate("") объекта API_1484_11, используемого системой для взаимодействия).

Пример кода манифеста SCORM-пакета:

<?xml version="1.0" encoding="UTF-8"?> <manifest version="1.3" identifier="8EA33DC1" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"> <metadata> <schema>ADL SCORM</schema> <schemaversion>2004 4th Edition</schemaversion> </metadata> <organizations default="09B4C179"> <organization identifier="09B4C179" structure="hierarchical"> <title>Содержание</title> <item identifier="7D841A9D" isvisible="true" identifierref="44D33973"> <title>Пример объекта SCO, взаимодействующего с LMS</title> </item> </organization> </organizations> <resources xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p3"> <resource identifier="44D33973" adlcp:scormType="sco" type="text/html" href="sco.htm"> <file href="sco.htm" /> </resource> </resources> </manifest>

Для передачи пакетов по сети (например, для загрузки в систему управления обучением) спецификация SCORM CAM предписывает помещать содержимое пакета в zip-архив. Файл imsmanifest.xml должен располагаться в корне архива. Остальные файлы пакета должны располагаться так, как указано их расположение в элементах file в содержимом манифеста. Например, в случае приведённого ранее кода манифеста файл sco.htm должен располагаться на том же уровне, где и imsmanifest.xml, то есть в корне архива. А если бы в манифесте было прописано <file href="folder1sco.htm" />, файл sco.htm должен был бы располагаться в папке folder1 в архиве.

Среда выполнения (Run-Time Environment, RTE)

Эта часть стандарта описывает взаимодействие SCO и системы управления обучением (англ. Learning Management System, LMS) через программный интерфейс приложения (Application Program Interface, API). Требования SCORM RTE позволяют обеспечить совместимость SCO и LMS, чтобы каждая система дистанционного обучения могла взаимодействовать со SCO таким же образом, как и любая другая, соответствующая стандарту SCORM. LMS должна обеспечивать доставку требуемых ресурсов пользователю, запуск SCO, отслеживание и обработку информации о действиях учащегося, передачу SCO-объекту запрашиваемых данных и сохранение получаемых.

Взаимодействие осуществляется через объект API_1484_11, располагающийся в одном из родительских окон браузера по отношению к окну учебного объекта. Учебный объект должен быть запущен либо во фрейме (<iframe>) на странице системы управления обучением, либо во всплывающем окне (посредством JavaScript-вызова window.open). В начале своей работы SCO-объект должен найти объект API_1484_11 в одном из родительских окон, применив для этого алгоритм перебора родительских окон (SCORM API Discovery Algorithm), а затем вызвать метод Initialize("") этого объекта.

После успешной инициализации SCO может запрашивать у системы данные посредством метода GetValue(«название_элемента_данных») или посылать данные в систему посредством метода SetValue(«название_элемента_данных», «значение»). Возможные элементы данных и их допустимые значения перечислены в спецификации. Для принудительного сохранения данных, отправленных в систему, SCO-объект должен вызвать метод Commit("").

Также API позволяет отслеживать SCO-объекту возможные ошибки, возникающие в процессе взаимодействия, посредством методов GetLastError, GetErrorString и GetDiagnostic.

В конце своей работы SCO должен вызвать метод Terminate(""), тем самым сообщив системе, что работа с ним закончена и его можно закрывать (или переходить к следующему объекту).

Пример простейшего SCO (данная html-страница запрашивает у системы управления обучением имя учащегося, который её открыл):

<html> <head> <script language="javascript"> function findAPI(win) { //ищем в родительских окнах объект с названием API. var findAPITries=0; //будем считать количество попыток, чтобы поиск не был бесконечным. while ((win.API_1484_11 == null) && (win.parent != null) && (win.parent != win)) { findAPITries++; if (findAPITries > 20) return null; //число 20 взято условно, теоретически его может и не хватить. win = win.parent; } return win.API_1484_11; } function getAPI() { //получаем объект API для текущего SCO. var theAPI = findAPI(window); //сначала пробуем искать в родителях текущего окна. if ((theAPI == null)) { //если не нашли в родителях текущего окна, if ((window.opener != null) && (typeof(window.opener) != "undefined")) theAPI = findAPI(window.opener); //то попробуем найти в родителях окна, открывшего текущее. } return theAPI; } function start() { //эта функция сработает в момент открытия SCO. var api = getAPI(); if (api!=null) { api.Initialize(""); value=api.GetValue("cmi.learner_name"); //запрашиваем у системы имя учащегося, document.write("Имя учащегося: "+value); //и выводим его на экран. } else document.write("Не удаётся подключиться к API системы."); } function stop() { //эта функция сработает в момент закрытия SCO. var api = getAPI(); if (api!=null) api.Terminate(""); } </script> <title>Пример объекта SCO, взаимодействующего с LMS</title> </head> <body onLoad="start()" onunload="stop()"> </body> </html>

Упорядочение и навигация (Sequencing and Navigation, SN)

Эта часть стандарта описывает, как должна быть организована навигация и предоставление компонентов учебного материала в зависимости от действий учащегося. Требования SCORM SN позволяют преподносить учащемуся материал в соответствии с индивидуальными особенностями.

Требования соответствия (Conformance Requirements)

Эта часть содержит полный список требований на соответствие стандарту SCORM, проверяемых ADL. Система управления обучением или редактор учебных материалов может получить от ADL сертификат о соответствии требованиям SCORM, если он функционирует в соответствии с этими указаниями.

Системы, совместимые со SCORM

Примеры электронных систем дистанционного обучения:

  • Sakai — свободно распространяемая система с открытым кодом (Java)
  • Moodle — свободно распространяемая система с открытым исходным кодом (PHP+MySQL)
  • ILIAS — система c открытым кодом (PHP+MySQL) под лицензией GNU
  • Teachbase — российская разработка, сервис для организации дистанционного обучения, совместим со SCORM 2004 и SCORM 1.2.
  • SABA — коммерческий продукт компании Saba Software Inc.
  • SharePointLMS — совместима со SCORM 1.2 и 2004
  • WebTutor — совместима со SCORM 1.2 и 2004
  • eLearning Server 4G — совместима со SCORM 1.2 и 2004 и с Tin Can API
  • SAP SuccessFactors LMS — совместима со SCORM 1.2 и 2004
  • iSpring Online — русскоязычная система дистанционного обучения, совместимая со SCORM 1.2 и 2004 (все версии)
  • Uchi.pro — разработанная cистема дистанционного обучения, совместима со SCORM 1.2 и 2004
  • Эквио — российская система дистанционного обучения, совместимая со SCORM 1.2 и 2004

Программное обеспечение, позволяющее создавать SCORM-совместимый контент

  • Adobe Captivate, Продукт компании ADOBE Systems Inc. совместим со SCORM 1.2 и 2004, а также Tin Can API и AICC. Позволяет разрабатывать электронные курсы, в том числе и для всех типов мобильных устройств.
  • AdobePresenter, Продукт компании ADOBE Systems Inc. совместим со SCORM 1.2 и 2004.
  • Articulate Studio, совместим со SCORM 1.2 и 2004.
  • iSpring Suite — русскоязычный инструмент разработки электронных курсов, совместим со SCORM 1.2 и 2004. Программа конвертирует PowerPoint-презентации в целостные учебные курсы, интегрируемые в любую SCORM/AICC — совместимую Систему Дистанционного Обучения. Включает в себя 3 модуля, которые вместе позволяют создавать полнофункциональные электронные курсы.
  • eXeLearning, Open Source инструмент, позволяющий разрабатывать курсы, совместим со SCORM 1.2.
  • eAuthor — русскоязычная разработка компании ГиперМетод, совместима со SCORM 1.2 и 2004.
  • CourseLab — русскоязычный редактор электронных курсов, совместимый с форматами SCORM 1.2 и SCORM 2004.
  • LearningApps.org — облачный сервис для создания и хранения интерактивных обучающих модулей с использованием SCORM.API.