From 3294d9407ee7de65345b4d6bce55c45994a45466 Mon Sep 17 00:00:00 2001 From: Mikhail Kamarouski Date: Tue, 26 Mar 2019 11:16:37 +0300 Subject: [PATCH] Initial commit; communication action placeholders added; --- manifest.php | 2 +- .../synchronisation/action/GetAllItems.php | 43 +++++++++++++++++++ .../synchronisation/action/GetFirstItem.php | 43 +++++++++++++++++++ .../runner/synchronisation/action/Init.php | 43 +++++++++++++++++++ scripts/install/SetSynchronisationService.php | 8 +++- scripts/update/Updater.php | 28 ++++++++++++ 6 files changed, 165 insertions(+), 2 deletions(-) create mode 100644 models/classes/runner/synchronisation/action/GetAllItems.php create mode 100644 models/classes/runner/synchronisation/action/GetFirstItem.php create mode 100644 models/classes/runner/synchronisation/action/Init.php diff --git a/manifest.php b/manifest.php index 7dc1e47e78..204abddaf8 100755 --- a/manifest.php +++ b/manifest.php @@ -39,7 +39,7 @@ 'label' => 'QTI test model', 'description' => 'TAO QTI test implementation', 'license' => 'GPL-2.0', - 'version' => '32.3.2', + 'version' => '32.4.0', 'author' => 'Open Assessment Technologies', 'requires' => array( 'taoQtiItem' => '>=18.0.0', diff --git a/models/classes/runner/synchronisation/action/GetAllItems.php b/models/classes/runner/synchronisation/action/GetAllItems.php new file mode 100644 index 0000000000..a2b7dc7689 --- /dev/null +++ b/models/classes/runner/synchronisation/action/GetAllItems.php @@ -0,0 +1,43 @@ + Skip::class, 'storeTraceData' => StoreTraceData::class, 'timeout' => Timeout::class, - 'getNextItemData' => NextItemData::class + 'getNextItemData' => NextItemData::class, + 'init' => Init::class, + 'getFirstItem' => GetFirstItem::class, + 'getAllItems' => GetAllItems::class, ]; $service->setAvailableActions(array_merge($actions, $newActions)); diff --git a/scripts/update/Updater.php b/scripts/update/Updater.php index 02050c0749..ea024267f5 100644 --- a/scripts/update/Updater.php +++ b/scripts/update/Updater.php @@ -29,6 +29,9 @@ use oat\taoQtiTest\models\runner\OfflineQtiRunnerService; use oat\taoQtiTest\models\runner\rubric\QtiRunnerRubric; use oat\taoQtiTest\models\runner\StorageManager; +use oat\taoQtiTest\models\runner\synchronisation\action\GetAllItems; +use oat\taoQtiTest\models\runner\synchronisation\action\GetFirstItem; +use oat\taoQtiTest\models\runner\synchronisation\action\Init; use oat\taoQtiTest\models\runner\synchronisation\action\Pause; use oat\taoQtiTest\models\runner\synchronisation\action\NextItemData; use oat\taoQtiTest\models\runner\synchronisation\SynchronisationService; @@ -1778,5 +1781,30 @@ public function update($initialVersion) { } $this->skip('32.1.0', '32.3.2'); + + if ($this->isVersion('32.3.2')) { + + $synchronisationService = $this->getServiceManager()->get(SynchronisationService::SERVICE_ID); + $actions = $synchronisationService->getAvailableActions(); + + $actions['init'] = Init::class; + $actions['getFirstItem'] = GetFirstItem::class; + $actions['getAllItems'] = GetAllItems::class; + + $synchronisationService->setAvailableActions($actions); + $this->getServiceManager()->register(SynchronisationService::SERVICE_ID, $synchronisationService); + + + $extension = $this->getServiceManager()->get(\common_ext_ExtensionsManager::SERVICE_ID)->getExtensionById('taoQtiTest'); + $config = $extension->getConfig('testRunner'); + $config['bootstrap']['communication']['syncActions'][] = 'init'; + $config['bootstrap']['communication']['syncActions'][] = 'getFirstItem'; + $config['bootstrap']['communication']['syncActions'][] = 'getAllItems'; + $extension->setConfig('testRunner', $config); + + + $this->setVersion('32.4.0'); + } + } }