De plug-in-interface voor IReplaceCourseTemplateHandler wordt door IPSIS-adapters gebruikt om het vervangen van cursussjablonen te ondersteunen.
De interface-implementatie is D2L.IM.IPSIS.OrgUnits.CourseTemplates.Handlers.IReplaceCourseTemplateHandler.
De volgende configuratielijsten bieden een startpunt voor elke IPSIS-implementatie:
IPSIS, Sjabloon - Cursussjabloon
ReplaceCourseTemplateRetainExistingDepartmentHandler
De ReplaceCourseTemplateRetainExistingDepartmentHandler controleert of er geen bovenliggende afdeling voor de aanvraag is opgegeven. Zo ja, dan behoudt de handler bestaande bovenliggende afdelingen tijdens het bijwerken van de sjabloon (in tegenstelling tot het verwijderen van alle bovenliggende onderdelen).
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateRetainExistingDepartmentHandler®
Verwacht gedrag
De handler voert de volgende taken uit:
- Controleert of er geen bovenliggend onderdeel is opgegeven in de aanvraag.
- Als er geen bovenliggend onderdeel is opgegeven, probeert de handler de huidige organisatie-eenheid op te halen (om te controleren of de aanvraag een update is).
- Als de huidige organisatie-eenheid geldig is, voegt de handler (voor elk bovenliggend onderdeel in request.CurrentParents) het bovenliggende onderdeel toe aan request.UpdatedParents. Voor elk bovenliggend onderdeel in de ParentOrgUnits van de huidige organisatie-eenheid voegt de handler het bovenliggende onderdeel toe aan request.ParentOrgUnits
- Gaat verder naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerking over de configuratie
Deze handler moet worden geconfigureerd vóór eventuele Read-handlers, en moet daarom eerst worden geconfigureerd.
ReplaceCourseTemplateReadHandler
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateReadHandler®
Verwacht gedrag
De handler voert de volgende taken uit:
- Probeert informatie over de cursussjabloon te lezen uit de IM-tabellen.
- Indien gevonden, probeert de toewijzingen aan Brightspace® voor de cursussjabloon te lezen.
- Indien gevonden, probeert over de cursussjabloon van Brightspace® te lezen.
- Controleert of er een bovenliggende afdeling is opgegeven in de aanvraag. Als er een bovenliggende afdeling is opgegeven, voegt de handler de bovenliggende afdeling toe aan de ParentOrgUnits van de aanvraag. Als er geen bovenliggende afdeling is opgegeven, wordt de org ingesteld als het bovenliggende onderdeel van de aanvraag (in request.ParentOrgUnits).
- Als een bovenliggend onderdeel is opgegeven maar dit geen IM-toewijzingen in de database heeft, meldt de Read-handler een ParentNotFoundException en stopt de verwerking van alle handlers.
- De verwerking gaat door naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerking over de configuratie
De Read-handler is doorgaans de eerste van de handlers, tenzij de ReplaceCourseTemplateRetaineExistingDepartmentHandler is geconfigureerd. In dat geval moet de Read-handler de tweede handler zijn.
ReplaceCourseTemplateValidateHandler
De ReplaceCourseTemplateValidateHandler is bedoeld om ervoor te zorgen dat de minimaal vereiste informatie beschikbaar is voor de Create-handlers.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateValidateHandler®
Verwacht gedrag
De handler voert de volgende taken uit:
- De Validate-handler controleert of er zowel een code als een naam voor de aanvraag is opgegeven. De code- en naamwaarden moeten tekenreeksen zijn met een lengte groter dan 0. Als de code of de naam null of leeg is, genereert de Validate-handler een ArgumentNullException en wordt alle verwerking van de handler gestopt.
- De verwerking gaat door naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerkingen over de configuratie
- De Read-handlers moeten plaatsvinden vóór de Validate-handler.
- Deze handler moet worden geconfigureerd om te worden uitgevoerd vóór de Create-handlers.
ReplaceCourseTemplateParentsNoUpdateLMSHandler
Wanneer een ReplaceTemplateRequest wordt verwerkt via IPSIS, haalt de ReplaceCourseTemplateParentsNoUpdateLMSHandler
aangepaste organisatie-eenheden op boven de cursussjabloon en wordt deze relatie behouden zelfs als de organisatie-eenheden niet via IPSIS zijn gemaakt, zodat de relatie niet wordt overschreven door de updatebewerking.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentsNoUpdate®
LMSHandler
Verwacht gedrag
De handler voert de volgende taken uit:
- De handler haalt alle bovenliggende onderdelen van de cursussjabloon op en werkt de lijst met bovenliggende onderdelen bij
- De verwerking gaat door naar de volgende handler
Foutgedrag
- Er worden geen fouten gegenereerd in deze handler
Configuratieknooppunt
- Deze handler moet plaatsvinden na de Read- en Validate-handlers
- Deze handler moet plaatsvinden vóór de Save-handlers
ReplaceCourseTemplateDisallowParentChangesIfChildrenExistHandler
De ReplaceCourseTemplateDisallowParentChangesIfChildrenExistHandler kan worden gebruikt om te voorkomen dat een bovenliggende afdeling wordt verwijderd of vervangen door een sjabloon die al onderliggende onderdelen heeft. Bij afwezigheid van deze handler kunnen bovenliggende onderdelen vrij worden bijgewerkt, waardoor de hiërarchiegegevens voor bovenliggende en onderliggende onderdelen van de huidige sjabloon kunnen worden gewijzigd.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentDepartmentValidateHandler®
Verwacht gedrag
De handler voert de volgende taken uit:
- Als de sjabloon al bestaat (vervangen in plaats van maken):
- Als een bovenliggende organisatie-eenheid wordt verwijderd of vervangen, genereert de handler een uitzondering om te voorkomen dat andere handlers kunnen worden uitgevoerd.
Opmerkingen over de configuratie
- Deze handler moet zo worden geconfigureerd dat deze na de Validate-handlers wordt uitgevoerd.
- Deze handler moet worden geconfigureerd om te worden uitgevoerd vóór de Create-handlers.
ReplaceCourseTemplateParentDepartmentValidateHandler
De ReplaceCourseTemplateParentDepartmentValidateHandler kan worden ingesteld om het scenario vast te leggen wanneer er geen bovenliggende afdeling wordt verstrekt voor de sjabloon.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateParentDepartmentValidateHandler®
Verwacht gedrag
De handler voert de volgende taken uit:
- Als er geen bovenliggende afdeling wordt gevonden, controleert de handler of in Formulierelement, Cursus maken > Afdeling IsRequired is ingesteld op False.
- Als deze optie is ingesteld op True, genereert de handler een uitzondering Ongeldige configuratievariabele, die instructies bevat over het oplossen van problemen.
Opmerkingen over de configuratie
- De Read-handler moet vóór de Validate-handler plaatsvinden.
- De Validate-handler moet worden geconfigureerd om te worden uitgevoerd vóór de Create-handlers.
ReplaceCourseTemplateCreateLMSHandler
De ReplaceCourseTemplateCreateLMSHandler maakt de cursussjabloon in Brightspace®.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateCreateLMSHandler®
Verwacht gedrag
Deze handler wordt alleen uitgevoerd als er geen bestaande cursussjablonen voor Brightspace® aan de aanvraag zijn gekoppeld. De handler voert de volgende taken uit:
- Als er geen bovenliggende afdeling is opgegeven, heeft de nieuwe sjabloon de organisatie ingesteld als bovenliggend onderdeel. Dit veroorzaakt een fout als het formulierelement van de cursusafdeling niet goed is geconfigureerd. Controleer in Formulierelementen of bij Cursus maken > Afdeling de markering IsRequired is ingesteld op False om het maken te laten slagen.
- De handler maakt de cursussjabloon aan de hand van de informatie die in de aanvraag wordt doorgegeven (waardoor automatische registratie in het controlelogboek voor Sjabloon maken wordt geactiveerd).
- Als de Create-taak is geslaagd, stelt de handler ReplaceRequestStatus = EntityCreated in.
- De verwerking gaat door naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerkingen over de configuratie
- Deze handler wordt na eventuele Validate-handlers geplaatst.
- Deze handler wordt vóór Create IM-handlers geplaatst.
ReplaceCourseTemplateCreateIMHandler
De ReplaceCourseTemplateCreateIMHandler maakt de entiteit in de IM-tabellen en een toewijzing als deze is gedefinieerd.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateCreateIMHandler®
Verwacht gedrag
Deze handler wordt alleen uitgevoerd als er geen overeenkomende ExternalOrgUnitInfo en/of toewijzing is in de IM-tabellen. De handler voert de volgende taken uit:
- Hiermee maakt u de cursussjabloon in het IM-platform.
- Hiermee worden de vermeldingen in de IM-hiërarchie gemaakt.
- Als er een OrgUnit van Brightspace® aan de aanvraag is gekoppeld, maakt de handler de cursussjabloontoewijzing van het IM-platform aan de Brightspace®-cursussjabloon.
- Als alles succesvol is, stelt de handler ReplaceRequestStatus = EntityCreated in.
- De verwerking gaat door naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerkingen over de configuratie
- Deze handler wordt na de CreateLMS-handler geplaatst.
- Het niet configureren van ReplaceCourseTemplateCreateIMHandler of ReplaceCourseTemplateSaveIMHandler is legitiem. Zonder IM-tabelvermeldingen te maken weet IPSIS niet of de sjabloon in Brightspace® bestaat. Er moet een toewijzingshandler worden geconfigureerd die de SIS-aanvraag aan de Brightspace®-sjabloon toewijst om updates mogelijk te maken. Zonder een toewijzingshandler maakt IPSIS altijd een nieuwe sjabloon, zelfs als er een overeenkomende sjabloon bestond.
ReplaceCourseTemplateSaveLMSHandler
De ReplaceCourseTemplateSaveLMSHandler slaat alle wijzigingen op die zijn aangebracht in de cursussjabloon van Brightspace®.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateSaveLMSHandler®
Verwacht gedrag
Deze handler wordt alleen uitgevoerd als er wijzigingen zijn die moeten worden opgeslagen voor de cursussjabloon van Brightspace®. De handler voert de volgende taken uit:
- Hiermee werkt u de cursussjabloon van Brightspace® bij (waardoor automatische registratie in het controlelogboek voor Sjabloon bijwerken wordt geactiveerd).
- Als alles succesvol is, als ReplaceRequestStatus != EntityCreated, stelt de handler ReplaceRequestStatus = EntityUpdated in.
- De verwerking gaat door naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerking over de configuratie
Deze handler wordt na Create-handlers geplaatst.
ReplaceCourseTemplateSaveIMHandler
De Save-handler slaat alle wijzigingen op die zijn aangebracht in IM-entiteit en toewijzingen. Dit omvat het bijwerken van de hiërarchiegegevens en het doorgeven van wijzigingen aan alle bovenliggende elementen en afstammelingen van de opgegeven sjabloon.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateSaveIMHandler®
Verwacht gedrag
Deze handler wordt alleen uitgevoerd als er wijzigingen zijn die moeten worden opgeslagen voor de entiteit of toewijzingen in de IM-tabellen. De handler voert de volgende taken uit:
- Werkt de IM-entiteit bij.
- Werkt de IM-hiërarchie bij en werkt relatiegegevens bij voor alle betrokken boven- en onderliggende onderdelen.
- Werkt de toewijzingen van IM-entiteiten bij.
- Als alles succesvol is, stelt de handler ReplaceRequestStatus = EntityUpdated in.
- De verwerking gaat door naar de volgende handler.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerkingen over de configuratie
- Deze handler wordt na de SaveLMS-handler geplaatst.
- Het niet configureren van ReplaceCourseTemplateCreateIMHandler of ReplaceCourseTemplateSaveIMHandler is legitiem. Zonder IM-tabelvermeldingen te maken weet IPSIS niet of de sjabloon bestaat in Brightspace®. Er moet een toewijzingshandler worden geconfigureerd die de SIS-aanvraag aan de Brightspace®-sjabloon toewijst, zodat updates kunnen worden uitgevoerd. Zonder een toewijzingshandler maakt IPSIS altijd een nieuwe sjabloon, zelfs als er een overeenkomende sjabloon bestond.
ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler
De ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler controleert of de organisatie-eenheid waarmee de aanvraag overeenkomt, is verwijderd in Brightspace®.
Implementatie
D2L.IM.IPSIS.Default.OrgUnits.CourseTemplates.Handlers.ReplaceCourseTemplateValidateLMSOrgUnitExistsHandler®
Verwacht gedrag
De handler voert de volgende taken uit:
- Probeert de huidige organisatie-eenheid op te halen.
- Als de huidige organisatie-eenheid niet bestaat (ofwel de aanvraag is een 'create' ofwel de organisatie-eenheid is verwijderd uit Brightspace®), probeert de handler de ExternalOrgUnitInfo voor de aanvraag op te halen.
- Bij geldige ExternalOrgUnitInfo is dit geen 'create' en is de organisatie-eenheid verwijderd uit Brightspace®. In dat geval wordt er een UpdateOrgUnitFailedException gegenereerd.
- Deze uitzondering zorgt ervoor dat de LIS-service reageert met invaliddata. Dit werd beschouwd als de meest geschikte responscode voor deze situatie.
Foutgedrag
Als zich een probleem voordoet tijdens de verwerking, wordt er een uitzondering gegenereerd, samen met zoveel mogelijk gedetailleerde informatie.
Opmerking over de configuratie
Deze handler wordt na de Read-handlers geplaatst, meestal als een van de eerste Validate-handlers.