Los adaptadores del IPSIS usan la interfaz de complemento para IReplaceCourseSectionHandler a fin de respaldar la operación de reemplazo de las secciones del curso.
La implementación de la interfaz es D2L.IM.IPSIS.OrgUnits.CourseSections.Handlers.IReplaceCourseSectionHandler.
Las listas de configuración del IPSIS Plantilla: secciones y Plantilla: grupos ofrecen un punto de partida para la implementación del IPSIS.
La siguiente lista de controladores se utiliza como punto de partida cuando se desea utilizar las Secciones de curso de Brightspace para las Secciones SIS:
- ReplaceCourseSectionReadHandler (Orden de clasificación = 10)
- ReplaceCourseSectionStatusDefaultActiveHandler (Orden de clasificación = 20).
- ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler (Orden de clasificación = 30)
- ReplaceCourseSectionValidateBaseHandler (Orden de clasificación = 40)
- ReplaceCourseSectionValidateParentOfferingExistsHandler (Orden de clasificación = 50)
- ReplaceCourseSectionCreateLMSSectionHandler (Orden de clasificación = 60)
- ReplaceCourseSectionCreateIMSectionHandler (Orden de clasificación = 70)
- ReplaceCourseSectionSaveLMSSectionHandler (Orden de clasificación = 80)
- ReplaceCourseSectionSaveIMHandler (Orden de clasificación = 90)
La siguiente lista de controladores se utiliza como punto de partida cuando se desea utilizar los Grupos de Brightspace para las Secciones SIS:
- ReplaceCourseSectionReadHandler (Orden de clasificación = 10)
- ReplaceCourseSectionStatusDefaultActiveHandler (Orden de clasificación = 20).
- ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler (Orden de clasificación = 30)
- ReplaceCourseSectionValidateBaseHandler (Orden de clasificación = 40)
- ReplaceCourseSectionValidateParentOfferingExistsHandler (Orden de clasificación = 50)
- ReplaceCourseSectionCreateLMSGroupHandler (Orden de clasificación = 60)
- ReplaceCourseSectionCreateIMSectionHandler (Orden de clasificación = 70)
- ReplaceCourseSectionSaveLMSGroupHandler (Orden de clasificación = 80)
- ReplaceCourseSectionSaveIMHandler (Orden de clasificación = 90)
ReplaceCourseSectionReadHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionReadHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Intenta leer la información acerca de la sección de curso en las tablas de IM.
- Si la encuentra, el controlador intenta leer las asignaciones de Brightspace para la sección curso e intenta leer acerca de la sección de curso en el .
- Para cada unidad de organización principal que se especifica en la solicitud, el controlador lee la información en Brightspace y la agrega a la lista Unidades de organización principales. Si el elemento principal no tiene ninguna asignación en Brightspace, el controlador genera una ParentNotFoundException.
- El procesamiento continúa con el siguiente controlador.
ReplaceCourseSectionStatusDefaultActiveHandler
Implementación
ReplaceCourseSectionStatusDefaultActiveHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Establece el estado del objeto de la sección de curso si es que ya no tiene un valor.
- El procesamiento continúa al siguiente controlador.
ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionParentDepartmentParentSemesterDefaultNoneHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Elimina el departamento principal o el semestre principal de la solicitud.
- Elimina la ParentOrgUnits si cualquiera de ellos se establece en el adaptador. Estos valores no se utilizan en la implementación predeterminada.
- El procesamiento continúa al siguiente controlador.
ReplaceCourseSectionValidateBaseHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionValidateBaseHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Realiza una verificación a fin de garantizar que valores de código y de nombre se especifiquen 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, entonces el controlador Validate genera una ArgumentNullException.
- Si la sección ya existe en las tablas de IM, el controlador comprueba que las unidades de organización principales que se especifican en la solicitud ya existan como elementos principales en la jerarquía IM. Si se realizó un intento para agregar o reemplazar un elemento principal de la sección, entonces se genera una excepción. El mensaje de error es: no es posible cambiar la oferta principal de la sección de cursos con el ID {id}. No se admite este comportamiento.
- El procesamiento continúa al siguiente controlador.
ReplaceCourseSectionValidateParentOfferingExistsHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionValidateParentOfferingExistsHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Realiza una verificación para garantizar que la oferta principal especificada existe tanto en la OrgUnit de Brightspace como en la OrgUnit del IPSIS.
- Si existe una asociación entre las dos, el controlador garantiza que la asociación sea válida.
- Si alguna de las verificaciones falla, el controlador Validate genera una ParentNotFoundException. La excepción se captura, registra y manipula en el administrador.
- El procesamiento continúa con el siguiente controlador.
ReplaceCourseSectionNameNoUpdateLMSHandler
El ReplaceCourseSectionNameNoUpdateLMSHandler se utiliza para impedir que se realicen actualizaciones en el nombre del Grupo/Sección de Brightspace después de la creación inicial.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionNameNoUpdateLMSHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Actualiza el objeto de la solicitud para indicar que el nombre no debe actualizarse.
- El procesamiento continúa con el siguiente controlador.
Nota de configuración
Se trata del controlador Manipular que está diseñado para configurarse antes que los controladores LMS Create y LMS Save.
ReplaceCourseSectionCreateLMSSectionHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionCreateLMSSectionHandler
Comportamiento esperado
Este controlador solo se ejecuta si la sección no existe todavía en las tablas de IM y de Brightspace. El controlador realiza las siguientes tareas:
- Crea la sección de curso con la información que se transmite en la solicitud (esto activa una entrada de auditoría de creación de sección).
- Si LMS Create se ejecuta correctamente, el controlador genera una entrada Auditoría de sección de curso creada, que hace referencia a la Id de sección de curso.
- Si Create no se ejecuta correctamente, el controlador establece ReplaceRequestStatus = CreateFailed y se detiene todo el procesamiento que esté realizando el controlador (devuelve False).
- Si todo es correcto, el controlador establece ReplaceRequestStatus = EntityCreated y el procesamiento continúa con el siguiente controlador (devuelve True).
ReplaceCourseSectionCreateIMSectionHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionCreateIMSectionHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Crea la OrgUnit de IPSIS si no existe actualmente.
- Agrega la Jerarquía IM adecuada.
- Para cada unidad de organización a la que se asigne, el controlador crea el esquema de IPSIS si no existe actualmente. Si se realiza de manera correcta, el controlador establece el ReplaceRequestStatus en EntityCreated y devuelve un valor verdadero. Si se produce un error, entonces el ReplaceRequestStatus se establece en CreateFailed y el controlador devuelve un valor falso.
- El procesamiento continúa con el siguiente controlador.
ReplaceCourseSectionSaveLMSSectionHandler
El ReplaceCourseSectionSaveLMSSectionHandler guarda los cambios para todas las secciones asignadas de Brightspace (cero o más), si es necesario.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionSaveLMSSectionHandler
Comportamiento esperado
Para cada sección asignada, si existen actualizaciones que deben realizarse, el controlador lleva a cabo las siguientes acciones:
- Actualiza la sección (esto activa una entrada de Auditoría de la sección actualización).
- Actualiza las propiedades de la unidad de organización en Brightspace, pero no altera los elementos principales de la sección.
- Si LMS Update se ejecuta correctamente, el controlador genera una entrada de Auditoría de sección de curso actualizada, lo que hace referencia a la Id de sección de curso.
- Si no se ejecuta correctamente, el controlador establece ReplaceRequestStatus = CreateFailed y se detiene todo el procesamiento que esté realizando el controlador (devuelve False).
- Si todo es correcto, el controlador establece ReplaceRequestStatus = EntityCreated y el procesamiento continúa con el siguiente controlador (devuelve True).
ReplaceCourseSectionSaveIMHandler
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionSaveIMHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Guarda los cambios de la sección y las asociaciones de curso de IPSIS si es necesario.
- Guarda los cambios en la Jerarquía IM.
ReplaceCourseSectionCreateLMSGroupHandler
El ReplaceCourseSectionCreateLMSGroupHandler cuando una organización desea crear grupos en lugar de secciones en Brightspace.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionCreateLMSGroupHandler
Comportamiento esperado
Este controlador solo se ejecuta si el grupo no existe todavía en las tablas de IM y de Brightspace. El controlador realiza las siguientes tareas:
- Obtiene el valor en d2l.integration.IPSIS.GroupCategory. Si el valor no está establecido, el controlador genera una InvalidConfigurationVariableException.
- Si una categoría de grupo que coincide con el nombre en d2l.integration.IPSIS.GroupCategory no existe, el controlador crea una categoría de grupo con un nombre y una descripción de la variable de configuración (esto activa un entrada de auditoría de creación de grupo).
- Si la creación de la categoría de grupo no es correcta, el controlador genera una excepción con una indicación explícita del problema y del identificador de la sección.
- Crea el grupo de curso con la categoría de grupo mencionada anteriormente mediante el uso de la información que se transmitió en la solicitud.
- Si la LMS Create se ejecuta correctamente, el controlador genera una entrada Auditoría de grupo de curso creada, que hace referencia a la Id de grupo de curso.
- Si no se ejecuta correctamente, el controlador establece ReplaceRequestStatus = CreateFailed y se detiene todo el procesamiento que esté realizando el controlador (devuelve False).
- Si todo es correcto, el controlador establece ReplaceRequestStatus = EntityCreated y el procesamiento continúa con el siguiente controlador (devuelve True).
Nota de configuración
Este controlador reemplaza al ReplaceCourseSectionCreateLMSSectionHandler en la lista de complemento predeterminada.
ReplaceCourseSectionSaveLMSGroupHandler
El ReplaceCourseSectionSaveLMSGroupHandler se utiliza cuando una organización desea crear grupos en lugar de secciones en el LMS.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionSaveLMSGroupHandler
Comportamiento esperado
Para cada grupo asignado de Brightspace, si existen actualizaciones que deben realizarse, el controlador lleva a cabo las siguientes acciones:
- Actualiza el grupo (esto activa una entrada de Auditoría de actualización de grupo) y actualiza las propiedades de la unidad de organización en Brightspace, pero no altera los elementos principales del grupo.
- Si la LMS Update se ejecuta correctamente, el controlador genera una entrada Auditoría de grupo de curso actualizada, que hace referencia a la Id de grupo de curso.
- Si no se ejecuta correctamente, el controlador establece ReplaceRequestStatus = CreateFailed y se detiene todo el procesamiento que esté realizando el controlador (devuelve False).
- Si todo es correcto, el controlador establece ReplaceRequestStatus = EntityCreated y el procesamiento continúa con el siguiente controlador (devuelve True).
Nota de configuración
Este controlador reemplaza al ReplaceCourseSectionSaveLMSSectionHandler en la lista de complemento predeterminada.
ReplaceCourseSectionValidateLMSOrgUnitExistsHandler
El ReplaceCourseSectionValidateLMSOrgUnitExistsHandler comprueba si la unidad de organización a la cual corresponde la solicitud se ha eliminado en Brightspace.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionValidateLMSOrgUnitExistsHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- 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), el controlador intenta obtener la ExternalOrgUnitInfo para la solicitud. Si la ExternalOrgUnitInfo es válida, entonces no es una creación y la unidad de organización se eliminó de Brightspace, por lo que se genera una UpdateOrgUnitFailedException. Esta excepción provoca 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 coloca después de los controladores Read, generalmente como uno de los primeros controladores Validar.
ReplaceCourseSectionBuildParentHierarchyRequiredHandler
El ReplaceCourseSectionBuildParentHierarchyRequiredHandler construye una oferta principal y una plantilla para la sección si no se pasó ninguna de estas en la solicitud.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.CourseSections.Handlers.ReplaceCourseSectionBuildParentHierarchyRequiredHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Comprueba si se especificó una oferta principal en la solicitud.
- De no ser así, el controlador crea una oferta principal y una plantilla principal, las cuales tienen el mismo nombre y código que la sección.
- Devuelve True.
Comportamiento de error
Si existe algún problema cuando se crea la plantilla o la oferta, se genera una CreateOrgUnitFailedException.
Nota de configuración
Este controlador debe colocarse antes que cualquier controlador Validate, generalmente justo después del controlador Read.