campus management services -...

34
ECOLLEGE Campus Management Services Integration Specification REVISION 0.9 CHRIS HATTON 1/2/2008 This specification outlines the technical details for integrating with the eCollege Campus Information Services.

Upload: others

Post on 19-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

ECOLLEGE

Campus Management Services

Integration Specification

REVISION 0.9

CHRIS HATTON

1/2/2008

This specification outlines the technical details for integrating with the eCollege Campus Information Services.

Page 2: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [2]

Page 3: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [3]

Revision History ....................................................................................................................................... 4

Introduction ............................................................................................................................................ 5

Definition ............................................................................................................................................ 5

Objectives ........................................................................................................................................... 5

Overview ............................................................................................................................................. 5

Security ............................................................................................................................................... 5

Person Management Services .................................................................................................................. 6

Behavioral Model ................................................................................................................................ 6

readPerson() .................................................................................................................................... 7

Data Model ....................................................................................................................................... 10

<person> ....................................................................................................................................... 10

Group Management Services ................................................................................................................. 15

Behavioral Model .............................................................................................................................. 15

readGroup() ................................................................................................................................... 16

Data Model ....................................................................................................................................... 20

<group> ......................................................................................................................................... 20

Membership Management Services....................................................................................................... 24

Behavioral Model .............................................................................................................................. 24

readMembershipsForGroup() ........................................................................................................ 25

readMembershipsForPerson() ............................................................ Error! Bookmark not defined.

Data Model ....................................................................................................................................... 28

<membership> .............................................................................................................................. 28

Sourcedid Mapping ............................................................................................................................... 33

Person SourcedId ........................................................................................................................... 33

Group SourcedId ............................................................................................................................ 33

Appendix A—Referenced Publications ................................................................................................... 34

IMS Global ......................................................................................................................................... 34

eCollege ............................................................................................................................................ 34

Page 4: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [4]

Revision History

Date Author Final Document Version

Sections Edited Notes

9/10/07 Chris Hatton 0.1 All Initial Version

9/12/07 Chris Hatton 0.15 Group and Membership Data Models

Minor text edits

9/13/07 Chris Hatton 0.2 All Added to group and membership re: scheme and role mapping. Lots of cleanup

9/24/07 Chris Hatton 0.3 MembershipMgmt Behavioral Model

Changed source for retrieving by CourseId.

10/4/2007 Chris Hatton 0.4 SourcedId Added new section for collecting all SourcedId mapping information.

10/16/2007 Chris Hatton 0.5 Person Data Mapping Added UserId section

10/17/2007 Chris Hatton 0.51 Person Data Mapping Clarified only one user ID type.

11/6/2007 Chris Hatton 0.52 Group Data Mapping Added IMS extension info relating to Course access dates for student role types.

11/7/2007 Chris Hatton 0.53 Group Data Mapping Added sample <extension> elements.

12/11/2007 Chris Hatton 0.7 All Complete revamp in support of making the document more consistent and concise.

1/2/2008 Chris Hatton 0.9 All Formatting, properties, minor cleanup

10/30/2008 Rob Mullen 1.0 Membership Adding membership section that is supported, removing unsupported methods.

Page 5: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [5]

Introduction

Definition This integration specification defines the manner in which external systems can exchange information

that describes people, groups, and their relationships with the eCollege Course Management System via

the Campus Management Services. The mechanisms defined within are intended to support the

broadest number of third-party systems by exchanging manner in a vendor-neutral and open standard

as published by the IMS Global Learning Consortium.

Objectives This document will describe in a sufficient level of detail the steps necessary to develop a solution that

can integrate with the eCollege LMS for the purpose of exchanging course and user data.

Overview eCollege will provide a web services-based implementation built according to the IMS Enterprise

Services Specification v1.0 Final. This specification has been chosen for its acceptance as the de facto

standard in the online learning information sharing space. However, not all of the operations defined by

this specification are currently supported by the eCollege CMS. All operations devoted to the creation

