Как я могу получить или передать данные между различными SCO в SCORM 2004?

У меня есть индекс SCO для перечисления индекса различных модулей курса (каждый модуль является SCO), и я сохранил статус завершения (cmi.completion_status) в SCO этих модулей. Теперь я хочу получить эти статусы в индексе SCO или передать эти значения в cmi.suspend_data в индексе SCO. Как я могу справиться с этой проблемой?


person Clement    schedule 06.08.2015    source источник


Ответы (3)


Существовала концепция «Shared State Persistence», добавленная к SCORM 2004. Она редко поддерживается. Позволяет создать корзину данных, на которую SCO могут ссылаться для чтения и записи данных. Это происходит в пространстве имен SSP, в отличие от CMI и ADL в спецификации SCORM 2004.

person Mark    schedule 07.08.2015

Я давно не работал со SCORM в деталях, поэтому я не могу предоставить подробности, но я считаю, что вы можете достичь этого, используя глобальные цели в SCORM 2004. Я не верю, что это возможно в SCORM 1.2.

Посмотрите на этот Функции SCORM 2004 4th Edition пример.

person Andrew Downes    schedule 07.08.2015

Вы вообще не можете делать эту клиентскую сторону — по определению каждый SCO полностью независим от любого другого SCO.

Сказав это, в манифесте могут быть сводки, которые могут передавать некоторые данные родительскому SCO, к сожалению, структура манифеста не объясняет, как это сделать, и я не могу вспомнить, где это задокументировано.

Другой способ, который будет работать намного лучше, также более сложен в реализации, так как вам нужен кодовый доступ к серверу и вручную собрать все данные вместе, чтобы сделать их доступными для SCO индекса — я бы также рекомендовал использовать cmi.launch_data или что-то в строке запроса вместо cmi.suspend_data, чтобы отделить его от всего, что вы, возможно, захотите сохранить.

Надеюсь, кто-то еще придет и расширит вторую возможность здесь - это делается для чего-то, с чем я работаю, но у меня есть только клиентский доступ к этому проекту.

person Rycochet    schedule 07.08.2015
comment
Если вам нужно отредактировать реализацию сервера, чтобы заставить клиентский пакет работать, то в первую очередь нет особого смысла использовать спецификацию взаимодействия. - person Andrew Downes; 07.08.2015
comment
Зависит от того, для чего он используется — в данном случае тысячи действий для школьников на пользовательском веб-сайте — поэтому SCORM является отправной точкой, а глобальные вознаграждения, связанные с отдельными деревьями SCO, требуют изменений сервера. К сожалению, есть предел тому, сколько вы можете спорить с клиентом - лучшее, что вы можете сделать, это найти самый простой и безопасный способ подчиниться ;-) - person Rycochet; 07.08.2015
comment
Да, и забыл сказать - нужно иметь дело с ситуацией нахождения студента на разных этапах на разных СКО на разных устройствах одновременно, но все равно выдавать верный итог исходя из количества 100% правильных ответов - и есть в стандарте SCORM нет возможности поддерживать это ;-) - person Rycochet; 07.08.2015
comment
Нет, я рекомендую использовать другую спецификацию совместимости для этого варианта использования, например. Консервная банка. (tincanapi.com) - person Andrew Downes; 09.08.2015
comment
Рекомендуйте все, что хотите (мы уже пробовали), но с международной компанией, которая уже вложила миллионы в свою платформу, они придерживаются того, за что заплатили, и тратят больше времени и денег на добавление того, что они хотят. делать, а не менять платформу на что-то более подходящее для этого. К счастью, там есть только две вещи, не относящиеся к SCORM, и только одна из них активно приводит к несоответствию... Надеюсь, кто-то еще, начав этот путь, прочитает и изучит и избавит нас, разработчиков, от головной боли, приняв правильные решения в начале: -П - person Rycochet; 09.08.2015