Просто интересно, позволит ли очень похожий подход, как в Discourse AI - Web Artifacts, использовать контент H5P в Discourse.
Искусственные артефакты имеют ограничение по размеру. Предполагаю, что хранение большого объёма контента в базе данных следует избегать?
Мне бы хотелось узнать, как хранить более объёмный контент и как может быть организовано ограниченное взаимодействие между богатым контентом и Discourse.
Задачи для решения
- Обслуживание контента H5P через Discourse
- Хранение достижений внутри Discourse
- Анализ достижений из Discourse
- Интеграция достижений с бейджами
Обслуживание контента H5P через Discourse
Контент H5P загружается в виде специального структурированного ZIP-архива. Этот архив необходимо распаковать и разместить в местах, откуда его можно будет обслуживать.
Конфигурационные данные внутри обычно довольно малы и могут храниться в базе данных, как в AI Web Artifacts (AIWA). Включённые библиотеки и медиафайлы могут быть довольно большими, поэтому их следует хранить как другие загрузки (в виде файлов или через CDN).
AIWA обслуживает контент внутри iframe, что обеспечивает изолированную среду. Поскольку любой код внутри H5P не должен считаться доверенным, для H5P также, по-видимому, стоит использовать этот подход.
Альтернативой может быть встраивание H5P из внешней инфраструктуры через oneboxing.
Хранение достижений внутри Discourse
H5P использует REST-API (xAPI) для хранения достижений. Для интеграции с интерфейсом Discourse может быть интересно междокументное взаимодействие.