of modification of data within the eCollege CMS should instead defer to the SISAPI web services, as

provided by eCollege.

Security All access to the web services are controlled via the standard eCollege mechanisms which are based on

the WS-Security Username Token Profile. The details of including the appropriate security are outside

the scope of this document, however they can be found in the Working with Secured eCollege Web

Services document.

Page 6: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [6]

Person Management Services IMS Global identifies the Person Management Service specification as “the definition of how systems

manage the exchange of information that describes people within the context of learning.” The

specification defines both a Behavioral and Data model for working with the service.

Behavioral Model The Behavioral Model is defined within the Person Management Services WSDL document as published

by IMS. The Person Management Service is responsible for all interactions specific to people within the

eCollege LMS. To date, support is limited to the following operations:

Web Operation Description

createPerson N/A

createByProxyPerson N/A

deletePerson N/A

readPerson The readPerson() method should be called anytime the requesting system is interested in obtaining detailed information about a single person.

updatePerson N/A

replacePerson N/A

changePersonIdentifier N/A

createPersons N/A

createByProxyPersons N/A

deletePersons N/A

readPersons N/A

updatePersons N/A

replacePersons N/A

changePersonsIdentifier N/A

Page 7: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [7]

readPerson()

The readPerson() operation returns the full contents of a ‘person’ as it is stored within the eCollege LMS.

The following table provides more detail with respect to the given parameters involved in the web

service operation.

Name: readPerson

Return Function Parameter:

Status Info – The status of the request as defined by the IMS Enterprise Services Common Data specification.

Supplied Parameters:

sourcedid:identifier of the person. See the Person SourcedId mapping for more details.

Returned Parameters:

person:Person

Behavior: The service is responsible for retrieving and returning a valid Person. In the event that the record cannot locate a Person having the requested sourcedid, then the appropriate error code is returned.

Errors: The service supports IMS StatusInfo codes as outlined by IMS Service Status Code description.

Notes: Currently, the web service supports calls made with 2 known sourcedid formats: UserID (eCollege-owned) and User Login (EP-owned). The service will base the decision of all return-type sourcedids on the format originally specified in the request.

<readPersonRequest>

The following example outlines a sample readPerson() request against Public University (having

clientstring value publicu) for the user having login jules:

POST /CampusManagement/Services/PersonService.asmx HTTP/1.1

Host: custom.ws.ecollege.com

SOAPAction: "http://www.imsglobal.org/soap/pms/readPerson"

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ims="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"

xmlns:ims1="http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0"

xmlns:ims2="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<soapenv:Header>

<ims:syncRequestHeaderInfo>

<ims:messageIdentifier>DEF01234567890DEF</ims:messageIdentifier>

</ims:syncRequestHeaderInfo>

</soapenv:Header>

<soapenv:Body>

<ims1:readPersonRequest>

<ims1:sourcedId>

<ims2:identifier>eclg.user.kaplan:jules</ims2:identifier>

</ims1:sourcedId>

</ims1:readPersonRequest>

Page 8: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [8]

</soapenv:Body>

</soapenv:Envelope>

And the subsequent response:

HTTP/1.1 200 OK

Content-Type: text/xml; charset="utf-8"

Content-Length: nnnn

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<soap:Header>

<syncResponseHeaderInfo

xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0">

<messageIdentifier>DEF01234567890DEF</messageIdentifier>

<statusInfo>

<codeMajor>success</codeMajor>

<severity>status</severity>

<codeMinor>

<codeMinorField>

<codeMinorName>personmanagement</codeMinorName>

<codeMinorValue>fullsuccess</codeMinorValue>

</codeMinorField>

</codeMinor>

<messageIdRef>DEF01234567890DEF</messageIdRef>

</statusInfo>

</syncResponseHeaderInfo>

</soap:Header>

<soap:Body>

<readPersonResponse

xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0">

<person>

<formatName

xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">Jules

Winnfield</formatName>

<name xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">

<nameType>Full</nameType>

<partName>

