The ITranslateMembershipResponse interface is used to translate an IPSIS Enrollment Read Result into an LIS Membership Record.
The implementation interface is D2L.IM.IPSIS.LIS.MMS.ITranslateMembershipResponse.
The following configuration list provides a starting point for any LIS implementation:
Template, IPSIS
- ReadMembershipResponseSourcedGuidRequiredTranslator (Sort Order = 10)
- ReadMembershipResponseMembershipIdTypeOrgUnitTypeRequiredTranslator (Sort Order = 20)
- ReadMembershipResponseCollectionSourcedIdOrgUnitRequiredTranslator (Sort Order = 30)
- ReadMembershipResponsePersonSourcedIdRequiredTranslator (Sort Order = 40)
- ReadMembershipResponseRoleTypeRequiredTranslator (Sort Order = 50)
ReadMembershipResponseSourcedGuidRequiredTranslator
The ReadMembershipResponseSourcedGuidRequiredTranslator puts the enrollment sourcedId into the response.
Implementation
D2L.IM.IPSIS.LIS.ResultAdapters.MMS.Default.ReadMembershipResponseSourcedGuidRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Sets the sourcedId field in the response to the given enrollment IM Enrollment Identifier.
- Processing continues to the next translators
Property
|
Translation Result Object
|
LIS Request Mapping
|
Enrollment SIS Identifier
|
result.sourcedGUID.sourcedId
|
request.SISMapping.IMEnrollmentIdentifier
|
Error behavior
If any needed request objects are null, the translator throws an ArgumentNullException. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
ReadMembershipResponseMembershipIdTypeOrgUnitTypeRequiredTranslator
The ReadMembershipResponseMembershipIdTypeOrgUnitTypeRequiredTranslator takes the org unit that the enrollment points to, and places its type into the response.
Implementation
D2L.IM.IPSIS.LIS.ResultAdapters.MMS.Default.ReadMembershipResponseMembershipIdTypeOrgUnitTypeRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Set the membershipIdType field in the response to one of the following based on the org unit mapping provided:
- group
- courseOffering
- courseSection
- sectionAssociation
- courseTemplate
- Processing continues to the next translator
Property
|
Translation Result Object
|
LIS Request Mapping
|
Org Unit Type
|
result.membership.membershipIdType
|
request.OrgUnitMapping.IMExternalInfo.OrgUnitTypeMapping.IMOrgUnitTypeId
|
Error behavior
If the translator cannot translate the org unit type id in the request into one of the enumerated types, an InvalidOrgUnitTypeException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
If any needed request objects are null, the translator throws an ArgumentNullException. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
ReadMembershipResponseCollectionSourcedIdOrgUnitRequiredTranslator
The ReadMembershipResponseCollectionSourcedIdOrgUnitRequiredTranslator puts the org unit SIS identifier into the response.
Implementation
D2L.IM.IPSIS.LIS.ResultAdapters.MMS.Default.ReadMembershipResponseCollectionSourcedIdOrgUnitRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Sets the collectionSourcedId in the response to the IMOrgUnitIdentifier given in the request.
- Processing continues to the next translator
Property
|
Translation Result Object
|
LIS Request Mapping
|
Org Unit SIS Identifier
|
result.membership.collectionSourcedId
|
request.OrgUnitMapping.IMExternalInfo.IMOrgUnitIdentifier
|
Error behavior
If any needed request objects are null, the translator throws an ArgumentNullException. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
ReadMembershipResponsePersonSourcedIdRequiredTranslator
The ReadMembershipResponsePersonSourcedIdRequiredTranslator sets the personSourcedId of the response to the IMUserIdentifier in the request.
Implementation
D2L.IM.IPSIS.LIS.ResultAdapters.MMS.Default.ReadMembershipResponsePersonSourcedIdRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Sets the personSourcedId in the response to the IMUserIdentifier given in the request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Person SIS Identifier
|
result.membership.member.personSourcedId
|
request.UserMapping.IMUserIdentifier
|
Error behavior
If any needed request objects are null, the translator throws an ArgumentNullException. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
ReadMembershipResponseRoleTypeRequiredTranslator
The ReadMembershipResponseRoleTypeRequiredTranslator sets the role object of the response to an array containing one role which matches the role from the request.
Implementation
D2L.IM.IPSIS.LIS.ResultAdapters.MMS.Default.ReadMembershipResponseRoleTypeRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Sets the role of the response to an array with only one entry. This entry contains only a roleType field, which is set to the SIS Role Identifier given in the request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Role SIS Identifier
|
result.membership.member.role\[0\].roleType
|
request.RoleMapping.IMRoleIdentifier
|
Error behavior
If any needed request objects are null, the translator throws an ArgumentNullException. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.