Обработка скопированного контента

Teachers can copy stream items in Classroom. Doing so also copies the add-on attachments that are contained within the stream items. This saves teachers a lot of time when creating learning content for multiple sections or for new sections each school year.

Когда преподаватели копируют элементы потока в Classroom, скопированный элемент потока имеет другие параметры запроса courseId , itemId и attachmentId по сравнению с исходным элементом потока.

Как скопировать контент

В следующих разделах описано, как учителя могут копировать элементы потока в Classroom.

Скопировать курс

When copying a course, all of the stream items in the course are copied to the new course as drafts. The teacher may then publish the stream items to students enrolled in the new course. A student may be enrolled in the original course and the copied course. This can happen if a student is held back or retaking a class.

Рисунок 1. Преподаватели могут копировать курсы, перейдя в вертикальное пунктирное меню в Classroom и нажав кнопку «Копировать» . Затем преподаватель может указать подробности о курсе во всплывающем окне и скопировать его.

Опубликовать элемент потока в нескольких курсах

Преподаватель может опубликовать запись в потоке информации для нескольких курсов через страницу создания записей в потоке. При этом студент может быть зачислен на оба курса.

Рисунок 2. Преподаватели могут опубликовать элемент потока в нескольких курсах, щелкнув раскрывающийся список на боковой панели страницы создания элемента потока и выбрав несколько курсов.

Повторное использование публикации

Учитель может повторно использовать сообщение, перейдя на вкладку «Задания» и нажав «Создать» . В выпадающем списке он может выбрать «Повторно использовать сообщение» , чтобы выбрать класс, а затем выбрать элемент потока для повторного использования.

Рисунок 3. Преподаватели могут начать процесс повторного использования публикации на вкладке «Задания для класса» , нажав кнопку «Повторное использование публикации» .

Рисунок 4. После нажатия кнопки «Повторное использование» учителя могут выбрать класс и элемент потока, который они хотят использовать повторно.

Ожидаемое поведение

When a course or stream item is copied, the same student may be assigned the same add-on attachment across different courses. Users must not see an error in the iframe. The recommended behavior for add-ons in the copied stream item is to:

  1. Убедитесь, что преподаватели по-прежнему могут предварительно просмотреть вложенный файл в teacherViewUri .
    • Если преподавателю необходимо выполнить дополнительную настройку нового курса, отобразите понятное пользователю сообщение, информирующее преподавателя о соответствующих действиях.
  2. Убедитесь, что студенты видят новое дополнительное приложение в поле studentViewUri .
    • Для вложений типа «контент» это означает отображение контента для просмотра студентом в studentViewUri .
    • В случае прикрепленных файлов, представляющих собой задания , это означает, что файл неполный, и студент не сможет увидеть свои ответы из другого курса.
    • Если ваше дополнение не позволяет одному и тому же студенту выполнить прикрепление дважды, отобразите понятное пользователю сообщение, описывающее ситуацию или указывающее путь решения проблемы.
  3. Ensure that teachers see the student submission from the copied stream item in the studentWorkReviewUri . The teacher shouldn't be able to see a student's submission for the attachment from another course.

iframe "Просмотр для учителя"

When a teacher launches the teacherViewUri , the attachmentId is sent as a query parameter in addition to courseId , itemId , itemType , and login_hint (if the user has already authorized your app). The attachmentId can be used to display the correct attachment in the iframe.

If you don't have a record of the query parameters on the teacherViewUri , you can use the CopyHistory object in the AddOnAttachment resource to identify the original stream item. Then, you can display the correct attachment in the teacherViewUri .

iframe "Просмотр студента"

When a student launches the studentViewUri , the attachmentId is sent as a query parameter in addition to courseId , itemId , itemType , and login_hint (if the user has already authorized your app). In order to render the studentViewUri when a stream item or course is copied, use two parameters:

attachmentId — это уникальный идентификатор вложения. Однако уникальность submissionId не гарантируется. Поэтому скопированный или повторно используемый элемент потока может иметь другой attachmentId , но submissionId может остаться прежним. Когда студент запускает studentViewUri , вы можете отобразить вложение, идентифицируя работу студента на основе составного ключа attachmentId и submissionId .

Если отображение studentViewUri основано только на submissionId , существует риск показать студенту его работу из другого курса, поскольку уникальность submissionId не гарантируется.

Как упоминалось ранее, если вы не можете определить attachmentId , вы можете использовать объект CopyHistory в ресурсе AddOnAttachment , чтобы определить исходный элемент потока и его параметры запроса.

iframe для проверки студенческих работ

Когда преподаватель запускает studentWorkReviewUri , помимо courseId , itemId и itemType , в качестве параметров запроса передаются attachmentId и submissionId . Эти параметры запроса можно использовать для получения ресурса AddOnAttachment или CopyHistory , если не удается определить предоставленный attachmentId . Это позволяет искать работы студентов, используя составной ключ из attachmentId и submissionId .