<namePartType>First</namePartType>

<namePartValue>Jules</namePartValue>

</partName>

<partName>

<namePartType>Last</namePartType>

<namePartValue>Winnfield</namePartValue>

</partName>

<partName>

<namePartType>Middle</namePartType>

<namePartValue>Q</namePartValue>

</partName>

</name>

<email

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">[email protected]</email>

<userId

xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">

Page 9: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [9]

<userIdValue

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">jules</userIdValue>

<userIdType

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">eclg.user.publicu</userIdTy

pe>

</userId>

<address

xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">

<locality>Denver</locality>

<region>Colorado</region>

<postcode>12345</postcode>

<country>United States</country>

<street>123 E. Main St.</street>

<street/>

</address>

<demographics

xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">

<gender>Gender</gender>

</demographics>

<tel xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">

<telValue>303.123.4567</telValue>

</tel>

<extension

xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>UserId</fieldName>

<fieldType>Integer</fieldType>

<fieldValue>2014441</fieldValue>

</extensionField>

</extension>

</person>

</readPersonResponse>

</soap:Body>

</soap:Envelope>

Page 10: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [10]

Data Model IMS has published the Data Model for working with the Person Management Service in the Person

Management Data Schema XSD. Please reference the XML Schema and the IMS Person Management

Services Information Model for details pertinent to the data. The remainder of this section outlines how

these attributes and elements are applicable to the eCollege LMS.

<person>

The Person element is the primary element for working with the Person Management Service. This

fundamental block typically contains all of the information related to a user of the system.

Figure 1 -- The Person element, as defined by IMS at http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0.xsd

Page 11: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [11]

Attributes

Name Always Included?

Notes

formatName Yes This required element will take the form of First Last.

recordInfo Never Currently not in use by eCollege.

email Sometimes This will be included if eCollege contains an email account. However, not all users have a registered email address.

url Never eCollege does not track this field.

systemRole Never This element is subject to change given a user’s current context within the eCollege system, and as such is never included.

dataSource Never Currently not in use by eCollege.

extension Yes See below for details.

Associations

Associations include all sub-elements of the Person element.

<userid>

Name Always Included?

Notes

userIdValue Yes Value of the Id.

userIdType Yes The type will map to the source of the sourcedid for this Person, e.g., “eclg.user.publicu”.

passWord Never N/A

pwEncryptionType Never N/A

authenticationType Never N/A

Page 12: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [12]

<name>

Name Always Included?

Notes

nameType Yes Type of name as defined by IMS e.g., “Full”, “Pseudonym”, etc.

<partName>

Representation of an individual component of a name.

Name Always Included?

Notes

namePartType Yes Type component e.g., “Last”, “Middle”, “First”.

namePartValue Yes Value of the name part.

<demographics>

Name Always Included?

Notes

gender Always Refers to the extended User Property Gender. Note that while IMS documentation identifies the set of {Male, Female, Unknown} the actual XML schema uses {Male, Female, Gender}. eCollege has implemented according to the XML Schema (which includes Gender).

disability Sometimes Refers to the extended User Property Disability.

bday Sometimes Refers to the extended User Property BirthDay.

Page 13: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [13]

<address>

Name Always Included?

Notes

pobox Never P.O. Box is included in one of the street elements, if present.

extadd Never The street field is used in lieu of this field.

locality Sometimes City field in eCollege LMS.

region Sometimes State field in eCollege LMS.

postcode Sometimes Zip / post code in eCollege LMS.

country Sometimes Country codes, as mapped to ISO3166.

street Sometimes Multiple street fields are used to track P.O. Box, apartment number, etc.

extension Never N/A

<tel>

Name Always Included?

Notes

teltype Sometimes eCollege tracks only voice numbers and will always return “Voice” for this value.

telValue Sometimes The actual, complete phone number.

Page 14: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [14]

<institutionRole>

Without some additional context, the specifics for this field are indeterminate within the eCollege LMS,

and as such this field is not utilized by eCollege. All role types should be referenced using

