This service is used to affect Brightspace enrollments.
Implemented operations
- deleteMembership
- replaceMembership
- readMembership
About the deleteMembership operation
deleteMembership is the operation used to delete enrollments in Brightspace. Enrollments are the relationship between users and org units, and can be verified or investigated in Manage Users or in the Classlist for a particular course.
Process flow: deleteMembership
- When an LIS deleteMembership request is received, the adapter obtains the unique id for the membership from the sourcedId field of the request directly, without the user of a pluggable translator.
- Once the Membership Id has been obtained, the IPSIS Platform handlers configured for IDeleteEnrollmentHandler process the request.
- The LIS response is generated from the handler response.
Sample deleteMembership request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>1234</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:deleteMembershipRequest>
<ims:sourcedId>Demo_Section_01_duser</ims:sourcedId>
</ims:deleteMembershipRequest>
</soapenv:Body>
</soapenv:Envelope>
deleteMembership request header and body fields
Request header fields
For more information, refer to the topic Using LIS v2.0 Services > Request and response headers.
Request body fields
The adapter accepts the following fields in the request:
Property
|
LIS Request Mapping
|
Required
|
Code
|
deleteMembershipRequest.sourcedId
|
Yes
|
Sample deleteMembership response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>MMS_deleteMembership_20120120T191434_9913552Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>status</imsx_severity>
<imsx_messageRefIdentifier>1234</imsx_messageRefIdentifier>
<imsx_description/>
<imsx_codeMinor*gt;
<imsx_codeMinorField>
<imsx_codeMinorFieldName>TargetEndSystem</imsx_codeMinorFieldName>
<imsx_codeMinorFieldValue>fullsuccess</imsx_codeMinorFieldValue>
</imsx_codeMinorField>
</imsx_codeMinor>
</imsx_statusInfo>
</h:imsx_syncResponseHeaderInfo>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Envelope>
deleteMembership response header and body fields
Response header fields
For more information, refer to the topic Using LIS v2.0 Services > Request and response headers.
Response body fields
No fields are returned in the response body.
About the replaceMembership operation
ReplaceMembership is the operation used to create or update enrollments in Brightspace. Enrollments are the relationship between users and org units, and can be verified or investigated in Manage Users or in the Classlist for a particular course.
Process flow: replaceMembership
- When a LIS replaceMembership request is received, Brightspace translates the request using the LIS translators configured for ITranslateMembership to transform the request into a format that the IPSIS Platform can understand.
- Once the request has been translated, the IPSIS Platform handlers configured for IReplaceEnrollmentHandler process the request.
- An LIS response is generated from the handler response.
Sample replaceMembership request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>1234</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:replaceMembershipRequest>
<!--Not Used by D2L-->
<ims:sourcedId>Demo_Section_01_duser</ims:sourcedId>
<ims:membershipRecord>
<ims:sourcedGUID>
<ims:sourcedId>Demo_Section_01_duser</ims:sourcedId>
</ims:sourcedGUID>
<ims:membership>
<ims:collectionSourcedId>Demo_Section_01</ims:collectionSourcedId>
<!--Not Used by D2L-->
<ims:membershipIdType>courseSection</ims:membershipIdType>
<ims:member>
<ims:personSourcedId>Demo_User</ims:personSourcedId>
<ims:role>
<ims:roleType>Learner</ims:roleType>
<ims:status>Active</ims:status>
</ims:role>
</ims:member>
</ims:membership>
</ims:membershipRecord>
</ims:replaceMembershipRequest>
</soapenv:Body>
</soapenv:Envelope>
replaceMembership request header and body fields
Request header fields
For more information, refer to the topic Using LIS v2.0 Services > Request and response headers.
Request body fields
The template translator configuration accepts the following fields in the request:
Property
|
LIS Request Mapping
|
Required
|
Enrollment Message ID
|
membershipRecord.sourcedGUID.sourcedId
|
Yes
|
Section Code
|
membershipRecord.membership.collectionSourcedId
|
Yes
|
UserId
|
membershipRecord.membership.member.personSourcedId
|
Yes
|
Role
|
membershipRecord.membership.member.role{*}.roleType
|
Yes
|
Enrollment Status
|
membershipRecord.membership.member.role{*}.status
|
Yes
|
Sample replaceMembership response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>MMS_replaceMembership_20120419T000158_6944880Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>warning</imsx_severity>
<imsx_messageRefIdentifier>1234</imsx_messageRefIdentifier>
<imsx_description/>
<imsx_codeMinor>
<imsx_codeMinorField>
<imsx_codeMinorFieldName>TargetEndSystem<imsx_codeMinorFieldName>
<imsx_codeMinorFieldValue>partialdatastorage</imsx_codeMinorFieldValue>
</imsx_codeMinorField>
</imsx_codeMinor>
</imsx_statusInfo>
</h:imsx_syncResponseHeaderInfo>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
</s:Envelope>
replaceMembership response header and body fields
Response header fields
For more information, refer to the topic Using LIS v2.0 Services > Request and response headers.
Response body fields
No fields are returned in the response body.
Sample readMembership request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>1234</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:readMembershipRequest>
<ims:sourcedId>Demo_Section_01_duser</ims:sourcedId>
</ims:readMembershipRequest>
</soapenv:Body>
</soapenv:Envelope>
Sample readMembership response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/mms2p0/wsdl11/sync/imsmms_v2p0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>MMS_readMembership_20120419T000158_6944880Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>warning</imsx_severity>
<imsx_messageRefIdentifier>1234</imsx_messageRefIdentifier>
<imsx_description/>
<imsx_codeMinor>
<imsx_codeMinorField>
<imsx_codeMinorFieldName>TargetEndSystem</imsx_codeMinorFieldName>
<imsx_codeMinorFieldValue>partialdatastorage</imsx_codeMinorFieldValue>
</imsx_codeMinorField>
</imsx_codeMinor>
</imsx_statusInfo>
</h:imsx_syncResponseHeaderInfo>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ims:membershipRecord>
<ims:sourcedGUID>
<ims:sourcedId>Demo_Section_01_duser</ims:sourcedId>
</ims:sourcedGUID>
<ims:membership>
<ims:collectionSourcedId>F515050A-6A6C-486B-8B46-97BA6FD62458</ims:collectionSourcedId>
<ims:membershipIdType>83418823-CADC-40A6-885E-C460F78E896F</ims:membershipIdType>
<ims:member>
<ims:personSourcedId>967F247A-F65B-41CE-8A33-8B2E1C8AF357</ims:personSourcedId>
<ims:role><ims:roleType>Learner</ims:roleType></ims:role>
</ims:member>
</ims:membership>
</ims:membershipRecord>
</s:Body>
</s:Envelope>