oat-sa / extension-tao-sync
TAO 离线客户端数据的同步。
Requires
- oat-sa/extension-tao-clientdiag: >=8.0.0
- oat-sa/extension-tao-delivery: >=15.0.0
- oat-sa/extension-tao-delivery-rdf: >=14.0.0
- oat-sa/extension-tao-item: >=11.0.0
- oat-sa/extension-tao-itemqti: >=27.0.0
- oat-sa/extension-tao-oauth: >=6.0.0
- oat-sa/extension-tao-outcome: >=13.0.0
- oat-sa/extension-tao-publishing: >=6.0.0
- oat-sa/extension-tao-task-queue: >=6.0.0
- oat-sa/extension-tao-testcenter: >=10.0.0
- oat-sa/extension-tao-testqti: >=41.0.0
- oat-sa/generis: >=14.0.0
- oat-sa/lib-generis-search: 2.1.2
- oat-sa/oatbox-extension-installer: ~1.1||dev-master
- oat-sa/tao-core: >=47.0.0
- dev-master
- v9.2.3
- v9.2.2
- v9.2.1
- v9.2.0
- v9.1.0
- v9.0.0
- v8.0.1
- v8.0.0
- v7.7.0.2
- v7.7.0.1
- v7.7.0
- v7.6.0
- v7.5.1
- v7.4.0
- v7.3.0
- v7.2.1
- v7.2.0
- v7.1.0
- v7.0.0
- v6.13.2
- v6.13.1
- v6.13.0.6
- v6.13.0.5
- v6.13.0.4
- v6.13.0.3
- v6.13.0.2
- v6.13.0.1
- v6.13.0
- v6.11.0
- v6.5.4
- v6.5.3
- v6.4.0
- v6.0.1
- v6.0.0
- v5.6.2
- v5.5.5
- v5.5.1
- v5.5.0
- v5.0.2
- v5.0.0
- v4.7.1
- v4.5.0
- v4.4.0
- v4.3.1
- v4.2.0
- v3.1.0
- v3.0.1
- v2.1.0
- v2.0.0
- v1.6.8
- v1.6.7.1
- v1.6.7
- v1.6.3.1
- v1.6.3
- v1.6.2.1
- v1.6.2
- v1.6.1.1
- v1.6.1
- v1.5.0.1
- v1.5.0
- v1.4.0.1
- v1.4.0
- v1.3.0.1
- v1.3.0
- v1.2.1.1
- v1.2.1
- v1.0.2
- v1.0.1
- v0.14.3
- v0.14.2
- v0.14.1
- v0.12.3
- v0.12.2
- v0.12.1
- v0.12.0
- v0.11.1
- v0.11.0
- v0.10.3
- v0.10.1
- v0.1.0
- dev-feature/sonarqube-integration
- dev-develop
- dev-fix/update-autoRelease-action-with-bot-user
- dev-feat/ADF-1047-fix-setup
- dev-release/7.7.0.2
- dev-release/v6.13.0.6
- dev-release/v6.13.0.5
- dev-release/v6.13.0.4
- dev-fix/TCA-764/use_csrf_token_verification_implemented_in_common_module
- dev-feature/DPF-451/resource-checksum-cache
- dev-release-6.13.0.3
- dev-remove-jenkinsfile
- dev-feature/box-id
- dev-feature/TAO-9043/import-on-client
- dev-feature/TAO-8740/tus_upload_service
- dev-fix/release_6.13.0.1
- dev-fix/TAO-9173/improve_handshake_performance
- dev-backport/depp-offline
- dev-fix/TAO-9149/update_fr_translations
- dev-feature/i18n-fr-fr
- dev-feature/TAO-8664/export-results-in-package
- dev-fix/TAO-8664/Installation_script_fix
- dev-depp-6.5.4
- dev-fix/TAO-8467/platform-report-exeption-handling
- dev-revert-142-fix/TAO-8467/platform-report-exeption-handling
- dev-feature/TAO-8386_sync_syncmanager_data_during_login
- dev-fix/TAO-7854/fix_problem_with_new_token_sevice
- dev-feature/TAO-7888-with-TAO-7854-connections-speed-data
- dev-feature/TAO-7854/collect_connection_stats_during_syn
- dev-feature/TAO-7782/modify_error_message
- dev-feature/TAO-7782/register_vm_version_checker
- dev-release-4.4.0
- dev-feature/TAO-7237/cast_sync_id_to_int
- dev-test/packagist2
- dev-feature/TAO-7191/create_synchronization_events_and_listeners
- dev-feature/TAO-7191/create-sync_log_service
- dev-feature/TAO-7191/create_sync_dashboard_on_central_server
- dev-test/packagist
- dev-depp/TAO-7070
- dev-backport/v1.6.7.1
- dev-backport/v1.6.3.1
- dev-backport/sprint85.1
- dev-backport/v1.6.1.1
- dev-backport/v1.5.0.1
- dev-backport/v1.4.0.1
- dev-backport/1.3.0.1
- dev-backport/1.2.1.1
- dev-fix/TAO-6612/delete-delivery-if-fails
- dev-fix/use-POST-instead-of-GET
- dev-integration/iave-synchronisation
This package is auto-updated.
Last update: 2024-09-16 16:10:03 UTC
README
此扩展的目的是同步本地和远程服务器。
所有类型的数据和结果都可以同步。所有HTTP请求都必须按照OAuth 2标准进行签名,所有数据都进行了加密。
重要提示:虽然本文使用美式拼写在某些历史原因下,一些命令行指令使用英国拼写在某些历史原因下,例如 synchronisation
而不是 synchronization
!
安装说明
这些说明假设您已经在系统上安装了TAO。如果没有,请访问 package/tao 并遵循安装说明。
将扩展添加到TAO composer和自动加载器
composer require oat-sa/extension-tao-sync
从项目根目录使用CLI安装扩展
Linux
sudo php tao/scripts/installExtension oat-sa/extension-tao-sync
Windows
php tao\scripts\installExtension oat-sa/extension-tao-sync
作为系统管理员,您也可以通过TAO扩展管理器安装它
- 设置(菜单右侧的齿轮)-> 扩展管理器
- 在右侧选择 taoSync,勾选复选框并单击 安装
同步
数据同步
在准备交付执行之前,同步过程需要从中央服务器获取以下类型的数据对象
test-center
管理员
监考官
应试者
资格
交付
在 taoSync/syncService
配置中将 chunkSize
参数设置为定义每个请求的数据量,$type
指的是上面的列表,例如 test-center
$ sudo -u www-data php index.php '\oat\taoSync\scripts\tool\synchronisation\SynchronizeData' [--type=$type]
当发布交付时,它导出QTI测试包的快照。这个快照将在同步过程中使用。
结果同步
一旦客户端服务器有了交付结果,一个脚本就会将其发送到中央服务器。只有完成的交付执行将被发送,结果只会提交一次。当发送交付执行时,同步历史将被更新以记录操作。您可以将 deleteAfterSend
参数设置为 true
来在同步后删除结果。
要配置每个请求的数据量,请在 taoSync/resultService
配置中使用 chunkSize
参数。
执行以下命令来同步结果
$ sudo -u www-data php index.php '\oat\taoSync\scripts\tool\synchronisation\SynchronizeResult'
同步所有数据和结果
要同时同步数据和结果,请使用以下命令
$ sudo -u www-data php index.php '\oat\taoSync\scripts\tool\synchronisation\SynchronizeAll'
OAuth凭证
生成凭证以允许用户连接到平台
此命令创建一个带有OAuth凭证的消费者。
$ sudo -u www-data php index.php '\oat\taoSync\scripts\tool\OAuth\GenerateOAuthCredentials'
此命令的输出将包含以下数据
密钥
密钥
令牌URL
注意:将 -cmd
标志添加到此命令以在客户端服务器上执行。
将OAuth凭证导入到客户端服务器
以下命令将您上面创建的消费者导入到客户端服务器。参数是前面命令的输出,$rootUrl
是主机服务器的域名。
$ sudo -u www-data php index.php 'oat\taoSync\scripts\tool\OAuth\ImportOAuthCredentials' -k $key -s $secret -tu $tokenUrl -u $rootUrl
将同步范围限制为测试中心标识符
为了能够将同步操作绑定到测试中心的组织ID,平台需要注册一个test-center
属性。SyncService还必须注册新的同步器,以便按组织ID进行处理。
$ sudo -u www-data php index.php '\oat\taoSync\scripts\tool\RegisterSyncServiceByOrgId'
注意 测试中心组织ID是http://www.taotesting.com/ontologies/synchro.rdf#organisationId