<membership>.

<extension>

Currently, there is only one extension in use for the Person element. This extension is used to return the

internal eCollege User Id as shown here.

Field Value

fieldName UserId

fieldType Integer

fieldValue Internal UserID (key to a database table)

The following shows a sample of the IMS Extension for UserId:

<extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>UserId</fieldName>

<fieldType>Integer</fieldType>

<fieldValue>2014441</fieldValue>

</extensionField>

Page 15: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [15]

Group Management Services The Group Management Services are designed in order to support the exchange of Group-related

information. Within the context of the eCollege CMS, this typically includes both Client Nodes (Campus

organization structure) and Courses. The following Behavioral and Data Models provide the details for

utilizing the Campus Management Services to obtain this information from the eCollege CMS.

Behavioral Model The Group Management Service Behavioral Model is defined within the Group Management Services

Information Model as published by IMS. The Group Management Service is responsible for all

interactions specific to people within the eCollege LMS. To date, support is limited to the following

operations:

Web Operation Description

createGroup N/A

createByProxyGroup N/A

deleteGroup N/A

deleteGroupRelationship N/A

readGroup The readGroup() method should be called anytime the requesting system is interested in obtaining detailed information about a single group.

updateGroup N/A

replaceGroup N/A

changeGroupIdentifier N/A

createGroups N/A

createByProxyGroups N/A

deleteGroups N/A

deleteGroupsRelationship N/A

readGroups N/A

readGroupsForPerson N/A

updateGroups N/A

replaceGroups N/A

changeGroupsIdentifier N/A

Page 16: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [16]

readGroup()

The readGroup() operation returns the full contents of a ’group’ as it is stored within the eCollege CMS.

The following table provides more detail with respect to the given parameters involved in the web

service operation.

Name: readGroup

Return Function Parameter:

StatusInfo – The status of the request as defined by the IMS Enterprise Services Common Data specification.

Supplied Parameters:

sourcedid:identifier of the Group. See the Group SourcedId mapping section for details.

Returned Parameters:

group:Group

Behavior: The service is responsible for retrieving and returning a valid Group. In the event that the record cannot locate a Group having the requested sourcedid, then the appropriate error code is returned.

Errors: The service supports IMS StatusInfo codes as outlined by IMS Service Status Code description.

Notes: This service currently supports only Courses as Group return types. Currently, the web service supports calls made with 2 known sourcedid formats: UserID (eCollege-owned) and User Login (EP-owned). The service will base the decision of all return-type sourcedids on the format originally specified in the request.

<readGroupRequest>

Page 17: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [17]

The following example identifies a sample readGroup() request for a Course for Public University (having

a client string of publicu) and a Course Id of 2009968:

POST /CampusManagement/Services/GroupService.asmx HTTP/1.1

Host: custom.ws.maint.ecollege.com

Content-Type: text/xml; charset="utf-8"

SOAPAction: "http://www.imsglobal.org/soap/gms/readGroup"

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ims="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"

xmlns:ims1="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0"

xmlns:ims2="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<soapenv:Header>

<ims:syncRequestHeaderInfo>

<ims:messageIdentifier>DEF0123456789DEF</ims:messageIdentifier>

</ims:syncRequestHeaderInfo>

</soapenv:Header>

<soapenv:Body>

<ims1:readGroupRequest>

<ims1:sourcedId>

<ims2:identifier>eclg.course:2009968</ims2:identifier>

</ims1:sourcedId>

</ims1:readGroupRequest>

</soapenv:Body>

</soapenv:Envelope>

Page 18: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [18]

And the subsequent response:

HTTP/1.1 200 OK

Content-Type: text/xml; charset="utf-8"

Content-Length: nnnn

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<soap:Header>

<syncResponseHeaderInfo

xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0">

<messageIdentifier>DEF0123456789DEF</messageIdentifier>

<statusInfo>

<codeMajor>success</codeMajor>

<severity>status</severity>

<codeMinor>

