This service is used to affect D2L Course Offerings.
Implemented operations
- deleteCourseOffering
- replaceCourseOffering
-
readCourseOffering
About the deleteCourseOffering operation
deleteCourseOffering is the operation used to delete D2L Org Units associated with LIS Course Offerings.
Process flow: deleteCourseOffering
- When a LIS deleteCourseOffering request is received, the adapter obtains the unique id for the Course Offering from the the sourcedId field of the request directly, without the use of a pluggable translator.
- Once the Course Offering Id is obtained, the IPSIS Platform handlers configured for IDeleteCourseOfferingHandler are used to process the request.
- The LIS response is generated from the handler response to complete the process.
Sample deleteCourseOffering request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0">
<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:deleteCourseOfferingRequest>
<ims:sourcedId>Demo_Course_Offering</ims:sourcedId>
</ims:deleteCourseOfferingRequest>
</soapenv:Body>
</soapenv:Envelope>
deleteCourseOffering 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
|
deleteCourseOfferingRequest.sourcedId
|
Yes
|
Sample deleteCourseOfferingResponse
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/gms2p0/wsdl11/sync/imsgms_v2p0"
xmlns="http://www.imsglobal.org/services/lis/gms2p0/wsdl11/sync/imsgms_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>COMS_deleteCourseOffering_20120104T232203_8033886Z</imsx_messageIdentifier>
<imsx_statusInfo>
<imsx_codeMajor>success</imsx_codeMajor>
<imsx_severity>status</imsx_severity>
<imsx_messageRefIdentifier>1234</imsx_messageRefIdentifier>
<imsx_codeMinor>
<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>
deleteCourseOffering 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 replaceCourseOffering operation
replaceCourseOffering is the operation used to create or update Brightspace Course Offerings.
When using the default configurations, upon success you can validate that the course offerings have been created or updated as appropriate through the Config Variable Browser in Brightspace, Manage Courses, or the My Courses widget.
Process flow: replaceCourseOffering
- When a LIS replaceCourseOffering request is received, the request is translated using the LIS translators configured for ITranslateCourseOffering, which transform the request into a format that the IPSIS Platform can understand.
- Once the request has been translated, the IPSIS Platform handlers configured for IReplaceCourseOfferingHandler are used to process the request.
- An LIS response is then generated from the handler response to complete the process.
Sample replaceCourseOffering request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0">
<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:replaceCourseOfferingRequest>
<!--Not Used by D2L-->
<ims:sourcedId>Demo_Offering</ims:sourcedId>
<ims:courseOfferingRecord>
<ims:sourcedGUID>
<ims:sourcedId>Demo_Offering</ims:sourcedId>
</ims:sourcedGUID>
<ims:courseOffering>
<ims:title>
<ims:language>en-US</ims:language>
<ims:textString>Demo Offering</ims:textString>
</ims:title>
<ims:parentTemplateId>Demo_Template</ims:parentTemplateId>
<!--Optional:-->
<ims:status>Active</ims:status>
<!--Optional:-->
<ims:academicSession>
<ims:language>en-US</ims:language>
<ims:textString>Demo_Semester</ims:textString>
</ims:academicSession>
<!--Optional:-->
<ims:org>
<!--Optional:-->
<ims:orgName>
<ims:language>en-US</ims:language>
<ims:textString>Demo_Department</ims:textString<
</ims:orgName>
</ims:org>
<!--Zero or more repetitions:-->
<ims:timeFrame>
<!--Optional:-->
<ims:begin>2012-01-01T00:00:00.000000</ims:begin>
<!--Optional:-->
<ims:end>2012-04-01T00:00:00.000000</ims:end>
</ims:timeFrame>
</ims:courseOffering>
</ims:courseOfferingRecord>
</ims:replaceCourseOfferingRequest>
</soapenv:Body>
</soapenv:Envelope>
replaceCourseOffering 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
|
IS Request Mapping
|
Required
|
Code
|
courseOfferingRecord.sourcedGUID.sourcedId
|
Yes
|
Name
|
courseOfferingRecord.courseOffering.title.textString
|
Yes
|
Parent TemplateId
|
courseOfferingRecord.courseOffering.parentTemplateId
|
Yes
|
Parent SemesterId
|
courseOfferingRecord.courseOffering.academicSession.textString
|
No
|
Parent DepartmentId
|
courseOfferingRecord.courseOffering.org.orgName.textString
|
No
|
Start Date
|
courseOfferingRecord.courseOffering.timeframe(0).begin
|
No
|
End Date
|
courseOfferingRecord.courseOffering.timeframe(0).end
|
No
|
Status
|
courseOfferingRecord.courseOffering.status
|
No
|
Sample replaceCourseOffering response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo
xmlns:h="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0"
xmlns="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0"
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>CMS_replaceCourseOffering_20120113T180550_5936594Z</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>
replaceCourseOffering 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 readCourseOffering
readCourseOffering is the operation used to read IPSIS Platform information about LIS Course Offerings.
The LIS 2.0 adapter accepts the following fields in the request:
LIS XML Element
|
D2L Data
|
Required
|
readCourseOfferingRequest.sourcedId |
OrgUnitCode |
Yes |
Sample readCourseOffering request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>V1.0</ims:imsx_version>
<ims:imsx_messageIdentifier>MessageId_774290</ims:imsx_messageIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
<ims:readCourseOfferingRequest>
<ims:sourcedId>Demo_Offering</ims:sourcedId>
</ims:readCourseOfferingRequest>
</soapenv:Body>
</soapenv:Envelope>
Sample readCourseOffering response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:imsx_syncResponseHeaderInfo xmlns:h="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0" xmlns="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0" 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<CMS_readCourseOffering_20120803T145419_1122428Z</imsx_messageIdentifier>
<imsx_statusInfo> <imsx_codeMajor<success</imsx_codeMajor>
<imsx_severity<warning</imsx_severity>
<imsx_messageRefIdentifier<MessageId_774290</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">
<readCourseOfferingResponse xmlns="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0">
<courseOfferingRecord>
<sourcedGUID>
<sourcedId<Demo_Offering</sourcedId>
</sourcedGUID>
<courseOffering/>
</courseOfferingRecord>
</readCourseOfferingResponse>
</s:Body>
</s:Envelope>