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'); + } + } }