<codeMinorField>

<codeMinorName>groupmanagement</codeMinorName>

<codeMinorValue>fullsuccess</codeMinorValue>

</codeMinorField>

</codeMinor>

<messageIdRef>DEF0123456789DEF</messageIdRef>

</statusInfo>

</syncResponseHeaderInfo>

</soap:Header>

<soap:Body>

<readGroupResponse

xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManMessSchema_v1p0">

<group>

<groupType

xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0">

<scheme>Course</scheme>

<typeValue>

<type>Course</type>

<level>1</level>

</typeValue>

<typeValue>

<type>eCourse</type>

<level>2</level>

</typeValue>

</groupType>

<timeFrame

xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0">

<begin xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<date>1900-01-01</date>

<restrict>false</restrict>

</begin>

<end xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<date>2008-12-31</date>

<restrict>false</restrict>

</end>

</timeFrame>

<relationship

xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0">

<relation>Parent</relation>

Page 19: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [19]

<sourceId>

<identifier

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">eclg.course:2009910</identi

fier>

</sourceId>

<label>Duplication</label>

</relationship>

<description

xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0">

<descShort>MML</descShort>

<descLong>XL Integration Test Course 28</descLong>

</description>

<extension

xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0">

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>CourseAccessStartDate</fieldName>

<fieldType>DateTime</fieldType>

<fieldValue>1900-01-01T07:00:00Z</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>CourseAccessEndDate</fieldName>

<fieldType>DateTime</fieldType>

<fieldValue>2009-01-14T07:00:00Z</fieldValue>

</extensionField>

</extension>

</group>

</readGroupResponse>

</soap:Body>

</soap:Envelope>

Page 20: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [20]

Data Model IMS has published the Data Model for working with the Group Management Service in the Group

Management Data Schema XSD. Please reference the XML Schema and the IMS Group Management

Services Information Model for details pertinent to the data. The remainder of this section outlines how

these attributes and elements are applicable to the eCollege CMS.

<group>

The Group is the root element for the exchange of information pertaining to Courses and ClientNodes.

Attributes

Name Always Included?

Notes

recordInfo Never N/A

email Never N/A

url Never N/A

timeFrame Always This value will be mapped to Course start and end dates. Note that these dates are not Semester start and end dates, nor do they identify students’ access dates to a Course.

dataSource Never N/A

extension Always Used to identify Course access start and end dates.

Page 21: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [21]

Associations

<groupType>

Name Always Included?

Notes

scheme Always At the present time, the “Course” scheme is the only eCollege scheme in place. See the table below for more detail.

type Always See the table below for more detail.

level Always See the table below for more detail.

Available Schemes

Scheme Name Level Type

Course 1 {Course}

2 {eCourse, eCompanion, eHybrid}

<description>

Page 22: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [22]

For a Group that is a Course:

Name Always Included?

Notes

descShort Always Display Course Code assigned to this course

descLong Always Course Title

descFull Never N/A

<org>

This element is not supported at this time for read-only requests.

<enrollControl>

This element is not supported at this time for read-only requests.

<relationship>

For Courses, the Relationship can be used to identify the parent course that this instance was created

(or duped) from.

Name Always Included?

Notes

relation Always This value will contain “Parent” to represent the course from which the object course was created from. “Known As” is also included for the purpose of including Course Call Numbers.

sourcedid Always Complete sourcedid for related course.

label Always Describes the nature of the relationship, i.e., Duplicated course section, Course Call Numbers

Page 23: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [23]

<extension>

There are currently 2 extensions in place for Groups that map to eCollege Courses. These 2 items are

used to represent the dates for which student role types are granted online access to the Course within

the eCollege CMS. These 2 extensions are as follows:

fieldName fieldType fieldValue

CourseAccessStartDate xsd:date DateTime in ISO-8601 format upon which student role types are granted access to an eCollege Course.

CourseAccessEndDate xsd:date DateTime in ISO-8601 format upon which student role types have access to an eCollege Course revoked.

