OSID Logo
OSID Specifications
assessment package
Version 3.0.0
Release Candidate Preview
Interfaceosid.assessment.ItemAdminSession
Implementsosid.OsidSession
Description

This session creates, updates, and deletes Items. The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create an Item, an ItemForm is requested using getItemFormForCreate() specifying the desired record Types or none if no record Types are needed. The returned ItemForm will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once the ItemForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each ItemForm corresponds to an attempted transaction.

For updates, ItemForms are requested to the ItemForm Id that is to be updated using getItemFormForUpdate(). Similarly, the ItemForm has metadata about the data that can be updated and it can perform validation before submitting the update. The ItemForm can only be used once for a successful update and cannot be reused.

The delete operations delete ItemForm. To unmap an ItemForm from the current Bank, the ItemBankAssignmentSession should be used. These delete operations attempt to remove the Item itself thus removing it from all known Bank catalogs.

This session includes an Id aliasing mechanism to assign an external Id to an internally assigned Id.

MethodgetBankId
Description

Gets the Bank Id associated with this session.

Returnosid.id.Idthe Bank Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetBank
Description

Gets the Bank associated with this session.

Returnosid.assessment.Bankthe Bank associated with this session
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanCreateItems
Description

Tests if this user can create Items. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating an Item will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returnboolean false if Item creation is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanCreateItemWithRecordTypes
Description

Tests if this user can create a single Item using the desired record types. While AssessmentManager.getItemRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Item. Providing an empty array tests if an Item can be created with no records.

Parametersosid.type.Type[]itemRecordTypesarray of item record types
Returnboolean true if Item creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT itemRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetItemFormForCreate
Description

Gets the assessment item form for creating new assessment items. A new form should be requested for each create transaction.

Parametersosid.type.Type[]itemRecordTypesarray of item record types to be included in the create operation or an empty list if none
Returnosid.assessment.ItemFormthe assessment item form
ErrorsNULL_ARGUMENT itemRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
MethodcreateItem
Description

Creates a new Item.

Parametersosid.assessment.ItemFormitemFormthe form for this Item
Returnosid.assessment.Itemthe new Item
ErrorsILLEGAL_STATE itemForm already used in a create transaction
INVALID_ARGUMENTone or more of the form elements is invalid
NULL_ARGUMENT itemForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED itemForm did not originate from getItemFormForCreate()
CompliancemandatoryThis method must be implemented.
MethodcanUpdateItems
Description

Tests if this user can update Items. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating an Item will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returnboolean false if assessment item modification is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodgetItemFormForUpdate
Description

Gets the assessment item form for updating an existing item. A new item form should be requested for each update transaction.

Parametersosid.id.IditemIdthe Id of the Item
Returnosid.assessment.ItemFormthe assessment item form
ErrorsNOT_FOUND itemId is not found
NULL_ARGUMENT itemId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodupdateItem
Description

Updates an existing item.

Parametersosid.assessment.ItemFormitemFormthe form containing the elements to be updated
ErrorsILLEGAL_STATE itemForm already used in an update transaction
INVALID_ARGUMENTthe form contains an invalid value
NULL_ARGUMENT itemForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED itemForm did not originate from getItemFormForUpdate()
CompliancemandatoryThis method must be implemented.
MethodcanDeleteItems
Description

Tests if this user can delete Items. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting an Item will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returnboolean false if Item deletion is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoddeleteItem
Description

Deletes the Item identified by the given Id.

Parametersosid.id.IditemIdthe Id of the Item to delete
ErrorsNOT_FOUNDan Item was not found identified by the given Id
NULL_ARGUMENT itemId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodcanManageItemAliases
Description

Tests if this user can manage Id aliases for Items. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.

Returnboolean false if Item aliasing is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodaliasItem
Description

Adds an Id to an Item for the purpose of creating compatibility. The primary Id of the Item is determined by the provider. The new Id is an alias to the primary Id. If the alias is a pointer to another item, it is reassigned to the given item Id.

Parametersosid.id.IditemIdthe Id of an Item
osid.id.IdaliasIdthe alias Id
ErrorsALREADY_EXISTS aliasId is in use as a primary Id
NOT_FOUND itemId not found
NULL_ARGUMENT itemId or aliasId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodcanCreateQuestions
Description

Tests if this user can create Questions. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a Question will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returnboolean false if Question creation is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanCreateQuestionWithRecordTypes
Description

Tests if this user can create a single Question using the desired record types. While AssessmentManager.getQuestionRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Question. Providing an empty array tests if a Question can be created with no records.

Parametersosid.type.Type[]questionRecordTypesarray of question record types
Returnboolean true if Question creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT questionRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetQuestionFormForCreate
Description

