Managing persons

Person management with itslearning and IMS ES comprises two distinct services, the PersonManagement service and the ExtendedPersonManagement service.

The PersonManagement service contains the basic services defined by the IMS consortium.

The ExtendedPersonManagement service provides additional services to facilate simple extraction and consolidation of users that were created manually in itslearning.

Both work with the basic IMS Person object, with certain itslearning extensions.

Services

PersonManagement

Description

The PersonManagement service contains the basic services defined by the IMS consortium.

IMS Enterprise Services online documentation

The function descriptions, original WSDL files, request/response examples can be found here:
http://www.imsglobal.org/es/index.html
http://www.imsglobal.org/es/esv1p0/imsperson_bindv1p0.html
http://www.imsglobal.org/es/esv1p0/imsperson_infov1p0.html

ExtendedPersonManagement

Description

This service implements some additional methods which are not defined in the IMS ES standard.

The Person object - mapping between IMS ES and itslearning

IMS ES Field

Mandatory

Itslearning field

Comment

SourcedId

X

syncPersonKey

SyncID / synchronization key

FirstName

X

Firstname

LastName

X

Lastname

Nick

Nickname

InstitutionRoleType

X

Profile

Important! See transformation table and detailed information in section 'How to give a person the correct profile in itslearning'.

UserIdValue

Username

Configuration can be made on its learning side to decide if the username should be imported from IMS ES or generated by its learning

Password

Password

Configuration can be made on its learning side to decide if the username should be imported from IMS ES or generated by its learning

Voice

Phone

Mobile

Cellular phone

Street[0]

Address (field1)

Street[1]

Address (field2)

Postcode

Post code / Zip code

Max 10 characters

Locality

Town / city

Extension
ExtensionField

CustomString1 … CustomString5
or
email information

or

PrivacyProtection

See below for more information.

Extension
Relationship

A person's relationship to its child(s) can be added as extension. See chapter 'How to add parent/child relationship.

Extensions

Itslearning has defined a number of extensions to the standard IMS person object. Descriptions of these extensions are found below:

CustomString fields

Custom user information: Allows you to add custom information on profiles. The custom fields appear as an option when you add new users, and can be, for example, student or employee number, Skype address or similar.

Length of value stored in Customstring fields can be max 255 characters.

Example
<extension>
<-- itslearning CustomString1 field (this and next can both be used for CustomString1 field) -->
<extensionField>
<fieldName>nationalidentitynumber</fieldName>
<fieldType>string</fieldType>
<fieldValue>ValueA</fieldValue>
</extensionField>
<-- itslearning CustomString1 field (this and previous can both be used for CustomString1 field)-->
<extensionField>
<fieldName>customstring0</fieldName>
<fieldType>string</fieldType>
<fieldValue>ValueB</fieldValue>
</extensionField>
<-- itslearning CustomString2 field -->
<extensionField>
<fieldName>customstring1</fieldName>
<fieldType>string</fieldType>
<fieldValue>ValueC</fieldValue>
</extensionField>
<-- itslearning CustomString3 field -->
<extensionField>
<fieldName>customstring2</fieldName>
<fieldValue>ValueD</fieldValue>
</extensionField>
<-- itslearning CustomString4 field -->
<extensionField>
<fieldName>customstring3</fieldName>
<fieldType>string</fieldType>
<fieldValue>ValueE</fieldValue>
</extensionField>
<-- itslearning CustomString5 field -->
<extensionField>
<fieldName>customstring4</fieldName>
<fieldType>string</fieldType>
<fieldValue>ValueF</fieldValue>
</extensionField>
</extension>

Email account information

You can use itslearning as a regular e-mail reader. This means that you can read your private e-mail in itslearning without having to leave itslearning. itslearning supports both POP3 and IMAP4. You can set an e-mail account as the default account instead of the internal messages in the Message settings.

Example
 <extension>
