内容分享¶
为了允许教师与其他人共享他们的课程内容并避免教师需要在课程之间复制问题文件,ZJUI-Learn 提供了一种将一门课程中的问题用于其他课程评估中的方法。
使用共享问题¶
要引用其他课程中的问题,请使用问题 ID (qid),前缀为 @ 符号和其他课程的共享名称。例如,要使用共享名称为 test-course 的课程中的问题 addNumbers,您可以将 @test-course/addNumbers 放入 assessmentInfo.json 中。在 assessmentInfo.json 的上下文中,这可能如下所示:
{
"zones": [
{
"title": "Question Sharing Example",
"comment": "These are new questions created for this exam",
"questions": [
{ "id": "addNumbers", "autoPoints": [10, 5, 3, 1, 0.5, 0.25] },
{ "id": "@test-course/addNumbers", "autoPoints": [10, 9, 7, 5] }
]
}
]
}
分享问题¶
Info
分享您自己的问题和评估是一项 Beta 功能。如果您的课程托管在官方 ZJUI-Learn 服务器上,您可以请求为您的课程打开问题共享。如果您管理自己的 ZJUI-Learn 服务器,此时您不应该使用问题共享。未来可能会支持跨ZJUI-Learn服务器的问题共享,因此此时在非官方服务器上开启问题共享可能会导致将来出现命名冲突。
共享名称¶
为了让其他课程在评估中使用您课程中的问题,您必须为您的课程选择_共享名称_,他们在使用它们时将其用作您的问题 ID 的前缀。此共享名称在所有 ZJUI-Learn 实例中都是唯一的,并且由于它将在其他课程的 JSON 文件中使用,因此一旦您选择了课程的共享名称,就无法更改它。建议您选择简短但具有描述性的内容。例如,如果您在一所大学教授微积分课程,该课程的缩写为“XYZ”,那么您可以选择共享名称“xyz-calculus”。然后其他课程将使用您课程中的问题,语法为 @xyz-calculus/qid。
两种分享方式:公开或通过“分享集”¶
问题可以公开共享,以便任何人都可以预览问题并在课程中使用它们,也可以使用共享集仅共享给特定的其他课程。
标记为共享的任何问题都将被考虑并显示为根据知识共享许可免费使用(CC-BY-NC-ND 对于 "sharePublicly": true,CC-BY-NC 对于 "shareSourcePublicly": true)。除 ZJUI-Learn 服务条款所述的用户内容许可证 之外,还授予此许可证。我们建议在共享问题的元数据中添加authors字段,以允许归属原作者(s)。
共享集¶
对未公开共享的共享问题的访问通过共享集进行控制。共享集是一组指定的问题,您可以将其一次性共享到其他课程。共享集系统的存在使得课程所有者可以有区别地共享他们的不同问题集。例如,教师可能只想与其部门中的其他课程共享一些问题,而与使用 ZJUI-Learn 的任何人共享其他问题。共享集是通过将它们添加到infoCourse.json 文件 来创建的。
与其他课程共享共享集¶
出于安全原因,建立一门课程与另一门课程共享问题的连接需要共享问题的课程(我们将在下文中称为“共享课程”)和使用所共享问题的课程(我们在下文中将其称为“消费课程”)的所有者协调一致的行动
要允许某人与您的课程分享问题,您必须向他们提供讲师设置页面的“共享”选项卡上列出的“共享令牌”。然后,共享课程必须使用您提供给他们的共享令牌将您的课程添加为他们的共享集之一的使用者。
客户端和服务器文件¶
使用 clientFilesQuestion 和 serverFilesCourse 的问题将按预期工作。目前不支持在问题中使用 clientFilesCourse。
如果共享课程尝试共享访问与课程实例或评估关联的客户端或服务器文件的问题,则该问题将无法按预期工作,因为使用课程无法在共享课程的课程实例或评估的上下文中使用它。
有关客户端和服务器文件的一般信息,请参阅客户端和服务器文件文档。
正如有权访问您课程中问题的任何人都可以访问 clientFilesQuestion 中的任何文件一样,有权访问您在课程中共享的任何问题的任何人也可以访问这些 clientFilesQuestion 文件。这意味着,如果您对课程有任何公开共享的问题,任何能够访问互联网的人都可以访问 clientFilesQuestion 目录来解答这些问题。此外,任何有权访问从您的课程共享的问题的人都将能够访问您的自定义课程元素中的客户资产,就像任何有权访问您的课程的学生都可以访问您的自定义课程元素中的客户资产一样。
使用共享集向课程共享问题的步骤¶
注意: 将问题添加到共享集中后,该问题将无法重命名、删除或从共享集中删除,因为这样做可能会破坏使用该共享问题的人员的评估。
- 在您的课程设置页面上,访问“共享”选项卡。
- 为您的课程选择一个共享名称。
- 通过将共享集添加到课程的
infoCourse.json文件来创建共享集。 - 让您想要与之分享问题的讲师或课程访问其课程设置页面上的“共享”选项卡,并向您提供其课程的共享令牌。
- 使用提供的共享令牌将其他讲师的课程添加为您创建的共享集的使用者。
- 将共享集添加到您要共享的问题的
info.json文件中的sharingSets列表中。 - 您与之分享该问题的课程现在可以通过在评估中引用该问题来使用该问题。
公开分享问题的步骤¶
注意: 一旦问题被公开共享,该问题就不能被重命名、删除或非公开共享,因为这样做可能会破坏使用共享问题的人的评估。共享问题的源代码可能无法完成。
- 在您的课程设置页面上,访问“共享”选项卡。
- 为您的课程选择一个共享名称。
- 将
"sharePublicly": true添加到您想要公开共享的问题的info.json文件中。 - (可选)如果您希望人们也能够查看和复制您的问题的源代码,请将
"shareSourcePublicly": true添加到info.json文件。 - 拥有 ZJUI-Learn 帐户的任何人都可以预览您的问题,并且任何 ZJUI-Learn 课程现在都可以通过在评估中引用它来使用它。
分享评估¶
您还可以公开共享整个评估,前提是评估引用的每个问题也都公开共享。共享评估时,可以在评估设置页面上找到其公共 URL。
共享评估的步骤¶
- 确保评估中的所有问题都有
"sharePublicly": true或"shareSourcePublicly": true。这是为了让其他人能够将您的评估复制到他们的课程中并保留对其所有问题的访问权限。当公开共享的评估复制到其他课程时,只有"shareSourcePublicly": true的问题也会被复制,而具有"sharePublicly": true的问题不会被复制,而是infoAssessment.json会引用共享课程中的问题。 - 将
"shareSourcePublicly": true添加到您想要公开共享的评估的infoAssessment.json文件中。
共享课程实例¶
如果课程实例中的每个评估都是共享的,则课程实例也可以标记为公开共享。共享课程实例时,可以在课程实例设置页面上找到其公共 URL。
共享课程实例的步骤¶
- 确保课程实例中的所有评估都有
"shareSourcePublicly": true。 - 将
"shareSourcePublicly": true添加到您想要公开共享的课程实例的infoCourseInstance.json文件中。