tao-test/app/taoResultServer/models/classes/interface.ReadableResultStorage.php

156 lines
5.7 KiB
PHP

<?php
/**
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; under version 2
* of the License (non-upgradable).
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Copyright (c) 2013 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
*
*/
interface taoResultServer_models_classes_ReadableResultStorage
{
/**
* get the complete variables list stored for a call id (item or test)
* @param string|array $callId an execution identifier
* @return array that contains the variables related to the call id
* Array
*(
* [uri] => Array
* (
* [0] => stdClass Object
* (
* [uri] => uri
* [class] => taoResultServer_models_classes_ResponseVariable
* [deliveryResultIdentifier] => http://tao.localdomain:8888/tao.rdf#i14176019092304877
* [callIdItem] => http://tao.localdomain:8888/tao.rdf#i14176019092304877.item-1.0
* [callIdTest] =>
* [test] => http://tao.localdomain:8888/tao.rdf#i14175986702737865-
* [item] => http://tao.localdomain:8888/tao.rdf#i141631732273405
* [variable] => taoResultServer_models_classes_ResponseVariable Object
* (
* [correctResponse] =>
* [candidateResponse] => MQ==
* [identifier] => numAttempts
* [cardinality] => single
* [baseType] => integer
* [epoch] => 0.28031200 1417601924
* )
*
* )
*
* )
*
* [uri2] => Array
* (
* [0] => stdClass Object
* (
* [uri] => uri2
* [class] => taoResultServer_models_classes_OutcomeVariable
* [deliveryResultIdentifier] => http://tao.localdomain:8888/tao.rdf#i14176019092304877
* [callIdItem] => http://tao.localdomain:8888/tao.rdf#i14176019092304877.item-1.0
* [callIdTest] =>
* [test] => http://tao.localdomain:8888/tao.rdf#i14175986702737865-
* [item] => http://tao.localdomain:8888/tao.rdf#i141631732273405
* [variable] => taoResultServer_models_classes_OutcomeVariable Object
* (
* [normalMaximum] =>
* [normalMinimum] =>
* [value] => Y29tcGxldGVk
* [identifier] => completionStatus
* [cardinality] => single
* [baseType] => identifier
* [epoch] => 0.28939600 1417601924
* )
*
* )
*
* )
*
*)
*/
public function getVariables($callId);
/**
* Get The variable that match params
* @param string $callId an execution identifier
* @param string $variableIdentifier the identifier of the variable
* @return array variable that match call id and variable identifier
* Array
*(
* [uri] => Array
* (
* [0] => stdClass Object
* (
* [uri] => uri
* [class] => taoResultServer_models_classes_OutcomeVariable
* [deliveryResultIdentifier] => MyDeliveryResultIdentifier#1
* [callIdItem] => MyCallId#2
* [callIdTest] =>
* [test] => MyGreatTest#2
* [item] => MyGreatItem#2
* [variable] => taoResultServer_models_classes_OutcomeVariable Object
* (
* [normalMaximum] =>
* [normalMinimum] =>
* [value] => TXlWYWx1ZQ==
* [identifier] => Identifier
* [cardinality] => multiple
* [baseType] => float
* [epoch] => 0.58277800 1417621663
* )
*
* )
*
* )
*
*)
*/
public function getVariable($callId, $variableIdentifier);
/**
* Get the test taker id related to one specific delivery execution
* @param string $deliveryResultIdentifier the identifier of the delivery execution
* @return string the uri of the test taker related to the delivery execution
*/
public function getTestTaker($deliveryResultIdentifier);
/**
* Get the delivery id related to one specific delivery execution
* @param string $deliveryResultIdentifier the identifier of the delivery execution
* @return string the uri of the delivery related to the delivery execution
*/
public function getDelivery($deliveryResultIdentifier);
/**
* Get the entire list of call ids that are stored (item or test)
* @return array the list of executions ids (across all results)
*/
public function getAllCallIds();
/**
* get all the ids of test taker that have attempt a test
* @return array of all test taker ids array(array('deliveryResultIdentifier' => 123, 'testTakerIdentifier' => 456))
*/
public function getAllTestTakerIds();
/**
* get all the ids of delivery that are stored
* @return array of all delivery ids array(array('deliveryResultIdentifier' => 123, 'deliveryIdentifier' => 456))
*/
public function getAllDeliveryIds();
}