<extensionField>
<fieldName>emailserver/email</fieldName>
<fieldType/>
<fieldValue>email@mail.ru</fieldValue>
</extensionField>
<extensionField>
<fieldName>emailserver/userid/@password</fieldName>
<fieldType/>
<fieldValue>password</fieldValue>
</extensionField>
<extensionField>
<fieldName>emailserver/port</fieldName>
<fieldType/>
<fieldValue>110</fieldValue>
</extensionField>
<extensionField>
<fieldName>emailserver/server</fieldName>
<fieldType/>
<fieldValue>mail2.ru</fieldValue>
</extensionField>
<extensionField>
<fieldName>emailserver/type</fieldName>
<fieldType/>
<fieldValue>Imap</fieldValue>
</extensionField>
<extensionField>
<fieldName>emailserver/userid</fieldName>
<fieldType/>
<fieldValue>userid</fieldValue>
</extensionField>
</extension>

IsExternalUser

External user is a user who is not member of your site, but has joined your site through a community course.

The extension field IsExternalUser will return value True in the response, if the user is an external user. This value can can only be returned in response, it cannot be set using createPerson/updatePerson/replacePerson methods.

Example of readPerson response returning IsExternalUser field:
<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>
...
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<readPersonResponse xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0">
<person>
<formatName xsi:nil="true" xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"/>
<name xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<partName>
<namePartType>First</namePartType>
<namePartValue>James</namePartValue>
</partName>
<partName>
<namePartType>Last</namePartType>
<namePartValue>Dean</namePartValue>
</partName>
<partName>
<namePartType>Nick</namePartType>
<namePartValue>jamie</namePartValue>
</partName>
</name>
<email xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">james@mail.com</email>
<URL xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"/>
<userId xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<userIdValue xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">jamdea</userIdValue>
</userId>
<address xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<extadd/>
<locality/>
<postcode/>
<street/>
</address>
<demographics xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<gender>Male</gender>
<bday>1926-07-03</bday>
</demographics>
<institutionRole xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<institutionRoleType>Student</institutionRoleType>
<primaryRoleType>true</primaryRoleType>
</institutionRole>
<tel xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<telType>Voice</telType>
<telValue>12774</telValue>
</tel>
<tel xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<telType>Mobile</telType>
<telValue>876987</telValue>
</tel>
<extension xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">
<fieldName>IsExternalUser</fieldName>
<fieldType>Bool</fieldType>
<fieldValue>True</fieldValue>
</extensionField>
</extension>
</person>
</readPersonResponse>
</s:Body>
</s:Envelope>

PrivacyProtection

Indicates if a students personal information should be handled with care. If PrivacyProtection is enabled, teachers and administrators will see a padlock on the student's profile picture.

Example
 <extension>
<extensionField>
<fieldName>privacyprotection</fieldName>
<fieldType>bool</fieldType>
<fieldValue>1</fieldValue>
</extensionField>
</extension>

  • if privacyprotection element in not part of create/update/replace request -> existing privacyprotection value on Person in itslearning will not be changed

  • if privacyprotection value in create/update/replace request is different from 1 -> value privacyprotection on Person in itslearning is set to 0

  • if privacyprotection value in create/update/replace request is 1 -> value privacyprotection on Person in itslearning is set to 1

Relationship

A person's relationship to its child(s) can be added/returned as an extension.

Example of readPerson response returning parent/child relationship
<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>
...
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<readPersonResponse xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0">
<person>
<formatName xsi:nil="true" xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"/>
<name xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<partName>
<namePartType>First</namePartType>
<namePartValue>Parent1</namePartValue>
</partName>
<partName>
<namePartType>Last</namePartType>
<namePartValue>Parent1</namePartValue>
</partName>
<partName>
<namePartType>Nick</namePartType>
<namePartValue/>
</partName>
</name>
<email xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">parent1@mail.com</email>
<URL xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"/>
<userId xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<userIdValue xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">Parent1</userIdValue>
</userId>
<address xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<extadd/>
<locality/>
<postcode/>
<street/>
</address>
<demographics xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<gender>Male</gender>
</demographics>
<institutionRole xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<institutionRoleType>Guest</institutionRoleType>
<primaryRoleType>true</primaryRoleType>
</institutionRole>
<tel xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<telType>Voice</telType>
<telValue/>
</tel>
<tel xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<telType>Mobile</telType>
<telValue/>
</tel>
<extension xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
<relationship xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">
<relation>Child</relation>
<sourceId>
<identifier>Student4</identifier>
</sourceId>
</relationship>
</extension>
</person>
</readPersonResponse>
</s:Body>
</s:Envelope>