OneRoster 対応の生徒情報システム(SIS)の統合

Google Classroom は、OneRoster 準拠の生徒情報システム(SIS)の多くで名簿のインポートと採点簿の同期をサポートしています。Google は、Google が指定する OneRoster の要件を満たす SIS プラットフォームと提携しています。

図 1. 生徒情報システム(SIS)が Classroom と連携している場合、管理者はプルダウンで SIS を選択できます。

SIS パートナーのオンボーディング ジャーニー

SIS パートナーのオンボーディング プロセスの概要は次のとおりです。

  1. 関心をお持ちの場合: Classroom との提携に関心をお持ちの場合は、お問い合わせフォームにご記入ください。

  2. 適合性テストを調べて実行する: SIS が Classroom と統合する準備ができているかどうかを把握するには、適合性テストを確認して、Google の要件を理解します。Google Classroom チームに興味を表明する前に、適合性テストを実行して、プロダクトが Google の要件をどの程度満たしているかを確認することもできます。

  3. Google Classroom チームに連絡する: お問い合わせフォームを送信していただくと、パートナーシップの機会がある場合に Classroom チームからご連絡いたします。

  4. テスト結果を共有し、エンドツーエンドの統合を構築する: Classroom チームから連絡があったら、適合性テストの結果を共有します。貴社のチームは Google と協力して、統合を検証して完了します。

適合性テスト

Google が定義した適合性テストは、SIS パートナーが自社のプロダクトが Google の OneRoster 使用要件を満たしているかどうかを判断し、Classroom で SIS 統合を利用する際にユーザーが遭遇する可能性のあるエラーを最小限に抑えるための手段を提供することを目的としています。テストは GitHub で公開されています。

テストにアクセスして実行する

テストを実行するには、次のものが必要です。

  • OAuth 2.0 認証情報を取得するためのトークン URL
  • /ims/oneroster/v1p2 で終わる OneRoster URL
  • クライアント ID
  • クライアント シークレット
  • 教師のメールアドレス

テストは、Google Colab または Jupyter ノートブックを使用して実行できます。Colab と Jupyter ノートブックのどちらでも、すべてのテストを一度に実行できます。これにより、Google Classroom チームと共有するテスト結果を生成できます。

要件と想定される動作

テストに関する次のポイントを読みます。GitHub では、各テストにタイトルがあり、表で参照されています。これらのポインタは、質問を明確にするのに役立ちますが、テストの包括的なリストではありません。GitHub で提供されているすべてのテストを実行して、適合性を確認してください。

テスト ポインタ
Teachers: GetAllTeachers GET /teachers エンドポイントは、limit クエリ パラメータを使用して呼び出されます。後続のテストでは、このパラメータを使用して、プロダクトが 10,000 のページサイズをサポートできることを確認します。
教師: メールフィルタを使用した GetAllTeachers GET /teachers エンドポイントは、教師のメールアドレスに基づいてフィルタするために使用される filter クエリ パラメータを指定して呼び出されます。このテストでは、テストの [Credentials] セクションで指定した教師のメールアドレスが使用されます。
Classes: GetClassesForTeacher /teachers/{teacher_sourced_id}/classes エンドポイントは、アクティブなクラスに基づいてフィルタするために使用される filter クエリ パラメータを指定して呼び出されます。
生徒: 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} を呼び出す際に、採点期間は必須ではありません。
LineItem: 編集 課題のタイトルが長い場合でも、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 Classroom チームと共有する

テストを実行すると、各テストの結果を含む完全なレポートが生成されます。この結果は、プロダクトが Google の OneRoster 1.2 の消費要件を満たしているかどうかを判断するために使用されます。生成されたレポートをダウンロードするか、スクリーンショットを撮って、Google Classroom チームの連絡先と共有します。

デベロッパー デモドメインを取得する

適合性テストの結果が Google Classroom チームによって審査されると、デベロッパー デモドメインを使用してエンドツーエンドの統合を検証できます。適合性テストに合格しても、パートナーシップや統合の承認が保証されるわけではありません。

デベロッパー デモドメインは、統合が想定どおりに機能していることを確認するための、Google Classroom のライブテスト環境です。デベロッパー デモドメインを取得し、デモドメインのアップグレードをリクエストする手順を完了します。アップグレードにより、ドメインに 10 個の Google Workspace for Education Plus ライセンスがプロビジョニングされます。これらのライセンスは、デベロッパー ドメインのテストユーザーに割り当てて、Classroom の SIS 統合機能をテストできるようにする必要があります。

よくある質問

1. Classroom が SIS に期待するデータモデルはどのようなものですか?

Classroom は OneRoster 1.2 仕様に準拠しています。SIS で異なるデータ構造を使用している場合、予期しない動作が発生することがあります。たとえば、システムが採点期間と成績のカテゴリ間のネストされた関係をサポートしている場合、これは OneRoster 1.2 の仕様から外れるため、統合を徹底的にテストして、適切な互換性を確認する必要があります。

2. SIS にエクスポートされる成績と課題のステータス

SIS にエクスポートされるのは、返却済みの成績または「未提出」か「免除済み」とマークされた提出物のみです。仮成績はエクスポートされません。

3. Classroom で課題が削除された場合、SIS の広告申込情報はどうなりますか?

Classroom で課題を削除しても、SIS の対応する項目は削除されません。これにより、偶発的なデータ損失や意図しないカスケード削除を防ぐことができます。