Update.Course.Element.CustomActivity.Assessment

This method will update assessment records of a custom assessment element.

Action

This type of message will update assessments of a custom activity in a course. Each custom activity is identified using course id or synchronization key (sync key) and element id or sync key associated with it during creation. Each person in result array should be identified by itslearning id or synchronization key. The Status parameter sets the task status for each participant. The Status is used to indicate the state of the participant’s task: Not started, Completed. This is used throughout itslearning in e.g. the task list and progress report. The Evaluator is defining the user who made the evaluation. It is possible to remove the current assessment or comment, by specifying xsi:nil="true" attribute.

Scenario

In order to update assessments for a custom activity: Add a message with the type corresponding to Update.Course.Element.CustomActivity.Assessment. The result of that message processing can be acquired using GetMessageResult method with message identifier as an input parameter.

Input

Name

Description

Remarks

Type

M/O

Nullable (nillable="true" in schema)

Message Type

Type of Message.


UpdateCourseElementCustomActivityAssessment

M


SiteId

Site where action will be executed


Int

O


VendorId

VendorId which will be associated with created content


Text

O


CourseId

ID of the course where the element is to be updated.

You are not allowed to enter both CourseId and CourseSyncKey.

Integer

O/M


CourseSyncKey

SyncKey of the course where the element is to be updated.

Text

O/M


ElementId

ID of the custom activity's element to update. Used interchangeably with ElementSyncKey.

You are not allowed to enter both ElementId and ElementSyncKey.


Integer

O/M


ElementSyncKey

SyncKey of the custom activity's element to updated. Used interchangeably with ElementId.

Text

O/M


EvaluatorPersonId

Evaluator's itslearning person identifier.

You are not allowed to enter both EvaluatorPersonId and EvaluatorPersonSyncKey.

Integer

O/M


EvaluatorPersonSyncKey

Evaluator's person synchronization key

Text

O/M


Results

Array of result elements.


Object

M


Result

Result element


Object

M


ParticipantPersonId

Participant's itslearning person identifier

You are not allowed to enter both PersonId and PersonSyncKey.


Integer

O/M


ParticipantPersonSyncKey

Participant's person synchronization key

Text

O/M


AssessmentItemId

If assessment scale is used for element, it is required to use assessment item id to specified results

The request should contain at least one of the following: Comment, Score, Status, AssessmentItemId, Score. AssessmentItemId can't be used with combination of Score. The values can be set to 'nil' to clear the existing information.



Integer

O/M

Y

Score

If score is used for element, it is required to use it for specifying results

Double

O/M

Y

Status

The status of the result. When it's not set, but AssessmentItemId / Score is specified then it is set to completed.

Enumeration: NotStarted, Completed

O/M

Y

Comment

Optional text comment field (HTML formatted). The field is whitelist filtered.

Text

O/M

Y

Output

Finished Status:

If custom activity's assessment was updated successfully, the API returns 'Result updated successfully' information message and optionally - warnings, for each result updated.

Warning Status:

  1. User with specified ParticipantPersonId/ParticipantPersonSyncKey is not valid.

  2. User with specified ParticipantPersonId/ParticipantPersonSyncKey is deleted.

  3. Participant specified is not a participant for this activity.

  4. Assessment item id is not valid for assessment used.

  5. Assessment is using score, please use score field instead of assessment item id.

  6. Assessment is using assessment scale, please use assessment item id instead of score.

  7. Assessment is not being used, assessment will be ignored.

Errors Status:

Some error messages only return error codes. In this case, refer to the codes next to the messages e.g. [Error Code: ...], to get a more detailed message.

  1. Invalid format / parameters (different to specified schema).

  2. Course does not exist.

  3. Course is deleted.

  4. Course is archived.

  5. Element is not within the course specified.

  6. Element is deleted.

  7. Your security settings doesn't allow you to perform that operation. Please contact administration to grant you an access to {HieararchyName} organisation.

  8. Participant is not a course member.

  9. Evaluator is not a course member.

  10. Evaluator does not have evaluator privilege to this activity.

  11. User with specified EvaluatorPersonId/EvaluatorPersonSyncKey is not valid.

  12. User with specified EvaluatorPersonId/EvaluatorPersonSyncKey is deleted.

  13. User with specified EvaluatorPersonId/EvaluatorPersonSyncKey is external.

Schema

Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:message-schema"
elementFormDefault="qualified"
targetNamespace="urn:message-schema">
<xs:element name="Message" type="MessageType" />
<xs:complexType name="MessageType">
<xs:sequence>
<xs:element name="UpdateCourseElementCustomActivityAssessment" type="UpdateCourseElementCustomActivityType" />
</xs:sequence>
</xs:complexType>
 
