教師は Classroom でストリーム アイテムをコピーできます。これにより、ストリーム アイテムに含まれるアドオンの添付ファイルもコピーされます。これにより、教師は複数のセクションや、各学年の新しいセクションの学習コンテンツを作成する際に、多くの時間を節約できます。
教師が Classroom でストリーム アイテムをコピーすると、コピーされたストリーム アイテムの courseId
、itemId
、attachmentId
クエリ パラメータは、元のストリーム アイテムとは異なります。
コンテンツをコピーする方法
以降のセクションでは、教師が Classroom でストリーム アイテムをコピーする方法について説明します。
コースをコピーする
コースをコピーすると、コース内のすべてのストリーム アイテムが新しいコースに下書きとしてコピーされます。教師は、新しいコースに登録した生徒にストリーム アイテムを公開できます。生徒は元のコースとコピーされたコースの両方に登録されている場合があります。これは、生徒が留年したり、クラスを再受講したりした場合に発生することがあります。


図 1. 教師は、Classroom の縦の点線メニューに移動して [コピー] をクリックすることで、コースをコピーできます。教師は、ポップアップでコースの詳細を指定してコピーできます。
ストリーム アイテムを複数のコースに公開する
教師は、ストリーム アイテムの作成ページで、複数のコースにストリーム アイテムを公開できます。生徒が両方のコースに登録している可能性があります。
図 2. 教師は、ストリーム アイテムの作成ページのサイドバーにあるプルダウンをクリックして複数のコースを選択することで、ストリーム アイテムを複数のコースに公開できます。
投稿を再利用する
教師は、[授業] タブに移動して [作成] をクリックすることで、投稿を再利用できます。プルダウンから [投稿を再利用] をクリックしてクラスを選択し、再利用するストリーム アイテムを選択します。
図 3. 教師は、[授業] タブから投稿の再利用フローを開始し、[投稿を再利用] をクリックできます。


図 4. [投稿を再利用] をクリックすると、教師はクラスと再利用するストリーム アイテムを選択できます。
予想される動作
コースまたはストリーム アイテムがコピーされると、同じ生徒に同じアドオン添付ファイルが複数のコースにわたって割り当てられることがあります。iframe にエラーが表示されてはなりません。コピーされたストリーム アイテム内のアドオンの推奨動作は次のとおりです。
- 教師が
teacherViewUri
で添付ファイルをプレビューできることを確認します。- 教師が新しいコースに対して追加の設定を行う必要がある場合は、適切な対応策を教師に知らせるわかりやすいメッセージを表示します。
- 生徒が
studentViewUri
で新しいアドオンの添付ファイルを確認できることを確認します。- コンテンツ タイプの添付ファイルの場合、これは生徒が
studentViewUri
で見ることができるようにコンテンツを表示することを意味します。 - アクティビティ タイプの添付ファイルの場合、これは添付ファイルが未完了であり、生徒は別のコースの回答を確認できないことを意味します。
- 同じ生徒が添付ファイルを 2 回完了できないアドオンの場合は、シナリオを説明するわかりやすいメッセージや、問題を解決するためのパスを表示します。
- コンテンツ タイプの添付ファイルの場合、これは生徒が
- 教師がコピーしたストリーム アイテムの生徒の提出物を
studentWorkReviewUri
で確認できるようにします。教師は、別のコースの添付ファイルに対する生徒の提出物を閲覧できないようにする必要があります。
教師に表示される画面の iframe
教師が teacherViewUri
を起動すると、attachmentId
は courseId
、itemId
、itemType
、login_hint
に加えてクエリ パラメータとして送信されます(ユーザーがすでにアプリを承認している場合)。attachmentId
を使用すると、iframe に正しい添付ファイルを表示できます。
teacherViewUri
にクエリ パラメータのレコードがない場合は、AddOnAttachment
リソースの CopyHistory
オブジェクトを使用して、元のストリーム アイテムを特定できます。その後、teacherViewUri
に正しい添付ファイルを表示できます。
生徒に表示される画面の iframe
生徒が studentViewUri
を起動すると、attachmentId
は courseId
、itemId
、itemType
、login_hint
に加えてクエリ パラメータとして送信されます(ユーザーがすでにアプリを承認している場合)。ストリーム アイテムまたはコースがコピーされたときに 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
の複合キーを使用して生徒の課題を検索できます。