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

Рисунок 1. Если система информации об учащихся (СИУ) интегрирована с Классом, администраторы могут выбрать ее в раскрывающемся списке.
Регистрация партнера по СИУ
Ниже приведен краткий обзор процесса интеграции партнера по СИУ:
Подача заявки. Если вы хотите стать партнером Google Класса, заполните форму.
Изучите и запустите тесты на соответствие. Чтобы понять, готова ли ваша СИУ к интеграции с Классом, вы можете ознакомиться с тестами на соответствие и требованиями Google. Вы можете запустить тесты на соответствие требованиям, прежде чем отправлять заявку команде Google Класса. Это позволит вам определить, насколько ваш продукт соответствует требованиям Google.
Свяжитесь с командой Google Класса. Если у нас будет возможность сотрудничать, команда Класса свяжется с вами после того, как вы отправите форму.
Поделитесь результатами тестирования и создайте сквозную интеграцию. Когда команда Класса свяжется с вами, поделитесь результатами тестирования на соответствие. Ваша команда будет работать с 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. Что произойдет со строкой в СИУ, если задание будет удалено в Классе?
Удаление задания в Классе не приводит к удалению соответствующей строки в СИУ. Это предотвращает случайную потерю данных и непреднамеренное каскадное удаление.