oat-sa / extension-tao-offline
一个辅助设置离线环境的扩展。通过测试中心标识设置同步和加密
Requires
- oat-sa/extension-tao-delivery-rdf: >=14.0.0
- oat-sa/extension-tao-encryption: >=6.0.0
- oat-sa/extension-tao-oauth: >=6.0.0
- oat-sa/extension-tao-proctoring: >=20.0.0
- oat-sa/extension-tao-publishing: >=6.0.0
- oat-sa/extension-tao-sync: >=8.0.0
- oat-sa/extension-tao-testcenter: >=10.0.0
- oat-sa/generis: >=14.0.0
- oat-sa/oatbox-extension-installer: ~1.1||dev-master
- oat-sa/tao-core: >=47.0.0
- dev-master
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.2.0.1
- v3.2.0
- v3.1.0
- v3.0.0
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4.0
- v2.2.1
- v2.2.0
- v2.0.1
- v2.0.0
- v1.3.0
- v1.2.0
- v1.1.0
- v0.3.0
- v0.2.0
- v0.1.1
- v0.1.0
- dev-feature/sonarqube-integration
- dev-develop
- dev-fix/update-autoRelease-action-with-bot-user
- dev-feature/DPF-451/resource-checksum-cache
- dev-release-2.4.3
- dev-remove-jenkinsfile
- dev-release-2.4.2.1
- dev-fix/TAO-8703/fix-swagger
- dev-test
- dev-feature/TAO-7191/create_sync_dashboard_on_central_server
- dev-feature/TAO-6669_assign-sync-manager
This package is auto-updated.
Last update: 2024-09-16 16:19:32 UTC
README
TAO Offline 功能为学校提供了在互联网连接不稳定的环境中进行评估的可能性。它使用虚拟机(VM)和中央服务器(CS)。评估在包含 TAO 安装以及测试的虚拟机上执行。最后,测试结果将与中央服务器同步。
安装说明
这些说明假设您已经在系统上安装了 TAO。如果没有,请访问package/tao并按照安装说明进行操作。
将扩展添加到您的 TAO composer 和自动加载器
composer require oat-sa/extension-tao-offline
从项目根目录通过 CLI 安装扩展
Linux
sudo php tao/scripts/installExtension oat-sa/extension-tao-offline
Windows
php tao\scripts\installExtension oat-sa/extension-tao-offline
作为系统管理员,您也可以通过 TAO 扩展管理器安装它
- 设置(菜单右侧的齿轮)-> 扩展管理器
- 在右侧选择 taoOffline,勾选复选框并点击 安装
同步和加密
同步
同步过程基于两个参与者,客户端服务器,它安装在虚拟机上,以及中央服务器。
设置客户端服务器
以下脚本需要在 TAO 实例上运行以创建客户端服务器
sudo -u www-data php index.php '\oat\taoOffline\scripts\tools\setup\SetupClientServer'
在已安装 extension-tao-encryption 的系统上,脚本将带有加密设置它。
通过执行以下命令将实例指向特定的服务器
sudo -u www-data php index.php '\oat\taoSync\scripts\tool\RegisterHandShakeRootURL' --rootUrl=http://tao-central.dev/
设置中央服务器
运行以下命令将 TAO 实例转换为中央服务器。
sudo -u www-data php index.php 'oat\taoOffline\scripts\tools\setup\SetupCentralServer'
同样,具有 taoEncryption
的实例将受益于加密。
可用的同步类型
- 中央服务器到虚拟机
- 测试中心
- 用户
- 交付
- 资格
- LTI 消费者
- 虚拟机到中央服务器
- 测试会话
- 结果
- 结果日志
- LTI 用户
工作流程概述
序列图
加密同步用户
每个用户都被分配了一个应用程序密钥,用于解密交付内容。可以在配置文件 config/taoSync/syncService.conf.php
中的 excludedProperties
下找到同步过程中排除的属性。加密的属性在 config/taoEncryption/encryptUserSyncFormatter.conf.php
中定义。
加密同步交付
在同步交付过程中,测试包被发送到客户端。客户端随后导入测试并生成交付。
注意:如果您正在同步已在虚拟机上存在的交付,将创建一个新的测试导入。
加密同步结果
结果 chunkSize
是一个重要的配置参数,需要预先设置;默认值为 10
。它可以根据结果中包含的变量数量进行设置。
例如,如果您有一个包含100个项目(这意味着大约400个变量)的测试,总请求将包含大约4000个变量。这种情况可能会导致服务器过载。在这种情况下,建议将chunkSize
减少到更小的值。
需要发送的结果的状态可以在config/taoSync/resultService.conf.php
中的statusExecutionsToSync
下进行配置。每个对服务器的请求都将包括结果的数量。在所有结果都发送完毕后,进程将停止。
同步结果 - 日志
每个结果日志都会与中央服务器同步,以维护测试的历史记录。每次请求发送的日志数量在config/taoSync/SyncDeliveryLogService.conf.php
中的配置中定义。