Los Adaptadores del IPSIS utilizan la interfaz de complemento de IReplaceOrgUnitHandler a fin de admitir la operación de sustitución de cualquiera que no sea de tipos de OrgUnit estándar, incluidos: semestres, departamentos, plantillas de cursos, ofertas de cursos y secciones de cursos. Los ejemplos incluyen: instituciones de educación superior y los campus.
La implementación de la interfaz es D2L.IM.IPSIS.OrgUnits.OtherOrgUnits.Handlers.IReplaceOrgUnitHandler.
Las listas de configuración Plantilla, OrgUnit,IPSIS ofrece un punto de partida para la implementación del IPSIS.
La siguiente lista de controladores se utiliza como un punto de partida:
- ReplaceOrgUnitReadHandler (Orden de clasificación = 10)
- ReplaceOrgUnitValidateHandler (Orden de clasificación = 20)
- ReplaceOrgUnitCreateLMSHandler (Orden de clasificación = 30)
- ReplaceOrgUnitCreateIMHandler (Orden de clasificación = 40)
- ReplaceOrgUnitSaveLMSHandler (Orden de clasificación = 50)
- ReplaceOrgUnitSaveIMHandler (Orden de clasificación = 60)
ReplaceOrgUnitReadHandler
El controlador ReplaceOrgUnitReadHandler lee toda la información relacionada con la OrgUnit que existe en el LMS o en las tablas de IM de la base de datos para utilizarlos en otros controladores.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitReadHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Intenta leer la información acerca de la OrgUnit desde las tablas de IM.
- Si los encuentra, el controlador intenta leer las asignaciones del LMS de la OrgUnit con el Tipo de unidad de organización en particular e intenta leer sobre la OrgUnit desde el LMS.
- El controlador intenta leer la información acerca de las OrgUnit principales indicadas desde las tablas de IM.
- Si no encuentra ninguna, el controlador establece la lista principal predeterminada de la Organización en el único elemento principal.
- 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
Un controlador Read debe tener lugar antes que los controladores Validate.
ReplaceOrgUnitValidateHandler
El controlador ReplaceOrgUnitValidateHandler garantiza que se asignen un Código válido y un Nombre a la OrgUnit.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitValidateHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- El controlador Validate realiza una verificación a fin de garantizar que se hayan especificado el Código y el Nombre para la solicitud. Estos valores deben ser cadenas con una longitud superior a 0.
- Si el Código o el Nombre son nulos o están vacíos, el controlador genera una ArgumentNullException y se detiene todo el procesamiento del controlador.
- El controlador validate también realiza una verificación a fin de garantizar que la solicitud no intente cambiar el tipo (por ejemplo, cambiar una Institución de educación superior a un Departamento) de una unidad de organización existente.
- Si la solicitud está intentando cambiar el tipo, entonces se genera una InvalidOperationException y se detiene todo el procesamiento del controlador.
- Si todo es correcto, el procesamiento continúa con el siguiente controlador (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
Los controladores Validate deben configurarse antes que el controlador Crear.
ReplaceOrgUnitCreateLMSHandler
El controlador ReplaceOrgUnitCreateLMSHandler crea la OrgUnit en Brightspace.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitCreateLMSHandler
Comportamiento esperado
Este controlador solo se ejecuta si no hay OrgUnits de Brightspace asociadas con la solicitud. El controlador realiza las siguientes tareas:
- Crea la OrgUnit con la información transmitida en la solicitud (activación automática del registro de auditoría "Create {OrgUnitType}").
- Si toda la operación es correcta, el controlador establece el estado del resultado en EntityCreated.
- Si se produce un error, el controlador establece el estado del resultado en CreateFailed.
- 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.
Notas de configuración
- Este controlador debería colocarse después de los controladores Validate.
- El controlador Create LMS debe ejecutarse antes del controlador Create IM.
ReplaceOrgUnitCreateIMHandler
El controlador ReplaceOrgUnitCreateIMHandler crea la Entidad en las tablas de IM, y una asignación, si se define una.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitCreateIMHandler
Comportamiento esperado
Este controlador solo se ejecuta si no existen Entidades coincidentes en las tablas de IM. El controlador realiza las siguientes tareas:
- Crea la OrgUnit en la Plataforma de IM.
- Si existe una OrgUnit del LMS asociada con la solicitud, el controlador crea la Asignación de OrtUnit de la plataforma de IM en la OrgUnit del LMS.
- Si toda la operación es correcta, el controlador establece el estado del resultado en EntityCreated.
- 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
Este controlador debería colocarse después de los controladores CreateLMS.
ReplaceOrgUnitSaveLMSHandler
El controlador ReplaceOrgUnitSaveLMSHandler guarda los cambios que se han realizado en la OrgUnit del LMS.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitSaveLMSHandler
Comportamiento esperado
Este controlador solo se ejecuta si hay cambios que deben guardarse para la OrgUnit del LMS. El controlador realiza las siguientes tareas:
- Actualiza la OrgUnit (activación automática del registro de auditoría).
- Si la solicitud es una actualización, y se modificó un campo como mínimo, establezca el estado del resultado en EntityUpdated.
- 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
Este controlador se coloca después de los controladores Create.
ReplaceOrgUnitSaveIMHandler
El controlador ReplaceOrgUnitSaveIMHandler guarda los cambios que se han realizado en la Entidad de IM y las Asignaciones.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitSaveIMHandler
Comportamiento esperado
Este controlador solo se ejecuta si hay cambios que deben guardarse para la Entidad o la Jerarquía de las tablas de IM. El controlador realiza las siguientes tareas:
- Actualiza la Entidad IM si hay cambios pendientes.
- Actualiza las relaciones de Jerarquía de la Entidad IM si se agregaron o eliminaron elementos principales.
- 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
Este controlador debería colocarse después de los controladores SaveLMS.
ReplaceOrgUnitMapByCodeHandler
El controlador ReplaceOrgUnitMapByCodeHandler asocia una OrgUnit con una OrgUnit del LMS existente mediante la unión de un OrgUnitCode y el tipo.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitMapByCodeHandler
Comportamiento esperado
Este controlador solo se debe utilizar si se espera que el Código de la Unidad de organización sea único dentro de una organización.
El controlador realiza las siguientes tareas:
- Si no existe una Asignación de OrgUnit, el controlador intenta encontrar una OrgUnit en Brightspace que coincida con OrgUnitCode y OrgUnitType.
- Si se encuentra una coincidencia, el controlador actualiza el objeto de solicitud para contener la orgUnit coincidente.
- Si no se encuentran coincidencias, el controlador no realiza ninguna acción.
- Si se encuentran varias coincidencias, el controlador genera una MultipleOrgUnitsFoundException.
- El procesamiento continúa al siguiente controlador.
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
Este controlador suele colocarse entre los controladores Read y Create, en cuyo caso solo se ejecuta si los controladores Read no logran encontrar una OrgUnit asignada.
ReplaceOrgUnitNameNoUpdateLMSHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitNoUpdateLMSHandler
Comportamiento esperado
- Actualiza el objeto de solicitud para indicar que el Nombre no debe actualizarse.
- 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
Este controlador se coloca antes de los controladores SaveLMS.
ReplaceOrgUnitValidateLMSOrgUnitExistsHandler
El controlador ReplaceOrgUnitValidateLMSOrgUnitExistsHandler comprueba si la unidad de organización a la que corresponde la solicitud se ha eliminado de Brightspace.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.OtherOrgUnits.Handlers.ReplaceOrgUnitValidateLMSOrgUnitExistsHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- El controlador intenta obtener la unidad de organización actual.
- Si la unidad de organización actual no existe (la solicitud es "create" o la unidad de organización se ha eliminado de Brightspace):
- Intente obtener la ExternalOrgUnitInfo de la solicitud
- Si la ExternalOrgUnitInfo es válida, no se trata de una solicitud "create", y la unidad de organización se eliminó del LMS. Por lo tanto, se genera una UpdateOrgUnitFailedException.
- Esta excepción provocará que el Servicio del LIS responda con invaliddata. Se consideró que este es el código de respuesta más apropiado para esta situación.
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
Este controlador se ejecuta después de los controladores Read, generalmente como uno de los primeros controladores Validate.