Интеграция с системами информации об учащихся (СИУ) с поддержкой OneRoster

Google Класс поддерживает импорт списков учащихся и синхронизацию журналов успеваемости для ряда систем информации об учащихся (СИУ), совместимых с OneRoster. Google сотрудничает с платформами СИУ, которые соответствуют требованиям OneRoster, установленным Google.

Рисунок 1. Если система информации об учащихся (СИУ) интегрирована с Классом, администраторы могут выбрать ее в раскрывающемся списке.

Регистрация партнера по СИУ

Ниже приведен краткий обзор процесса интеграции партнера по СИУ:

  1. Подача заявки. Если вы хотите стать партнером Google Класса, заполните форму.

  2. Изучите и запустите тесты на соответствие. Чтобы понять, готова ли ваша СИУ к интеграции с Классом, вы можете ознакомиться с тестами на соответствие и требованиями Google. Вы можете запустить тесты на соответствие требованиям, прежде чем отправлять заявку команде Google Класса. Это позволит вам определить, насколько ваш продукт соответствует требованиям Google.

  3. Свяжитесь с командой Google Класса. Если у нас будет возможность сотрудничать, команда Класса свяжется с вами после того, как вы отправите форму.

  4. Поделитесь результатами тестирования и создайте сквозную интеграцию. Когда команда Класса свяжется с вами, поделитесь результатами тестирования на соответствие. Ваша команда будет работать с Google, чтобы проверить и завершить интеграцию.

Тесты на соответствие

Тесты на соответствие, разработанные Google, позволяют партнерам по СИУ определить, соответствует ли их продукт требованиям Google к использованию OneRoster, и свести к минимуму ошибки, с которыми могут столкнуться пользователи при интеграции СИУ с Классом. Тесты опубликованы на GitHub.

Как запустить тесты

Чтобы запустить тесты, вам потребуется:

  • URL токена для получения учетных данных OAuth 2.0
  • URL OneRoster, заканчивающийся на /ims/oneroster/v1p2
  • Идентификатор клиента
  • Секретный код клиента
  • Адрес электронной почты преподавателя.

Вы можете запустить тесты с помощью Google Colab или блокнота Jupyter. И Colab, и Jupyter notebook позволяют запускать все тесты одновременно. Это поможет вам получить результаты тестирования, которыми нужно поделиться с командой Google Класса.

Требования и ожидаемое поведение

Ознакомьтесь с приведенными ниже рекомендациями по тестированию. В GitHub у каждого теста есть название, на которое ссылается таблица. Эти указатели могут помочь прояснить вопросы, но это не исчерпывающий список тестов. Убедитесь, что вы выполнили все тесты, доступные на GitHub.

Тест Указатели
Teachers: GetAllTeachers Конечная точка GET /teachers вызывается с параметром запроса limit. В последующих тестах этот параметр используется, чтобы убедиться,что ваш продукт поддерживает размер страницы 10 000.
Преподаватели: GetAllTeachers с фильтром по адресу электронной почты Конечная точка GET /teachers вызывается с параметром запроса filter, который используется для фильтрации по адресу электронной почты преподавателя. Для этого будет использоваться адрес электронной почты преподавателя, указанный в разделе "Учетные данные" тестов.
Classes: GetClassesForTeacher Конечная точка /teachers/{teacher_sourced_id}/classes вызывается с параметром запроса filter, который используется для фильтрации по активным курсам.
Students: GetStudentsForClass Вызывается конечная точка GET /classes/{class_sourced_id}/students. В ответе должен быть указан адрес электронной почты учащегося.
GetGradingPeriodsForTerm Поддержка академических периодов тестируется с помощью term_sourced_id. Этот идентификатор term_sourced_id используется для получения академических периодов в семестре путем вызова конечной точки GET /terms/{term_sourced_id}/gradingPeriods.
LineItem: Create При вызове PUT /lineItems/{line_item_sourced_id} указывать академические периоды не требуется.
Позиция: изменение Вызов API не должен возвращать ошибку, если в нем указано длинное название задания. В тесте есть название задания, содержащее более 100 символов.
Результат: изменить Значение score должно быть больше, чем resultValueMax, чтобы представлять дополнительную ценность.
Результат: удаление Требуется конечная точка DELETE /results/{result_sourced_id}.
LineItem (необязательно/очистка): Delete и Get Конечная точка DELETE /lineItems/{line_item_sourced_id} не требуется. Это необязательный параметр, который используется для очистки данных. Следующая конечная точка GET /classes/{class_sourced_id}/lineItems также необязательна и проверяет, была ли удалена позиция.

Поделитесь результатами тестирования с командой Google Класса

После выполнения тестов создается полный отчет с результатами каждого из них. Результаты используются, чтобы определить, соответствует ли ваш продукт требованиям Google к использованию OneRoster 1.2. Скачайте или сделайте скриншот сгенерированного отчета, чтобы поделиться им с командой Google Класса.

Как получить демонстрационный домен разработчика

После того как команда Google Класса проверит результаты тестирования на соответствие, вы сможете проверить интеграцию в демонстрационном домене разработчика. Обратите внимание, что успешное прохождение тестов на соответствие не гарантирует одобрения партнерства или интеграции.

Демонстрационный домен разработчика – это рабочая тестовая среда Google Класса, которая позволяет проверить, правильно ли работает интеграция. Выполните действия, чтобы получить демонстрационный домен для разработчиков и запросить его обновление. В рамках обновления вы получите 10 лицензий Google Workspace for Education Plus. Эти лицензии нужно назначить тестовым пользователям в домене разработчика, чтобы они могли протестировать функции интеграции СИУ в Классе.

Часто задаваемые вопросы

1. Какую модель данных Класс ожидает от СИУ?

Класс соответствует спецификации OneRoster 1.2. Если в вашей СИУ используется другая структура данных, вы можете столкнуться с непредвиденными проблемами. Например, если ваша система поддерживает вложенные отношения между академическими периодами и категориями оценок, это выходит за рамки спецификации OneRoster 1.2, и вам следует тщательно протестировать интеграцию, чтобы обеспечить надлежащую совместимость.

2. Какие оценки и статусы заданий экспортируются в СИУ?

В СИУ экспортируются только оценки за возвращенные задания и сданные работы с пометками "Пропущен срок сдачи" и "Освобождение". Черновики оценок не экспортируются.

3. Что произойдет со строкой в СИУ, если задание будет удалено в Классе?

Удаление задания в Классе не приводит к удалению соответствующей строки в СИУ. Это предотвращает случайную потерю данных и непреднамеренное каскадное удаление.