Перейти к основному содержимому

Интеграции

Зачем нужно

Документ описывает, как LMS связана с внешней LMS на переходном этапе и с целевыми доменами экосистемы.

Канонические cross-domain контракты

Кто использует

  • architecture;
  • backend;
  • product;
  • analytics;
  • QA.

Правила

  • LMS владеет roadmap topic и live delivery session, но не владеет task-bank problem и продуктовым доступом.
  • Все временные внешние идентификаторы должны храниться вместе с источником и статусом нормализации.
  • После появления собственной LMS новые связи строятся от внутренних идентификаторов.

Текущее состояние

На переходном этапе LMS-интеграции устроены так:

Внешняя LMS: GetCourse

  • хранит часть учебного контента и прогресса;
  • является фактической LMS на текущем этапе;
  • отдает данные о прогрессе по API.

Внутренний интеграционный слой

  • забирает progress из GetCourse;
  • нормализует его и сохраняет во внутреннюю базу;
  • используется как промежуточный контур до собственной LMS.

Связи с другими доменами

С roadmap-слоем LMS

LMS владеет roadmap topic. Связь происходит через:

  • topic coverage;
  • evidence;
  • completion rules roadmap.

LMS поставляет:

  • lesson completion;
  • homework completion;
  • activity results;
  • иные evidence.

С live delivery подсистемой LMS

Живое занятие и LMS-урок — разные сущности внутри LMS.

Возможные связи:

  • живое занятие ссылается на lesson или lesson set;
  • lesson используется как домашний/подготовительный/дополнительный контент к session;
  • session может быть связан с одной или несколькими темами, а LMS lesson — с контентным маршрутом.

С доменом банк-задач

LMS может:

  • ссылаться на задачи;
  • использовать подборки задач в уроках и домашках;
  • передавать результаты решения задач как evidence.

Но сам canonical owner задачи остаётся в домене task bank.

С доменом цели-и-результаты

LMS поставляет signals:

  • регулярность прохождения;
  • completion уроков и курсов;
  • выполнение домашек;
  • диагностические и activity results.

Домен целей использует эти сигналы как evidence, но не владеет LMS-сущностями.

С доменом analytics-gamification

LMS публикует события:

  • lesson opened;
  • lesson completed;
  • homework submitted;
  • activity attempted;
  • quiz passed;
  • course completed.

Аналитика и геймификация агрегируют эти события отдельно.

Целевая архитектура интеграций

После появления собственной LMS:

  • canonical owner lesson/content/progress переходит во внутренний lms-service;
  • GetCourse остаётся временным внешним источником либо полностью выводится из архитектуры;
  • все новые связи строятся от внутренних идентификаторов LMS.

Готовность

На переходном этапе каждая интеграционная запись должна хранить:

  • внутренний идентификатор;
  • внешний источник;
  • внешний идентификатор;
  • время последней синхронизации;
  • статус нормализации.