教師は Classroom で課題をコピーできます。これにより、課題に含まれるアドオンの添付ファイルもコピーされます。これにより、教師は複数のセクションや学年ごとに新しいセクションの課題を作成する際に多くの時間を節約できます。
教師が Classroom で課題をコピーすると、コピーされた課題の courseId
、itemId
、attachmentId
クエリ パラメータは、元の課題とは異なります。
コンテンツをコピーする方法
以降のセクションでは、教師が Classroom で課題をコピーする方法について説明します。
コースをコピーする
コースをコピーすると、コース内のすべての課題が下書きとして新しいコースにコピーされます。教師は、新しいコースに登録している生徒に課題を公開できます。生徒は、元のコースとコピーされたコースに登録できます。これは、生徒が留年した場合やクラスを再受講した場合に発生することがあります。
図 1. 教師は、Classroom の縦型の点線メニューに移動して [コピー] をクリックすることで、コースをコピーできます。教師は、ポップアップでコースの詳細を指定してコピーできます。
複数のコースに対して課題を公開する
教師は課題作成ページから複数のコースに対して課題を公開できます。生徒が両方のコースに登録されている可能性があります。
図 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
の複合キーを使用して生徒の課題を検索できます。