<xs:complexType name="UpdateCourseElementCustomActivityType">
<xs:sequence>
<xs:choice id="Course">
<xs:element name="CourseId" type="xs:integer" />
<xs:element name="CourseSyncKey" type="xs:string" />
</xs:choice>
<xs:choice id="Element">
<xs:element name="ElementId" type="xs:integer" />
<xs:element name="ElementSyncKey" type="xs:string" />
</xs:choice>
<xs:choice id="Evaluator">
<xs:element name="EvaluatorPersonId" type="xs:integer" />
<xs:element name="EvaluatorPersonSyncKey" type="xs:string" />
</xs:choice>
<xs:element name="Results" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Result" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:choice id="Participant">
<xs:element name="ParticipantPersonId" type="xs:integer" />
<xs:element name="ParticipantPersonSyncKey" type="xs:string" />
</xs:choice>
<xs:choice>
<xs:sequence>
<xs:choice id="Assesment">
<xs:element name="AssessmentItemId" type="xs:integer" nillable="true" />
<xs:element name="Score" type="xs:double" nillable="true" />
</xs:choice>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:element name="Status" type="StatusType" />
<xs:element name="Comment" type="xs:string" minOccurs="0" nillable="true" />
</xs:sequence>
<xs:element name="Comment" type="xs:string" nillable="true" />
</xs:choice>
</xs:sequence>
<xs:choice>
<xs:sequence>
<xs:element name="Status" type="StatusType" />
<xs:element name="Comment" type="xs:string" minOccurs="0" nillable="true" />
</xs:sequence>
<xs:element name="Comment" type="xs:string" nillable="true" />
</xs:choice>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="StatusType">
<xs:restriction base="xs:string">
<xs:enumeration value="NotStarted"/>
<xs:enumeration value="Ongoing"/>
<xs:enumeration value="Completed"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

Examples

Message content example

Sample request
<Message xmlns="urn:message-schema" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UpdateCourseElementCustomActivityAssessment>
<CourseId>1055</CourseId>
<ElementId>11939</ElementId>
<EvaluatorPersonId>1</EvaluatorPersonId>
<Results>
<Result>
<ParticipantPersonId>107893</ParticipantPersonId>
<AssessmentItemId>6</AssessmentItemId>
<Comment i:nil="true" />
</Result>
<Result>
<ParticipantPersonId>1111</ParticipantPersonId>
<Comment i:nil="true" />
</Result>
<Result>
<ParticipantPersonSyncKey>10</ParticipantPersonSyncKey>
<AssessmentItemId>3</AssessmentItemId>
</Result>
<Result>
<ParticipantPersonId>4</ParticipantPersonId>
<AssessmentItemId>6</AssessmentItemId>
</Result>
<Result>
<ParticipantPersonId>9</ParticipantPersonId>
<AssessmentItemId>4</AssessmentItemId>
<Comment>Well done</Comment>
</Result>
</Results>
</UpdateCourseElementCustomActivityAssessment>
</Message>

Output examples

Sample response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2013-05-24T10:35:34.882Z</u:Created>
<u:Expires>2013-05-24T10:40:34.882Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<AddMessageResponse xmlns="http://tempuri.org/">
<AddMessageResult xmlns:a="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Services.Entities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:MessageId>357</a:MessageId>
<a:Status>Errors</a:Status>
<a:StatusDetails>
<a:DataMessageStatusDetail>
<a:Entity>107893</a:Entity>
<a:Message>Result updated successfully.</a:Message>
<a:SyncKey/>
<a:Type>Info</a:Type>
</a:DataMessageStatusDetail>
<a:DataMessageStatusDetail>
<a:Entity>1111</a:Entity>
<a:Message>Participant is deleted.</a:Message>
<a:SyncKey/>
<a:Type>Warning</a:Type>
</a:DataMessageStatusDetail>
<a:DataMessageStatusDetail>
<a:Entity/>
<a:Message>Participant does not exist.</a:Message>
<a:SyncKey>10</a:SyncKey>
<a:Type>Warning</a:Type>
</a:DataMessageStatusDetail>
<a:DataMessageStatusDetail>
<a:Entity>4</a:Entity>
<a:Message>Participant is not a course member.</a:Message>
<a:SyncKey/>
<a:Type>Error</a:Type>
</a:DataMessageStatusDetail>
<a:DataMessageStatusDetail>
<a:Entity>9</a:Entity>
<a:Message>Participant is deleted.</a:Message>
<a:SyncKey/>
<a:Type>Warning</a:Type>
</a:DataMessageStatusDetail>
</a:StatusDetails>
</AddMessageResult>
</AddMessageResponse>
</s:Body>
</s:Envelope>