And a sample representation of what the extensions will appear as is outlined below:

<extension xmlns="http://www.imsglobal.org/services/gms/xsd/imsGroupManDataSchema_v1p0">

<extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>CourseAccessStartDate</fieldName>

<fieldType>DateTime</fieldType>

<fieldValue>1900-01-01T07:00:00Z</fieldValue>

</extensionField>

<extensionField xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>CourseAccessEndDate</fieldName>

<fieldType>DateTime</fieldType>

<fieldValue>2009-01-14T07:00:00Z</fieldValue>

</extensionField>

</extension>

Page 24: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [24]

Membership Management Services The Membership Management Services are designed in order to support the exchange of Membership-

related information. Within the context of the eCollege LMS, this typically includes enrollments in both

Client Nodes (Campus organization structure) and Courses. The following Behavioral and Data Models

provide the details for utilizing the Campus Management Services to obtain this information from the

eCollege CMS.

Behavioral Model The Membership Management Service Behavioral Model is defined within the Membership

Management Services Information Model as published by IMS. The Membership Management Service is

responsible for all interactions specific to people within the eCollege CMS. To date, support is limited to

the following operations:

Web Operation Description

createMembership

createByProxyMembership

deleteMembership

readMembership

updateMembership

replaceMembership

changeMembershipIdentifier

createMemberships

createByProxyMemberships

deleteMemberships

readMemberships

readMembershipsForPerson

readMembershipsForGroup The readMembershipsForGroup() method should be called anytime the requesting system is interested in obtaining membership (e.g., enrollments) for a single Group.

updateMemberships

replaceMemberships

changeMembershipsIdentifier

Page 25: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [25]

readMembershipsForGroup()

The readMembershipsForGroup() operation returns the entire enrollments structure as it is stored

within the eCollege LMS. The following table provides more detail with respect to the given parameters

involved in the web service operation.

Name: readMembershipsForGroup

Return Function Parameter:

Status Info – The status of the request as defined by the IMS Enterprise Services specification.

Supplied Parameters:

groupSourcedId:identifier of the group. See the Group SourcedId mappings section.

Returned Parameters:

membershipIdSet:MembershipIdSet

Behavior: The service is responsible for retrieving and returning all memberships associated with this group. In the event that the record cannot locate a group having the requested sourceid, then the appropriate error code is returned.

Notes: This service currently supports only Course enrollments as Membership return types.

<readMembershipsForGroupRequest>

The following example outlines a sample readMembershipsForGroupRequest () request for Test

University (having clientstring value testep) and call number TestCallNumber:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:ims="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"

xmlns:ims1="http://www.imsglobal.org/services/mms/wsdl/imsMemberManServiceSync_v1p0"

xmlns:ims2="http://www.imsglobal.org/services/mms/xsd/imsMemberManMessSchema_v1p0"

xmlns:ims3="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<soapenv:Header>

<ims:syncRequestHeaderInfo>

<!--2 enrollments - 2 studs -->

<ims:messageIdentifier>abcdefg</ims:messageIdentifier>

</ims:syncRequestHeaderInfo>

</soapenv:Header>

<soapenv:Body>

<ims1:readMembershipsForGroupRequest>

<!--Optional:-->

<ims2:groupSourcedId>

<!--Optional:-->

<ims3:identifier>eclg.course.testep:TestCallNumber</ims3:identifier>

</ims2:groupSourcedId>

</ims1:readMembershipsForGroupRequest>

</soapenv:Body>

</soapenv:Envelope>

Page 26: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [26]

And the subsequent response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<soap:Header>

<syncResponseHeaderInfo

xmlns="http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0">

<messageIdentifier>abcdefg</messageIdentifier>

<statusInfo>

<codeMajor>success</codeMajor>

<severity>status</severity>

<codeMinor>

<codeMinorField>

<codeMinorName>membershipmanagement</codeMinorName>

<codeMinorValue>fullsuccess</codeMinorValue>

