This method will provide possibility to read certain extension data from a course.

Standard organisation level security was implemented for this method.

Input parameters

Name

Description

Type

Mandatory/Optional

SiteId

Site where action will be executed.

Integer

Optional

VendorId

VendorId. Currently not used.

Text

Optional

ContentId

Id of the content

Int

Linked to next field - M/O

ContentSyncKey

SyncKey of the content

Text

M/O

PersonId

Id of the person

Int

Mandatory

IncludeContent

If set to true, the result set will contain the element's content.  If set to false, the Content output parameter will always be null.

Boolean

Optional (defaults to false)


Example request


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:its="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities" xmlns:its1="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.AssessmentRecordSummary">
<soapenv:Header/>
<soapenv:Body>
<tem:ReadExtensionInstance>
<its:SiteId>1</its:SiteId>
           <its:ContentId>1233445</its:ContentId>
<its:PersonId>23</its:PersonId>
</tem:ReadExtensionInstance>
</soapenv:Body>
</soapenv:Envelope>

Example request - returns element with the extension's content


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:its="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities" xmlns:its1="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.AssessmentRecordSummary">
<soapenv:Header/>
<soapenv:Body>
<tem:ReadExtensionInstance>
<its:SiteId>1</its:SiteId>
           <its:ContentId>1233445</its:ContentId>
<its:PersonId>23</its:PersonId>
<its1:IncludeContent>true</its1:IncludeContent>
</tem:ReadExtensionInstance>
</soapenv:Body>
</soapenv:Envelope>

Output parameters

Name

Description

Type

ExtensionInstance

Represents a single extension element (i.e. everything that's not a folder).

Parent element

ExtensionInstance / LearningObjectInstanceId

Identifier of the learning object instance.

Integer

ExtensionInstance / LearningObjectId

Identifier of the learning object.

Integer

ExtensionInstance / Title

Title of the element.

String

ExtensionInstance / LearningToolId

Identifier of the extension.

Integer

ExtensionInstance / IsAddedFromLibrary

Whether the instance is added from Library.

Boolean

ExtensionInstance / ElementId

Identifier of the element in customer DB.

Date/Time

ExtensionInstance / CustomerId

Identifier of the customer.

Date/Time

ExtensionInstance / IsDeleted

Whether the instance is deleted.

Date/Time

ExtensionInstance / Content

Element content.

Complex type



Example 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-07-02T13:35:31.208Z</u:Created>
<u:Expires>2013-07-02T13:40:31.208Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<ReadExtensionInstanceResult xmlns:a="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ExtensionInstance" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
<a:ExtensionInstance>
<a:CustomerId>0</a:CustomerId>
<a:ElementId i:nil="true" />
<a:IsAddedFromLibrary>false</a:IsAddedFromLibrary>
<a:IsDeleted>false</a:IsDeleted>
<a:LearningObjectId>10467</a:LearningObjectId>
<a:LearningObjectInstanceId>11008</a:LearningObjectInstanceId>
<a:LearningToolId>5033</a:LearningToolId>
<a:Title>Opdrachten22</a:Title>
</a:ExtensionInstance>
</ReadExtensionInstanceResult>
 </s:Body>
</s:Envelope>

Example response with content

<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-07-02T13:35:31.208Z</u:Created>
<u:Expires>2013-07-02T13:40:31.208Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<ReadExtensionInstanceResult xmlns:a="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ExtensionInstance" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
<a:ExtensionInstance>
<a:Content i:type="b:DeepLinkContent" xmlns:b="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Model.ServiceEntities.ContentEntities">
<b:IconUrl />
<b:PresentationSettings>
<Custom xmlns="">
<CustomField>
<Key>launchMethod</Key>
<Value>OwnWindow</Value>
</CustomField>
<CustomField>
<Key>DTDL</Key>
<Value>true</Value>
</CustomField>
<CustomField>
<Key>dl</Key>
<Value>https://edition.thiememeulenhoff.nl/secure/d/stream/geob_e5_h_m1/question/d38d5cd9-fc99-40e3-aa73-333a335e7fea</Value>
</CustomField>
<CustomField>
<Key>streamCode</Key>
<Value>streamcode7</Value>
</CustomField>
<CustomField>
<Key>thumbnailHash</Key>
<Value>5268</Value>
</CustomField>
</Custom>
<IFrame xmlns="">
<Height>0</Height>
<Width>0</Width>
</IFrame>
</b:PresentationSettings>
<b:ThumbnailUrl>https://localhost:1000/456fee51-79db-4354-a4de-17ca30205d3f</b:ThumbnailUrl>
<b:Url>https://localhost:4482/Tool</b:Url>
</a:Content>
<a:CustomerId>0</a:CustomerId>
<a:ElementId i:nil="true" />
<a:IsAddedFromLibrary>false</a:IsAddedFromLibrary>
<a:IsDeleted>false</a:IsDeleted>
<a:LearningObjectId>10467</a:LearningObjectId>
<a:LearningObjectInstanceId>11008</a:LearningObjectInstanceId>
<a:LearningToolId>5033</a:LearningToolId>
<a:Title>Opdrachten22</a:Title>
</a:ExtensionInstance>
</ReadExtensionInstanceResult>
  </s:Body>
</s:Envelope>

Error states

  1. Message must contain valid ContentId/ContentSyncKey.
  2. Only one of either ContentId or ContentSyncKey parameter can be specified.
  3. Extension with specified ContentId/ContentSyncKey is not valid.
  4. You do not have access to this extension.
  5. The personId does not have access to this extension.
  6. Extension is deleted.
  7. Message must contain valid ElementId/ElementSyncKey.