Интеграция с другими платформами

Уроки и курсы на Stepik можно встраивать на сторонние ресурсы, с помощью нескольких способов.

iframe

Встраивать уроки со Stepik на страницу другого сайта можно при помощи iframe. Увидеть, как выглядит курс Stepik в iframe, можно на тестовой странице: https://stepik.org/embed-test. В поле ввода введите: /ID курса (например, /67) и нажмите кнопку справа Test. ID курса вы можете взять из URL курса: https://stepik.org/course/67/syllabus.

Особенности этого варианта:

  1. Для решения заданий необязательно логиниться в stepik.org, но, чтобы сохранять прогресс, регистрация всё-таки нужна;
  2. Сам stepik.org работает полностью через API, поэтому практически всю информацию о выполненных пользователем заданиях можно передать через API при условии, что вы знаете stepik_id пользователя и у вас есть права на чтение его прогресса (неприменимо для встраивания через iframe).

Основная информация про API — https://github.com/stepicorg/stepik-api.

OAuth 2

OAuth 2 — протокол, с помощью которого вы можете настроить авторизацию на вашей платформе через аккаунт на Stepik. Протокол дает безопасный способ обмена персональной информацией, избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.

Сам Stepik поддерживает OAuth 2 авторизацию через аккаунты VK, Google и GitHub.

Если вы хотите настроить авторизацию с помощью Stepik на вашей платформе, ознакомьтесь с описанием настройки интеграции: https://github.com/StepicOrg/Stepik-API#oauth-2.

По вопросам, связанным с настройкой авторизации пишите нам на help@stepik.org или через запросную форму https://welcome.stepik.org/new-support-request.

LTI

Кроме того, в платных курсах возможна интеграция через LTI (https://www.imsglobal.org/activity/learning-tools-interoperability).

Stepik поддерживает протокол Learning Tools Interoperability (IMS LTI 1.1) в качестве learning tool (учебного инструмента). Этот протокол обеспечивает аутентификацию пользователей сторонних образовательных платформ на Stepik и отправку на эти платформы баллов за выполнение заданий. Благодаря поддержке стандарта LTI вы можете настроить интеграцию с такими популярными платформами, как Moodle, Open edX, Coursera, Blackboard LMS, Instructure Canvas, Sakai и другие. Платформа, с которой вы хотите провести интеграцию должна поддерживать протокол LTI, как learning platform (учебная платформа).

Почему LTI

(Информация ниже является переводом статьи с ресурса: IMS Global)

Learning Tools Interoperability® (LTI®) — спецификация, разработанная Глобальным Образовательным Консорциумом IMS (IMS Global Learning Consortium). Основной концепцией LTI является установление стандартного способа интеграции учебных приложений (зачастую размещенных удаленно и предоставляемых через сторонние службы) с системами дистанционного обучения, учебными порталами, репозиториями учебных материалов и другими образовательными средами. В LTI эти обучающие приложения называются Tools/Инструменты (поставляемые провайдерами), а СДО и платформы называются Tool Consumers/Потребителями Инструмента.

Основной вариант использования LTI: бесшовное подключение веб-приложений, предоставляющих контент или инструмент, размещенных на внешнем сервере, к платформам, которые предоставляют их (контент или инструмент) своим пользователям. Среди подобных веб-приложений могут быть простые коммуникационные приложения, такие как чат, или специализированные образовательные среды для обучения сложных предметных областей, таких как математика.

Подробнее о протоколе LTI: http://www.imsglobal.org/activity/learning-tools-interoperability и https://www.edu-apps.org/code.html.

Stepik LTI

Stepik поддерживает версию LTI 1.1 (наиболее популярную). Ваша учебная платформа может:

  1. Провести безопасную аутентификацию ваших пользователей в Stepik.
  2. Безопасно передать статистику о прохождении курса из Stepik обратно в вашу платформу.

Настройки LTI в Stepik

Интеграция по IMS LTI 1.1 находится в разделе “Дополнительно”:

Чтобы настроить LTI, вам нужно указать два произвольных ключа — consumer key и secret key. Они должны совпадать с обеих сторон — в LTI tool (Stepik) и в LTI platform (на вашей платформе):

Настройки на стороне вашей платформы, могут выглядеть так (скриншот ниже со старой версии Coursera):

Coursera.jpg

Конфигурации других платформ: Canvas, Moodle, Blackboard, Sakai, Desire2Learn.

Помимо двух ключей (consumer key и secret key), вам нужно указать следующие настройки в своей платформе:

Дополнительные параметры LTI (они могут называться LTI custom parameters или optional preferences): course=ID, либо lesson=ID. Где ID — это идентификатор вашего курса (course) или урока (lesson), который можно найти в URL-адресе (как stepik.org/course/ID или stepik.org/lesson/ID).