The plug-in interface for IDeleteEnrollmentHandler is used by IPSIS Adapters to support the delete operation for Enrollments. A Delete is a bit different from an unenrollment in that the end result is that the enrollment record is removed from the IM Tables.
The interface implementation is D2L.IM.IPSIS.Enrollments.IDeleteEnrollmentHandler.
The Template - Enrollment, IPSIS configuration lists provide a starting point for any IPSIS implementation.
The following handler list is used as a starting point:
- DeleteEnrollmentReadIMHandler (Sort Order =10)
- DeleteEnrollmentLMSUnenrolLMSGroupSectionHandler (Sort Order = 20)
- DeleteEnrollmentLMSUnenrolLMSOfferingHandler (Sort Order = 30)
- DeleteEnrollmentIMHandler (Sort Order = 40)
DeleteEnrollmentIMHandler
The DeleteEnrollmentIMHandler deletes the specified Enrollment from the IM Platform Tables.
Implementation
D2L.IM.IPSIS.Default.Enrollments.DeleteEnrollmentIMHandler
Expected behavior
The handler performs the following tasks:
- Deletes the enrollment from the IM Tables.
- Sets the status of the result to EntityDeleted.
- Processing proceeds to next handler.
Error behavior
- If the IM Enrollment mapping is null the handler throws a DataNotFoundException.
If there is a problem during processing, an exception is thrown, along with as much detailed information as possible.
Configuration note
This handler should be configured after any LMS handlers.
DeleteEnrollmentUnenrolLMSGroupSectionHandler
The DeleteEnrollmentUnenrolLMSGroupSectionHandler is to delete (unenroll) the Enrollment from all mapped Groups/Section in Brightspace.
Implementation
D2L.IM.IPSIS.Default.Enrollments.Handlers.DeleteEnrollmentUnenrollLMSGroupSectionHandler
Expected behavior
The handler performs the following tasks:
- For each mapping that is an Brightspace Group or Section, if there is an enrollment in the Group/Section associated with the Section, the handler unenrolls the user (automatically resulting in an audit entry).
- If everything is successful, the handler sets the status of the result to EntityDeleted.
- If there is an error, the handler sets the status of the result to Error.
- Processing proceeds to the next handler.
Error behavior
If there is a problem during processing, an exception is thrown, along with as much detailed information as possible.
Configuration notes
- This handler should be configured before IM Delete handlers.
- This handler should be configured before any Offering handlers.
DeleteEnrollmentLMSOfferingHandler
This handler is to execute after the DeleteEnrollmentLPGroupSection handler, and operate on the parent objects for any affected course sections. It will unenroll the user from the Course Offering Enrollment in the LMS for any parent offering unless the user is still enrolled in another group/section with the same group type.
Implementation
D2L.IM.IPSIS.Default.Enrollments.Handlers.DeleteEnrollmentLMSOfferingHandler
Expected behavior
The handler performs the following tasks:
- For each mapping that is a Section/Group, the handler gets the Offering Parent.
- If the User is not enrolled in other (child) Groups/Sections with the same Group Type, the handler unenrolls the User from the Offering (automatically resulting in an audit entry).
- If everything is successful, the handler sets the status of the result to EntityDeleted
- If there is an error, the handler sets the status of the result to Error.
- Processing proceeds to next handler.
Error behavior
If there is a problem during processing, an exception is thrown, along with as much detailed information as possible.
Configuration notes
- This handler should be configured before IM Delete handlers.
- This handler should be configured after any Group/Section handlers.
DeleteEnrollmentReadIMHandler
This handler reads the IM mapping information for the identifier passed in the request.
Implementation
D2L.IM.IPSIS.Default.Enrollments.Handlers.DeleteEnrollmentReadIMHandler.
Expected behavior
The handler performs the following tasks:
- Retrieves the IM Enrollment mapping that corresponds to the identifier passed in the request.
- Retrieves the IM External info for the corresponding OrgUnit identifier passed in the request.
- Retrieves the IM OrgUnit mappings in the LMS for the OrgUnit identifier.
- Creates a list of enrollments in the LMS to delete.
- Processing proceeds to the next handler.
Error behavior
- If the IM Enrollment can not be retrieved for the identifier, the handler throws a EnrollmentMappingNotFoundException.
- If the IM External info cannot be found, the handler throws a DataNotFoundException.