</codeMinorField>

</codeMinor>

<messageIdRef>abcdefg</messageIdRef>

</statusInfo>

</syncResponseHeaderInfo>

<wsa:Action>http://www.imsglobal.org/soap/mms/readMembershipsForGroupResponse</wsa:Action>

<wsa:MessageID>uuid:b70de5ad-1cb4-43d0-a04a-a6dcce77dbae</wsa:MessageID>

<wsa:RelatesTo>uuid:96ca58ea-5787-411b-9add-c872284cd2eb</wsa:RelatesTo>

<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>

<wsse:Security>

<wsu:Timestamp wsu:Id="Timestamp-ff90717d-3f91-4537-b965-b945caf80800">

<wsu:Created>2008-10-31T15:09:35Z</wsu:Created>

<wsu:Expires>2008-10-31T15:14:35Z</wsu:Expires>

</wsu:Timestamp>

</wsse:Security>

</soap:Header>

<soap:Body>

<readMembershipsForGroupResponse

xmlns="http://www.imsglobal.org/services/mms/xsd/imsMemberManMessSchema_v1p0">

<membershipSet>

<membership>

<groupSourcedId

xmlns="http://www.imsglobal.org/services/mms/xsd/imsMemberManDataSchema_v1p0">

<identifier

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">eclg.course.testep:CallNumb

er</identifier>

</groupSourcedId>

<member

xmlns="http://www.imsglobal.org/services/mms/xsd/imsMemberManDataSchema_v1p0">

<memberSourcedId>

<identifier

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">eclg.user:2002365</identifi

er>

</memberSourcedId>

<role>

<roleType>Learner</roleType>

<userId>

<userIdValue

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">robkaplanstud2</userIdValue

>

Page 27: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [27]

<userIdType

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">eclg:LoginId</userIdType>

</userId>

<status>true</status>

<dateTime>2005-08-02T12:55:39.9130000-06:00</dateTime>

<email

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">[email protected]</email>

<extension>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>FirstName</fieldName>

<fieldType>string</fieldType>

<fieldValue>Joe</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>LastName</fieldName>

<fieldType>string</fieldType>

<fieldValue>Tester</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>NodeTitle</fieldName>

<fieldType>string</fieldType>

<fieldValue>Sailing</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>RoleTypeConst</fieldName>

<fieldType>string</fieldType>

<fieldValue>STUD</fieldValue>

</extensionField>

</extension>

</role>

</member>

</membership>

</membership>

</membershipSet>

</readMembershipsForGroupResponse>

</soap:Body>

</soap:Envelope>

Page 28: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [28]

Data Model IMS has published the Data Model for working with the Membership Management Service in the

Membership Management Data Schema XSD. Please reference the XML Schema and the IMS

Membership Management Services Information Model for details pertinent to the data. The remainder

of this section outlines how these attributes and elements are applicable to the eCollege CMS.

<membership>

The Membership is the root element for the exchange of information pertaining to enrollments within

Course and Client Nodes.

Attributes

Name Always Included?

Notes

groupSourcedId Always Refers to the sourcedid of the group, per the Group sourcedid mapping scheme.

Associations

<member>

Name Always Included?

Notes

memberSourcedId Always In the case that the member is a Person, refer to the Person sourcedid mapping scheme.

idType Always “Person” or “Group” to indicate member type.

Page 29: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [29]

<role>

Name Always Included?

Notes

recordInfo Never N/A

roleType Always IMS defines the following types: {‘Learner’, ‘Instructor’, ‘Content’, ‘Developer’, ‘Member’, ‘Manager’, ‘Mentor’, ‘Administrator’, ‘TeachingAssistant’}. See the Role Mapping table for details on eCollege rules to IMS roles.

subRole Never

userId Always userIdValue is the user’s loginID useridType is ‘eclg:LoginId’

email Always The user’s email address

timeFrame Never N/A

status Always Determines if member is active: {‘Active’, ’InActive’}

dateTime Always Date the users enrollment was created

