campus management services -...
TRANSCRIPT
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.
Campus Management Services - Integration Specification Revision: 3.721287906772E-295
Copyright 2007 © eCollege [2]
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
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.
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.
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
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>
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>
xmlns="http://www.imsglobal.org/services/common/imsCommonSchema_v1p0">[email protected]</email>
<userId
xmlns="http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0">
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>
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
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
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.
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.
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>
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
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>
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>
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>
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>
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.
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>
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
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>
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
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>
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
>
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>
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>
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.
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
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>
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>
Campus Management Services - Integration Specification Revision: 3.721287906772E-295
Copyright 2007 © eCollege [32]
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>
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