Gets the question form for creating new questions. A new form should be requested for each create transaction.

Parametersosid.id.IditemIdan assessment item Id
osid.type.Type[]questionRecordTypesarray of question record types to be included in the create operation or an empty list if none
Returnosid.assessment.QuestionFormthe question form
ErrorsNULL_ARGUMENT questionRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
MethodcreateQuestion
Description

Creates a new Question.

Parametersosid.assessment.QuestionFormquestionFormthe form for this Question
Returnosid.assessment.Questionthe new Question
ErrorsALREADY_EXISTSa question already exists for this item
ILLEGAL_STATE questionForm already used in a create transaction
INVALID_ARGUMENTone or more of the form elements is invalid
NULL_ARGUMENT questionForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED questionForm did not originate from getQuestionFormForCreate()
CompliancemandatoryThis method must be implemented.
MethodcanUpdateQuestions
Description

Tests if this user can update Questions. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a Question will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returnboolean false if question modification is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodgetQuestionFormForUpdate
Description

Gets the question form for updating an existing question. A new question form should be requested for each update transaction.

Parametersosid.id.IdquestionIdthe Id of the Question
Returnosid.assessment.QuestionFormthe question form
ErrorsNOT_FOUND questionId is not found
NULL_ARGUMENT questionId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodupdateQuestion
Description

Updates an existing question.

Parametersosid.assessment.QuestionFormquestionFormthe form containing the elements to be updated
ErrorsILLEGAL_STATE questionForm already used in an update transaction
INVALID_ARGUMENTthe form contains an invalid value
NULL_ARGUMENT questionForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED questionForm did not originate from getQuestionFormForUpdate()
CompliancemandatoryThis method must be implemented.
MethodcanDeleteQuestions
Description

Tests if this user can delete Questions. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a Question will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returnboolean false if Question deletion is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoddeleteQuestion
Description

Deletes the Question identified by the given Id.

Parametersosid.id.IdquestionIdthe Id of the Question to delete
ErrorsNOT_FOUNDa Question was not found identified by the given Id
NULL_ARGUMENT questionId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodcanCreateAnswers
Description

Tests if this user can create Answers. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a Answer will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returnboolean false if Answer creation is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanCreateAnswersWithRecordTypes
Description

Tests if this user can create a single Answer using the desired record types. While AssessmentManager.getAnswerRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Answer. Providing an empty array tests if an Answer can be created with no records.

Parametersosid.type.Type[]answerRecordTypesarray of answer record types
Returnboolean true if Answer creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT answernRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetAnswerFormForCreate
Description

Gets the answer form for creating new answers. A new form should be requested for each create transaction.

Parametersosid.id.IditemIdan assessment item Id
osid.type.Type[]answerRecordTypesarray of answer record types to be included in the create operation or an empty list if none
Returnosid.assessment.AnswerFormthe answer form
ErrorsNULL_ARGUMENT answerRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
MethodcreateAnswer
Description

Creates a new Answer.

Parametersosid.assessment.AnswerFormanswerFormthe form for this Answer
Returnosid.assessment.Answerthe new Answer
ErrorsILLEGAL_STATE answerForm already used in a create transaction
INVALID_ARGUMENTone or more of the form elements is invalid
NULL_ARGUMENT answerForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED answerForm did not originate from getAnswerFormForCreate()
CompliancemandatoryThis method must be implemented.
MethodcanUpdateAnswers
Description

Tests if this user can update Answers. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating an Answer will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returnboolean false if answer modification is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodgetAnswerFormForUpdate
Description

Gets the answer form for updating an existing answer. A new answer form should be requested for each update transaction.

Parametersosid.id.IdanswerIdthe Id of the Answer
Returnosid.assessment.AnswerFormthe answer form
ErrorsNOT_FOUND answerId is not found
NULL_ARGUMENT answerId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.
MethodupdateAnswer
Description

Updates an existing answer.

Parametersosid.assessment.AnswerFormanswerFormthe form containing the elements to be updated
ErrorsILLEGAL_STATE answerForm already used in an update transaction
INVALID_ARGUMENTthe form contains an invalid value
NULL_ARGUMENT answerForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNSUPPORTED answerForm did not originate from getAnswerFormForUpdate()
CompliancemandatoryThis method must be implemented.
MethodcanDeleteAnswers
Description

Tests if this user can delete Answers. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting an Answer will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returnboolean false if Answer deletion is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoddeleteAnswer
Description

Deletes the Answer identified by the given Id.

Parametersosid.id.IdanswerIdthe Id of the Answer to delete
ErrorsNOT_FOUNDan Answer was not found identified by the given Id
NULL_ARGUMENT answerId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
CompliancemandatoryThis method must be implemented.