The ITranslateGroup interface is used to translate LIS Group Record into a Brightspace OrgUnit.
The interface implementation is D2L.IM.IPSIS.LIS.GMS.ITranslateGroup.
The following configuration list provides a starting point for any LIS implementation.
Template, IPSIS
- GroupRequestBaseTranslator (Sort Order = 10)
- GroupRequestTypeValueIdRequiredTranslator (Sort Order = 20)
- GroupRequestNameShortDescRequiredTranslator (Sort Order = 30)
GroupRequestBaseTranslator
The GroupRequestBaseTranslator maps the Group ID.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestBaseTranslator
Expected behavior
The translator performs the following tasks:
- Sets the OrgUnitCode and OrgUnitName to the value provided in the sourcedGUID.sourcedid.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Code
|
result.Entity.Code
|
groupRecord.sourcedGUID.sourcedId
|
Name
|
result.Entity.Name
|
groupRecord.sourcedGUID.sourcedId
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator (or an alternative Base translator) must be configured first in the list of translators.
GroupRequestTypeValueIdRequiredTranslator
The GroupRequestTypeValueIdRequiredTranslator requires and maps the first group type using the first typeValue in the request.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestTypeValueIdRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Adds the OrgUnitType Mapping from the first grouptype typeValue.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Type
|
result.LISGroupType
|
groupRecord.group.groupType.typeValue{0}.id.textString
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration notes
- This translator can be positioned anywhere after the Base translator.
- This translator (or a customized replacement) must always be configured.
GroupRequestNameShortDescRequiredTranslator
The GroupRequestNameShortDescRequiredTranslator requires and maps the name based on the short description.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestNameShortDescRequiredTranslator
Expected behavior
The translator performs the following tasks:
- Updates the OrgUnitName to contain the value from the short description in the request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Name
|
result.Entity.Name
|
groupRecord.group.description.shortDescription
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator can be positioned anywhere after the Base translator.
GroupRequestNameLongDescRequiredTranslator
The GroupRequestNameLongDescRequiredTranslator requires and maps the name based on the long description.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestNameRequiredLongDescTranslator
Expected behavior
The translator performs the following tasks:
- Updates the OrgUnitName to contain the value from the long description in the request.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Name
|
result.Entity.Name
|
groupRecord.group.description.longDescription
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator can be positioned anywhere after the Base translator.
GroupRequestNameLongDescOptionalTranslator
The GroupRequestNameLongDescOptionalTranslator sets the name based on the long description if it exists.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestNameLongDescOptionalTranslator
Expected behavior
The translator performs the following tasks:
- Updates the OrgUnitName to contain the value from the long description in the request if it exists.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Name
|
result.Entity.Name
|
groupRecord.group.description.longDescription
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator can be positioned anywhere after the Base translator.
GroupRequestNameShortDescOptionalTranslator
The GroupRequestNameShortDescOptionalTranslator sets the name based on the short description if it is provided.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestNameShortDescOptionalTranslator
Expected behavior
The translator performs the following tasks:
- Updates the OrgUnitName to contain the value from the short description in the request if it exists.
- Processing continues to the next translator.
Property
|
Translation Result Object
|
LIS Request Mapping
|
Name
|
result.Entity.Name
|
groupRecord.group.description.shortDescription
|
Error behavior
If there is a problem during processing, an IncompleteRequestException is thrown. This results in:
- The suspension of all further processing.
- A LIS response header containing:
- CodeMajor = failure.
- Severity = status.
- CodeMinor = invaliddata.
Configuration note
This translator can be positioned anywhere after the Base translator.
GroupRequestCreateRecordFromSourcedIdRequiredTranslator
The GroupRequestCreateRecordFromSourcedIdRequiredTranslator creates a valid group record if all that was passed in was the sourcedId.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.GMS.Default.GroupRequestCreateRecordFromSourcedIdRequiredTranslator
Expected behavior
The translator performs the following tasks:
- If a valid group record did not exist on the request, the translator builds out a dummy group record, using the sourcedId for the shortDescription and defaulting the type to Department.
- Processing continues to the next translator.
Configuration note
This translator must be positioned directly after the Base translator.
GroupRequestTruncateOrgUnitCodeTranslator
The GroupRequestTruncateOrgUnitCodeTranslator truncates the org unit code of the result object if the code is longer than 50 characters. The truncated code is set at 50 characters.
Implementation
D2L.IM.IPSIS.LIS.RequestAdapters.CMS.Default.GroupRequestTruncateOrgUnitCodeTranslator
Expected behavior
The translator performs the following tasks:
- Checks to see if the result.Entity.Code is longer than 50 characters. If yes, the code is truncated to 50 characters.
- Processing continues to the next translator.
Configuration note
This translator can be positioned anywhere after the Base translator.