dataSource Never N/A

extension Always See list below

Role-mapping table for Person Membership

Page 30: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [30]

eCollege Role Type

IMS Role Mapping

Role Type Status

STUD Learner Active

PEND Learner InActive

WLST Learner InActive

DROP Learner InActive

DENY Learner InActive

SAUDT Learner Active

PAUDT Instructor Active

TSUP Learner Active

PROF Instructor Active

CBLD Developer Active

ADMN Administrator Active

TAST Teaching Assistant Active

<interimResult> and <finalResult>

These fields are not currently utilized.

<extension>

There are currently 4 extensions in place for Members that map to eCollege Enrollment and User data.

These 4 extensions are as follows:

fieldName fieldType fieldValue

FirstName xsd:string The Member’s first name.

LastName xsd:string The Member’s last name.

NodeTitle xsd:string The node that the user and course belong to, if there is no match between the user and course node then the user’s first enrolled node is returned.

RoleTypeConst xsd:string The user’s role in the course.

And a sample representation of what the extensions will appear as is outlined below:

<extension>

Page 31: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [31]

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>FirstName</fieldName>

<fieldType>string</fieldType>

<fieldValue>Joe</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>LastName</fieldName>

<fieldType>string</fieldType>

<fieldValue>Student</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>NodeTitle</fieldName>

<fieldType>string</fieldType>

<fieldValue>AZVA</fieldValue>

</extensionField>

<extensionField

xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">

<fieldName>RoleTypeConst</fieldName>

<fieldType>string</fieldType>

<fieldValue>DROP</fieldValue>

</extensionField>

</extension>

Page 32: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [32]

Page 33: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [33]

Sourcedid Mapping The following mechanisms outline the possible set of sourcedids that can be used for each respective

type. IMS defines the element as source:identifier.

Person SourcedId

Persons can be identified by either their unique eCollege-issued UserID, or by a combination of their

client string and eCollege system login. The following table outlines how eCollege will map the source

and identifier to the Person element.

Source Identifier Example

[eclg.user] eCollege-issued UserId A user (for any institution) having a UserId of 123456 would be represented as: <sourcedid>eclg.user:123456</sourcedid>

[eclg.user.clientstring] User login A user for Public University (having clientstring value publicu) and login jsmith would be represented as: <sourcedid>eclg.user.publicu:jsmith</sourcedid>

Group SourcedId

Groups can be identified in a number of different ways, particularly with respect to group type. At this

time, the only supported group is Course. The following table outlines how eCollege will map the source

and identifier to internal elements.

Source Identifier Example

[eclg.course] CourseId A course for any partner having CourseId 123456 would be represented as: <sourcedid>eclg.course:123456</sourcedid>

[eclg.course.callnumber.clientstring] Course Call Number

A course for Public University (having clientstring value publicu) and Course Call Number Accounting 101 would be represented as: <sourcedid>eclg.course.callnumber:Accounting 101</sourcedid>

Page 34: Campus Management Services - Pearsonintegration.ecollege.com/developers/docs/eCollege_CampusAdminSvcs.pdfthat describes people, groups, and their relationships with the eCollege Course

Campus Management Services - Integration Specification Revision: 3.721287906772E-295

Copyright 2007 © eCollege [34]

Appendix A—Referenced Publications

IMS Global IMS Enterprise Services Specification Home: http://www.imsglobal.org/es/

IMS Group Membership WSDL:

http://www.imsglobal.org/services/gms/wsdl/imsGroupManServiceSync_v1p0.wsdl

IMS Person Membership WSDL:

http://www.imsglobal.org/services/pms/wsdl/imsPersonManServiceSync_v1p0.wsdl

IMS Membership WSDL:

http://www.imsglobal.org/services/mms/wsdl/imsMemberManServiceSync_v1p0.wsdl

eCollege Annotated Guide to the IMS Spec:

http://eclgsdk.ecollege.com/Annotated%20Guide%20to%20the%20IMS%20Spec.pdf