An IPSIS handler is the implementation of one or more business rules that apply to data coming from the Student Information System. Each handler is an implementation of a specific handler interface, which is aligned with actions commonly applied to Learning Platform and Brightspace (ex. Create User or Delete Section). The use of IPSIS handler interfaces, and their configurable handlers enable institutions to obtain configurable flexibility in what the system does when a request is received from an external system.
To promote re-use of handlers as much as possible, handlers are implemented to do very specific tasks. Multiple handlers are then used in series to perform more complex tasks. In some cases, there might be many handlers in play, so it is useful to group handlers into different categories, serving specific purposes.
Handlers are implemented using IPSIS handler conventions, which helps organizations understand the many handler options that are available.
The IPSIS Platform defines a collection of handler interfaces that are specific to the types of actions on objects that are typically being sent from an SIS to Brightspace. Each interface has a set of handlers that implement the interface in order to apply a specific set of business rules for an organization. In some cases, there are not many handlers to choose from because the business rules are generic and re-usable; however, in many cases, there are a large number of handlers to choose from.
ReplaceUserUpdateAuditorsHandler
The ReplaceUserUpdateAuditorsHandler creates the auditor relationships if it doesn’t already exist in Brightspace.
Implementation
D2L.IM.IPSIS.Default.Users.Handlers.ReplaceUserUpdateAuditorsHandler,D2L.IM.IPSIS.Default
Expected behavior
The handler performs the following tasks:
- If the auditor that is declared in the XML already exists in Brightspace, the auditor/auditee relationship is created automatically in Brightspace
- Missing relationships cause the system to delete the relationship in Brightspace
- 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
This should be placed after the Create handlers.
ReplaceCourseTemplateParentsNoUpdateLMSHandler
When a ReplaceTemplateRequest is processed through IPSIS, the ReplaceCourseTemplateParentsNoUpdateLMSHandler retrieves
custom org units above the course template and preserves this relationship even if they were not created through IPSIS so that it is not overwritten by the update operation.
Implementation
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentsNoUpdate
LMSHandler
Expected behavior
The handler performs the following tasks:
- The handler fetches all parents of the course template and updates the parent list
- Processing proceeds to next handler
Error behavior
- No errors are thrown in this handler
Configuration Node
- This handler must occur after the Read and Validate handlers
- This handler must occur before the Save handlers