SCORM
SCORM (англ. Sharable Content Object Reference Model — «модель ссылок на совместно используемые объекты содержимого») — сборник спецификаций и стандартов, разработанный для систем дистанционного обучения. Содержит требования к организации учебного материала и всей системе дистанционного обучения. SCORM позволяет обеспечить совместимость компонентов и возможность их многократного использования: учебный материал представлен отдельными небольшими блоками, которые могут включаться в разные учебные курсы и использоваться системой дистанционного обучения независимо от того, кем, где и с помощью каких средств они были созданы. SCORM основан на стандарте XML.
История
Инициативная группа ADL (Advanced Distributed Learning) начала разработку SCORM в 1999 году. За основу будущей разработки была взята спецификация «CMI001 — Guidelines for Interoperability»[1] версии 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[2] (IMS MD) и IMS Content Packaging[3] (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[4], которая начала активно распространяться. В то же время группа ADL продолжала заниматься доработкой SCORM, в частности, улучшением возможностей навигации.
В 2002 году закончилась совместная работа IMS Global, Ariadne и IEEE LTSC[5] по доработке спецификации 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[6] (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="folder1\sco.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, если он функционирует в соответствии с этими указаниями.
Примечания
- Спецификация AICC CMI001 — Руководство по совместимости (недоступная ссылка). Дата обращения: 29 декабря 2010. Архивировано 24 июля 2011 года.
- Документация IMS Learning Resource Meta-data Specification
- Документация IMS Content Packaging Specification
- Официальная документация ADL SCORM 1.2 (недоступная ссылка). Дата обращения: 6 сентября 2011. Архивировано 11 августа 2011 года.
- Официальная страница IEEE LTSC
- Документация IMS Simple Sequencing Specification
См. также
- Модульное обучение
- Спецификация IMS QTI
- ADL (англ.)
Ссылки
- SCORM и его применение
- Обзор SCORM 2004, ФГУ ГНИИ ИТТ «Информика», 2005
- Дискуссионный сайт Dstudy.ru
- Библиотека, посвященная технологиям дистанционного обучения
- Простым языком о стандартах создания электронного курса Scorm и Tin Can API
- WebSoft и iSpring за стандарт CMI5
- Формирование SCORM пакетов из ELECTUDE: LMS ELECTUDE + Moodle