教師は Classroom で課題をコピーできます。これにより、割り当てに含まれるアドオンの添付ファイルもコピーされます。これにより、教師は、年度ごとに複数のセクションや新しいセクションの課題を作成する場合、多くの時間を節約できます。
教師が Classroom で課題をコピーした場合、コピーされた課題には元の課題とは異なる courseId
、itemId
、attachmentId
のクエリ パラメータが含まれます。
コンテンツをコピーする方法
以下のセクションでは、教師が Classroom で課題をコピーする方法について説明します。
コースをコピーする
コースをコピーすると、そのコース内のすべての課題が下書きとして新しいコースにコピーされます。この教師は新しいコースに登録した生徒に 課題を公開できます生徒は元のコースとコピーしたコースの両方に登録できます。これは、生徒が授業を中断または再受講した場合に発生することがあります。
図 1. 教師は、Classroom の縦の点線メニューに移動して [コピー] をクリックすることで、コースをコピーできます。その後、教師はポップアップでコースの詳細を指定してコピーできます。
課題を複数のコースに公開する
教師は、課題作成ページから複数のコースに課題を公開できます。1 人の生徒が両方のコースに登録している可能性もあります。
図 2. 教師は、課題作成ページのサイドバーにあるプルダウンをクリックして複数のコースを選択することで、複数のコースに課題を公開できます。
投稿を再利用する
教師は、[授業] タブに移動して [作成] をクリックすることで、投稿を再利用できます。プルダウンで [投稿を再利用] をクリックしてクラスを選択し、再利用する課題を選択します。
図 3. 教師は、[授業] タブから投稿を再利用するフローを開始し、[投稿を再利用] をクリックします。
図 4. [投稿を再利用] をクリックすると、教師は再利用するクラスと課題を選択できます。
予想される動作
コースまたは課題をコピーすると、同じ生徒に異なるコース間で同じアドオン添付ファイルが割り当てられることがあります。コピーした課題のアドオンの推奨動作は次のとおりです。
- 教師が
teacherViewUri
で引き続き添付ファイルをプレビューできることを確認します。アドオンにライセンスが必要で、教師がコピーしたコースを適切に設定していない場合は、教師に適切な行動方針を伝えるユーザー フレンドリーなメッセージを表示します。少なくとも、教師が iframe にエラーページを表示してはなりません。 studentViewUri
に新しいアドオンの添付ファイルが生徒に表示されることを確認します。 アクティビティ タイプの添付ファイルの場合、添付ファイルは不完全であり、生徒は別のコースの解答を見ることができません。アドオンで同じ生徒が添付ファイルを 2 回完了することを許可しない場合は、シナリオや問題を解決するためのパスを説明するユーザー フレンドリーなメッセージを表示します。コンテンツ タイプの添付ファイルの場合、生徒に表示されるコンテンツがstudentViewUri
に表示されます。少なくとも、iframe にエラーページを表示することは許可されていません。studentWorkReviewUri
で、コピーした課題からの生徒の提出物が教師に表示されることを確認します。教師が他のコースの添付ファイルに対する生徒の提出物を閲覧できないようにします。少なくとも、iframe にエラーページを表示することは許可されていません。
教師に表示される iframe
教師が teacherViewUri
を起動すると、courseId
、itemId
、itemType
、login_hint
(ユーザーがアプリをすでに承認している場合)に加えて、attachmentId
がクエリ パラメータとして送信されます。attachmentId
を使用すると、iframe に正しい添付ファイルを表示できます。
teacherViewUri
のクエリ パラメータのレコードがない場合は、AddOnAttachment
リソースの CopyHistory
オブジェクトを使用して元の割り当てを識別できます。その後、teacherViewUri
で正しいアタッチメントを表示できます。
生徒に表示される iframe
学生が studentViewUri
を起動すると、courseId
、itemId
、itemType
、login_hint
(ユーザーがすでにアプリを承認している場合)に加えて、attachmentId
がクエリ パラメータとして送信されます。課題またはコースのコピー時に studentViewUri
をレンダリングするには、次の 2 つのパラメータを使用します。
attachmentId
: リクエスト URL から取得できます。submissionId
。itemType
に基づいて適切なcourseWork.getAddOnContext
、courseWorkMaterials.getAddOnContext
、またはannouncements.getAddOnContext
メソッドを呼び出し、StudentContext
オブジェクトを読み取ることで取得できます。
attachmentId
は、アタッチメントの一意の識別子です。ただし、submissionId
が一意であるとは限りません。したがって、コピーまたは再利用された割り当ての attachmentId
は異なりますが、submissionId
は変わりません。生徒が studentViewUri
を起動したときに、attachmentId
と submissionId
の複合キーに基づいて生徒の提出物を識別することで、添付ファイルを表示できます。
studentViewUri
が submissionId
のみに基づいてレンダリングされると、submissionId
が一意である保証がないため、別のコースからの提出物が学生に表示されるリスクがあります。
前述のように、attachmentId
を特定できない場合は、AddOnAttachment
リソースの CopyHistory
オブジェクトを使用して、元の割り当てとそのクエリ パラメータを特定できます。
生徒の提出物の確認 iframe
教師が studentWorkReviewUri
を起動すると、courseId
、itemId
、itemType
に加えて、attachmentId
と submissionId
がクエリ パラメータとして送信されます。指定された attachmentId
を特定できない場合は、これらのクエリ パラメータを使用して AddOnAttachment
リソースまたは CopyHistory
リソースを取得できます。これにより、attachmentId
と submissionId
の複合キーを使用して生徒の提出物を検索できます。