Los adaptadores del IPSIS usan la interfaz de complemento para IDeleteCourseOfferingHandler para eliminar las ofertas de cursos de Brightspace.
La implementación de la interfaz es D2L.IM.IPSIS.OrgUnits.CourseOfferings.Handlers.IDeleteCourseOfferingHandler.
Las siguientes listas de configuración proporcionan un punto de partida para cualquier implementación del IPSIS:
IPSIS, Plantilla: oferta de cursos
- DeleteCourseOfferingValidateHandler (Orden de clasificación = 10)
- DeleteCourseOfferingIMHandler (Orden de clasificación = 10)
DeleteCourseOfferingValidateHandler
Este controlador debería utilizarse siempre. Realiza la validación de entrada necesaria para asegurar que todos los demás controladores Delete funcionen correctamente.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseOfferings.Handlers.DeleteCourseOfferingValidateHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Comprueba que el Id del SIS en la solicitud corresponda a un elemento real en las tablas de IM.
- Comprueba que el tipo de unidad de organización que el servicio espera coincida con el tipo de unidad de organización en la base de datos.
- Si se pasan todas las comprobaciones, guarda la ExternalOrgUnitInfo en la solicitud para que los controladores la utilicen con posterioridad.
Comportamiento de error
Si la validación falla, se genera una excepción, junto con información lo más detallada posible.
Nota de configuración
El controlador Validate normalmente debe ejecutarse en primer lugar en la lista de controladores, antes de que cualquier controlador actualice o elimine la información de la base de datos.
DeleteCourseOfferingIMHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseOfferings.Handlers.DeleteCourseOfferingIMHandler
Comportamiento esperado
Si hay algo que depende de la oferta de cursos (elemento secundario de la Jerarquía IM), este proceso debe suspenderse. El controlador realiza las siguientes tareas:
- Realiza una eliminación temporal de la oferta de cursos de las tablas de IPSIS si nada depende de la oferta de cursos.
- Elimina todas las relaciones principales de Jerarquía IM para esta oferta.
- Establece el estado del resultado para que se ajuste a EntityDeleted.
- El procesamiento continúa con el siguiente controlador configurado.
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción, junto con información tan detallada como sea posible.
Nota de configuración
Por lo general, el controlador Delete IM se ejecutará en el último lugar de la lista de controladores.
DeleteCourseOfferingDeleteLEHandler
Este controlador se utiliza si el comportamiento deseado es que se eliminen todas las ofertas asignadas de Brightspace.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseOfferings.Handlers.DeleteCourseOfferingDeleteLEHandler
Comportamiento esperado
Para cada oferta de cursos de Brightspace asignada, el controlador realiza las siguientes tareas:
- Elimina la oferta de cursos (que se traduce automáticamente en una entrada de auditoría).
- Marca todas las asignaciones de la oferta de curso de Brightspace como eliminadas.
- Establece el estado del resultado en EntityDeleted.
- El proceso continúa con el controlador siguiente (devuelve True).
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción, junto con información tan detallada como sea posible.
Nota de configuración
- Esto debe ocurrir antes de que se elimine la tabla IM (por ejemplo: DeleteCourseOfferingIMHandler).
- Este controlador no se configurará al mismo tiempo que DeleteCourseOfferingInactiveLEHandler.
DeleteCourseOfferingCascadeDeleteCourseSectionHandler
Este controlador se utiliza si el comportamiento deseado es organizar en cascada la eliminación de la oferta de cursos de todas las secciones que son elementos secundarios de la oferta de cursos en las tablas de IM.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseOfferings.Handlers.DeleteCourseOfferingCascadeDeleteCourseSectionHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Identifica todas las secciones que son elementos secundarios de una oferta en las tablas de IM.
- Para cada sección, el controlador envía una DeleteCourseSection con el uso de la lista actual de controladores para IDeleteCourseSectionHandler.
- Si se elimina al menos una sección, el controlador cambia el estado del resultado a EntityDeleted.
- El procesamiento continúa con el siguiente controlador configurado.
Comportamiento de error
Si existe un problema durante el procesamiento, se arroja una excepción, junto con información tan detallada como sea posible.
Notas de configuración
- Esto debe ocurrir antes de que se elimine la oferta de cursos en las tablas de Brightspace o IM (es decir: DeleteCourseOfferingIMHandler, DeleteCourseOfferingDeleteLEHandler, DeleteCourseOfferingInactiveLEHandler)
- Este controlador no funciona correctamente, a menos que cada controlador DeleteCourseOffering configurado tenga un controlador configurado DeleteCourseSection que coincida. Por ejemplo, si utiliza DeleteCourseOfferingCascadeDeleteCourseSectionHandler y DeleteCourseOfferingIMHandler, entonces el DeleteCourseSectionIMHandler también debe utilizarse.