Как я могу добавить поддержку пакетов scorm в свое приложение Rails?

У меня есть приложение для электронного обучения Rails 5, которое до сих пор поддерживало в основном видеоконтент. В новых требованиях нам также сказали добавить поддержку scorm-пакетов.

Я немного погуглил, однако, я не мог найти много по теме. Я буквально потерялся. Я видел, что есть жемчужина, однако не совсем понятно, как подступиться проблема.

Есть ли у вас какие-либо идеи?


person ilrock    schedule 05.04.2018    source источник
comment
Когда вы говорите о поддержке пакетов scorm, вы имеете в виду создание полностью совместимой со SCORM LMS, это выглядит как масштабный проект, у SCORM есть разные точки зрения, первые два, на которые вам нужно обратить внимание, — это упаковка (как создать zip-файлы с содержимым). ) и время выполнения (как отслеживать использование). Возможно, информация здесь stackoverflow.com/questions/ 12016027/ полезен для вас, не связан с Rails, но он немного объясняет SCORM.   -  person Javier    schedule 06.04.2018
comment
Привет, Хавьер! Извините, мой плохой, я должен был быть более ясным. Я имею в виду, дать пользователям возможность следовать курсам scorm. Это означает, что администратор должен иметь возможность загружать zip-файлы scorm, а приложение — читать их и представлять пользователям. Тем временем я посмотрю на это ТАК, ура!   -  person ilrock    schedule 09.04.2018
comment
@ilrock Вы уже создали свое собственное решение?   -  person Betty St    schedule 02.04.2019
comment
Привет @BettySt! Я сделал в конце концов. Облако Scorm было слишком дорогим для моих клиентов, и поэтому я не мог работать. Это немного хакерское решение, но оно работает. 1. Когда администратор загружает файл, я извлекаю все из него и отправляю на S3 2. Когда пользователю нужно просмотреть контент, я загружаю файл index.html локально и отображаю его в iframe 3. Я добавил некоторое пользовательское событие обработчики для отслеживания прогресса пользователя на моем бэкэнде 4. Я периодически удаляю загружаемые файлы, чтобы держать под контролем хранилище   -  person ilrock    schedule 04.04.2019
comment
@ilrock ха забавно, я сейчас сделал нечто подобное: 1. загрузил zip на S3, и когда пользователь захочет просмотреть, я его получу, разархивирую и временно перемещу в общую папку. 2. Затем Rails API возвращает правильный URL-адрес с начальным файлом. 3. Во внешнем интерфейсе я показываю его в iframe и сохраняю данные SCORM с github.com/gabrieldoty/simplify-scorm обратно в Rails API. .. Тоже думаю об удалении временных файлов, пока не знаю как, т.к думаю при каждом деплое меняется корень общей папки. (в основном нам нужна среда выполнения SCORM, а не собственный API Scorm)   -  person Betty St    schedule 04.04.2019
comment
Привет @BettySt! и @ilrock, я пытаюсь сделать то же самое. Прямо сейчас у меня есть пакет SCORM, размещенный на S3, и он работает в моем iframe, но изображения не загружаются из курса SCORM. Ребята, у вас была такая проблема? Если да, то как вы ее решили? Я еще не добрался до части JS, чтобы справиться с завершением курса и прочим.   -  person ngust    schedule 14.04.2020
comment
@ngust - Прошло некоторое время с тех пор, как я работал над этим, однако, если я правильно помню, я столкнулся с похожей проблемой и в конечном итоге выбрал не очень хорошее решение (все еще решение). Каждый раз, когда требовался определенный курс scorm, я загружал zip-файл scorm, извлекал его и сохранял содержимое из /public моего проекта rails. Затем я загрузил URL-адрес файла в iframe, и это решило проблемы.   -  person ilrock    schedule 14.04.2020
comment
@ilrock спасибо. Мне удалось заставить изображения работать таким образом. Я согласен, что это уродливое решение. Однако это работает. Я удивлен, что нет больше информации о SCORM с рельсами. Должны быть какие-то системы LMS на основе рельсов.   -  person ngust    schedule 15.04.2020
comment
Никаких проблем, приятель. Рад, что смог помочь. Это действительно довольно грязно, но нехватка ресурсов на scorm ошеломляет. Я думаю, это потому, что это довольно старая технология, и поэтому нет необходимости разрабатывать что-то еще.   -  person ilrock    schedule 15.04.2020
comment
привет @ngust, у нас также есть файлы SCORM на S3, вам нужно доставить файлы в тот же домен, поэтому мы настроили для этого облачный дистрибутив. И поскольку мы работаем с поддоменами, у меня есть небольшой лайфхак: я просматриваю все файлы HTML и добавляю один простой тег сценария: content.gsub("<HEAD>", "<head>").gsub("</HEAD>", "</head>").gsub("<head>", "<head><script>document.domain='#{domain}';</script>")   -  person Betty St    schedule 17.04.2020


Ответы (1)


Внедрение SCORM с нуля — это огромный труд. Взгляните на Справочник по ADL SCORM, чтобы получить некоторое представление о масштабах проекта. Например, см. zip-архив с техническими спецификациями для SCORM 2004, 4-е издание. (прокрутите вниз, чтобы найти ссылку для скачивания) — 600 страниц PDF. Не будет преувеличением сказать, что внедрение SCORM 1.2 и 2004 2nd/3rd/4th Editions потребует десятилетий времени разработчиков, так что об этом, вероятно, не может быть и речи. На самом деле, реализовать спецификации в буквальном смысле недостаточно: в дикой природе существует множество несовместимого контента SCORM.

Я бы рекомендовал интегрировать ваше приложение с чужим проигрывателем SCORM.

Если вас устраивает поддержка только SCORM 1.2 и AICC, Moodle поддерживает его, и это бесплатно.

Если вам нужна поддержка SCORM 2004, лучший вариант — по моему честному мнению — изучить услуги, которые предоставляет мой работодатель, SCORM Cloud (платный продукт SaaS) или SCORM Engine (автономный продукт). Они являются коммерческими. В качестве бонуса вы также получите множество других стандартов обучения (cmi5, AICC, Tin Can) без дополнительных усилий.

Для SCORM Cloud вы можете получить некоторое представление о процессе интеграции из документации по адресу Интеграция LMS. Instructure поддерживает клиент SCORM Cloud Ruby, управляемый сообществом. Если у вас есть какие-либо вопросы, спросите нас о чем угодно, даже если это не связано с продажами. .

За все мои поиски я не нашел других полнофункциональных автономных проигрывателей SCORM 2004.

(Раскрытие информации: я работаю в Rustici Software, компании, отвечающей как за SCORM Engine, так и за SCORM Cloud.)

person Reid    schedule 09.04.2018
comment
Спасибо @Reid. Я на самом деле согласен с вами, Scorm Cloud сделал бы все намного проще. К сожалению, эта работа для клиента, который не хочет платить за услугу. Спасибо за другие варианты, которые вы упомянули. Сегодня посмотрю на них. Ваше здоровье! - person ilrock; 11.04.2018