Los Adaptadores del IPSIS usan la interfaz de complemento para IReplaceSectionAssociationHandler así como la IU de la Asociación de sección a fin de respaldar la operación de reemplazo de las Asociaciones de sección.
En la configuración típica, se convierte una solicitud de SectionAssociation en una Oferta en Brightspace. Las Secciones dependen de la Oferta. La Oferta hereda algunas propiedades, incluida la Plantilla principal, de la primera Sección de la lista.
La implementación de la interfaz es D2L.IM.IPSIS.OrgUnits.SectionAssociations.Handlers.IReplaceSectionAssociationHandler.
Las siguientes listas de configuración proporcionan un punto de partida para cualquier implementación del IPSIS:
IPSIS, Plantilla: Secciones
- ReplaceSectionAssociationReadHandler (Orden de clasificación = 10)
- ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler (Orden de clasificación = 20)
- ReplaceSectionAssociationValidateHandler (Orden de clasificación = 30)
- ReplaceSectionAssociationCreateLMSOfferingHandler (Orden de clasificación = 40)
- ReplaceSectionAssociationCreateIMHandler (Orden de clasificación = 50)
- ReplaceSectionAssociationAddLMSSectionHandler (Orden de clasificación = 60)
- ReplaceSectionAssociationUnenrollLMSGroupSectionHandler (Orden de clasificación = 70)
- ReplaceSectionAssociationUnenrollLMSOfferingHandler (Orden de clasificación = 80)
- ReplaceSectionAssociationRemoveLMSGroupSectionHandler (Orden de clasificación = 90)
- ReplaceSectionAssociationSaveLMSOfferingHandler (Orden de clasificación = 100)
- ReplaceSectionAssociationSaveIMHandler (Orden de clasificación = 110)
IPSIS, Plantilla: Grupos
- ReplaceSectionAssociationReadHandler (Orden de clasificación = 10)
- ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler (Orden de clasificación = 20)
- ReplaceSectionAssociationValidateHandler (Orden de clasificación = 30)
- ReplaceSectionAssociationCreateLMSOfferingHandler (Orden de clasificación = 40)
- ReplaceSectionAssociationCreateIMHandler (Orden de clasificación = 50)
- ReplaceSectionAssociationAddLMSGroupHandler (Orden de clasificación = 60)
- ReplaceSectionAssociationUnenrolLMSGroupSectionHandler (Orden de clasificación = 70)
- ReplaceSectionAssociationUnenrolLMSOfferingHandler (Orden de clasificación = 80)
- ReplaceSectionAssociationRemoveLMSGroupSectionHandler (Orden de clasificación = 90)
- ReplaceSectionAssociationSaveLMSOfferingHandler (Orden de clasificación = 100)
- ReplaceSectionAssociationSaveIMHandler (Orden de clasificación = 110)
SA, Plantilla: Secciones
La Interfaz del usuario de la Asociación de sección utiliza este extremo cuando las asociaciones requieren la creación o actualización de las Secciones del LMS:
SA, Plantilla: Grupos
La Interfaz del usuario de la Asociación de sección utiliza este extremo cuando las asociaciones requieren la creación o actualización de los Grupos del LMS:
- ReplaceSectionAssociationAddLMSGroupHandler (Orden de clasificación = 10)
- ReplaceSectionAssociationUnenrolLMSGroupSectionHandler (Orden de clasificación = 20)
- ReplaceSectionAssociationUnenrolLMSOfferingHandler (Orden de clasificación = 30)
- ReplaceSectionAssociationRemoveLMSGroupSectionHandler (Orden de clasificación = 40)
ReplaceSectionAssociationReadHandler
El controlador Read obtiene una gran cantidad de información de las tablas de IM y del LMS, y la agrega al mensaje de solicitud para que los controladores la utilicen.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationReadHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Lee la Asociación de sección desde las Tablas de IM, si existe.
- Lee la Jerarquía de Asociación de sección desde las Tablas de IM, si existe.
- Lee las Asignaciones de Asociación de sección desde las Tablas de IM, si existe. Si no existen asignaciones, el controlador no crea ni elimina las secciones del LMS. Los cambios en las secciones (agregar/eliminar) ocurren solamente en las Tablas de IM.
- Lee las Secciones del curso desde las Tablas de IM para las Secciones del curso en la Asociación.
- Prepara una lista de Secciones para agregar. Estas consisten en secciones faltantes en la jerarquía, que forman parte de la solicitud actual.
- Prepara una lista de Secciones para eliminar. Estos consisten en secciones adicionales en la jerarquía que no forman parte de la solicitud actual.
- Si puede determinarse la asignación de las secciones que se eliminarán, el controlador incluye la asignació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 normalmente se ejecutará como el primer controlador, ya que es el controlador Read predeterminado.
ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler
Si las Propiedades de la asociación de sección no se establecen en un valor no nulo, ajústelas a los valores de la Primera sección en la Lista de asociación. Las propiedades que se establecen como faltantes incluyen el Nombre, el Estado, las Fechas y la Lista principal.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationPropertiesDefaultFirstSectionHandler
Comportamiento esperado
Este controlador solo entra en acción la primera vez que IPSIS recibe la Asociación de sección (es decir, no existe en las Tablas de IM).
Las Propiedades de la asociación de sección se establecen a partir de las propiedades especificadas en las Tablas de IM de la primera Sección en la Lista de asociaciones si no se establecieron previamente:
- Nombre
- Estado
- Fecha de inicio
- Fecha final
- Lista principal (tomada desde la primera Oferta principal de la primera sección, incluye Plantillas o Semestres)
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 configura normalmente antes de cualquier controlador Validate y Create.
ReplaceSectionAssociationValidateHandler
Este controlador garantiza que la información mínima requerida esté disponible para crear una Oferta de cursos para la Asociación de sección.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationValidateHandler
Comportamiento esperado
Este controlador genera la excepción apropiada si no se define alguno de los siguientes valores:
- Nombre
- Código
- Estado
- Plantilla del curso principal (nuevas Asociaciones solamente)
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 configura normalmente antes de cualquier controlador Validate y Create.
ReplaceSectionAssociationCreateLMSOfferingHandler
El controlador ReplaceSectionAssociationCreateLMSOfferingHandler crea una Oferta de cursos del LMS para la Asociación de sección si esta es la primera vez que se ve la Asociación de sección.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationCreateLMSOfferingHandler
Comportamiento esperado
Este controlador solo se ejecuta si no existen registros de esta Asociación de sección en las tablas de IM. El controlador realiza las siguientes tareas:
- Crea una Unidad de organización de Oferta de cursos del LMS (genera automáticamente una entrada de auditoría).
- 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 debe ejecutarse después del controlador Validate.
- Este controlador debe ejecutarse antes del controlador Create IM.
ReplaceSectionAssociationCreateIMHandler
El ReplaceSectionAssociationCreateIMHandler crea una Asociación de sección de IM y la asigna a la entidad del LMS adecuada, si existe.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationCreateIMHandler
Comportamiento esperado
Este controlador solo se ejecuta si no existen registros de esta Asociación de sección en las tablas de IM. El controlador realiza las siguientes tareas:
- Crea un Registro de asociación de sección de IM.
- Si se crea una OrgUnit en el LMS para la Asociación de sección, el controlador crea la Asignación.
- 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.
Notas de configuración
Este controlador debe ejecutarse después del controlador Validate.
Este controlador debe ejecutarse antes del controlador Create IM.
ReplaceSectionAssociationAddLMSSectionHandler
El ReplaceSectionAssociationAddLMSSectionHandler crea una Sección de cursos del LMS para las Secciones asociadas definidas en Agregar lista de secciones.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationAddLMSSectionHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Crea una Unidad de organización de Sección de cursos del LMS (genera automáticamente una entrada de auditoría).
- Crea un registro de Asignaciones de IM para la sección y la Unidad de organización creada recientemente.
- 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 debe colocarse después del controlador Create IM.
Este controlador debe ejecutarse antes del controlador Save IM.
ReplaceSectionAssociationAddLMSGroupHandler
El ReplaceSectionAssociationAddLMSGroupHandler crea un Grupo de cursos del LMS para las Secciones asociadas definidas en Agregar lista de secciones.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationAddLMSGroupHandler
Comportamiento esperado
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 del LMS coincidente con el nombre en d2l.integration.IPSIS.GroupCategory no existe, el controlador crea una Categoría de grupo del LMS con un nombre y una descripción de la variable de configuración (desencadena una tarea de Crear entrada de auditoría de grupos).
- Si la creación de la Categoría de grupo del LMS no es satisfactoria, el controlador genera una excepción con una indicación explícita del problema y el identificador de la sección.
- Crea una Unidad de organización de Grupo de cursos del LMS con el Tipo de grupo (genera automáticamente una entrada de auditoría).
- Crea un registro de Asignaciones de IM para la sección y la Unidad de organización creada recientemente.
- 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 debe colocarse después del controlador Create IM.
- Este controlador debe ejecutarse antes del controlador Save IM.
- Este controlador proporciona una alternativa al ReplaceSectionAssociationAddLMSSectionHandler.
ReplaceSectionAssociationUnenrolLMSGroupSectionHandler
El controlador ReplaceSectionAssociationUnenrolLMSGroupSectionHandler anula la inscripción de los usuarios de las secciones que deben eliminarse desde la asociación.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationUnenrolLMSGroupSectionHandler
Comportamiento esperado
Este controlador solo se ejecuta si existen secciones asociadas (con una asignación) que deben eliminarse del LMS. El controlador realiza las siguientes tareas:
- Determina qué usuarios están inscritos en la Sección (desde la Tabla de inscripciones de IM).
- Anula la inscripción de los usuarios desde la Sección de cursos del LMS o el Grupo del LMS que debe eliminarse (genera automáticamente una entrada de auditoría).
- 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 debe colocarse después del controlador Create IM.
- Este controlador debe ejecutarse antes del controlador DeleteLMSGroupSection para garantizar que las inscripciones iniciadas por el LIS no permanezcan en la entidad del LMS cuando se elimina.
- Este controlador debe ejecutarse antes del controlador Save IM.
ReplaceSectionAssociationUnenrolLMSOfferingHandler
El controlador ReplaceSectionAssociationUnenrolLMSOfferingHandler anula la inscripción de los usuarios de las ofertas principales de la asignación de secciones eliminada, a menos que estén inscritos en otro grupo o sección con el mismo tipo de grupo en la oferta.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationUnenrolLMSOfferingHandler
Comportamiento esperado
Este controlador solo se ejecuta si existen secciones asociadas (con una asignación) que deben eliminarse del LMS. El controlador realiza las siguientes tareas:
- Determina qué usuarios están inscritos en la Sección (desde la Tabla de inscripciones de IM).
- Si el usuario no está inscrito en oras Secciones (o Grupos) con el mismo tipo de grupo, en la Oferta del LMS, el controlador anula las inscripciones del usuario de la Oferta de cursos del LMS que debe eliminarse (genera automáticamente una entrada de auditoría).
- 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 debe colocarse después del controlador Create IM.
- Este controlador debe colocarse antes del controlador DeleteLMSGroupSection para garantizar que las inscripciones no permanezcan en un LMS inadecuado.
- Este controlador debe ejecutarse antes del controlador Save IM.
ReplaceSectionAssociationRemoveLMSGroupSectionHandler
El controlador ReplaceSectionAssociationRemoveLMSGroupSectionHandler elimina el Grupo o la Sección del LMS que está asignado a la Sección que se elimina de la Asociación de sección.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationRemoveLMSGroupSectionHandler
Comportamiento esperado
Este controlador solo se ejecuta si existen secciones asociadas (con una asignación) que deben eliminarse del LMS. El controlador realiza las siguientes tareas:
- Elimina el Grupo o la Sección del LMS (genera automáticamente una entrada de auditoría).
- Elimina la asignación del Grupo o la Sección del LMS.
- 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 debe colocarse después del controlador Create IM.
- Este controlador debe ejecutarse después de los controladores Unenroll para garantizar que las inscripciones iniciadas por el LIS no permanezcan en la entidad del LMS cuando se elimina.
- Este controlador debe ejecutarse antes del controlador Save IM.
ReplaceSectionAssociationUpdateHierarchyHandler
El ReplaceSectionAssociationUpdateHierarchyHandler guarda los cambios realizados en la Asociación de sección de IM, la Jerarquía de IM y las asignaciones de la Asociación de sección.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers. ReplaceSectionAssociationUpdateHierarchyHandler
Comportamiento esperado
Este controlador solo se ejecuta si se realizan cambios en las tablas de IM. El controlador realiza las siguientes opciones:
-
Actualiza la Jerarquía de IM si existen actualizaciones de las asignaciones de la sección:
-
Todos los registros Agregar deben tener nuevas Secciones para agregarlas como secundarias a la Asociación de sección.
-
Todos los registros Eliminar deben tener las Secciones que se eliminarán como elementos secundarios de la Asociación de sección.
-
Actualiza las asignaciones de IM para cualquier Grupo o Sección nuevos que se han creado o eliminado:
-
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 normalmente se ejecuta en último lugar.
ReplaceSectionAssociationSaveLMSOfferingHandler
El controlador ReplaceSectionAssociationSaveLMSOfferingHandler guarda cualquier cambio realizado a las Ofertas del LMS asignadas.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationSaveLMSOfferingHandler
Comportamiento esperado
Este controlador solo se ejecuta si existen Ofertas asignadas y si se han modificado las Propiedades de la oferta. El controlador realiza las siguientes tareas:
- Actualiza la Oferta de cursos del LMS (genera automáticamente una entrada de auditoría).
- Si el estado del resultado no es EntityCreated, 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.
Notas de configuración
- Este controlador debe colocarse después del controlador Create IM.
- Este controlador debe ejecutarse después de los controladores add/remove group/section.
- Este controlador debe ejecutarse antes del controlador Save IM.
ReplaceSectionAssociationSaveIMHandler
El controlador ReplaceSectionAssociationSaveIMHandler guarda los cambios realizados en la Asociación de sección de IM, la Jerarquía de IM y las asignaciones de la Asociación de sección.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationSaveIMHandler
Comportamiento esperado
Este controlador solo se ejecuta si se realizan cambios en las tablas de IM. El controlador realiza las siguientes opciones:
- Actualiza el Registro de asociación de sección de IM.
- Actualiza la Jerarquía de IM si existen actualizaciones de las asignaciones de la sección:
- Todos los registros Agregar deben tener nuevas Secciones para agregarlas como secundarias a la Asociación de sección.
- Todos los registros Eliminar deben tener las Secciones que se eliminarán como elementos secundarios de la Asociación de sección.
- Actualiza las asignaciones de IM para cualquier Grupo o Sección nuevos que se han creado o eliminado:
- Todos los registros Agregar deben tener nuevas asignaciones para agregar.
- Todos los registros Eliminar deben tener asignaciones para eliminar.
- 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 normalmente se ejecuta en último lugar.
ReplaceSectionAssociationNameNoUpdateLMSOfferingHandler
El controlador ReplaceSectionAssociationNameNoUpdateLMSOfferingHandler se usa para prevenir actualizaciones en el Nombre de la Oferta del LMS asignada tras la creación inicial.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationNameNoUpdateLMSOfferingHandler
Comportamiento esperado
Este controlador solo se ejecuta si existe una asignación de una Oferta de cursos del LMS. El controlador realiza las siguientes tareas:
- 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 normalmente se ejecuta después del controlador Read pero antes del controlador SaveLMSOffering.
ReplaceSectionAssociationStatusNoUpdateLMSOfferingHandler
El controlador ReplaceSectionAssociationStatusNoUpdateLMSOfferingHandler se usa para evitar actualizaciones en el Estado de la Oferta del LMS asignada tras la creación inicial.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationStatusNoUpdateLMSOfferingHandler
Comportamiento esperado
Este controlador solo se ejecuta si existe una asignación de una Oferta de cursos del LMS. El controlador realiza las siguientes tareas:
- Actualiza el objeto de solicitud para indicar que el Estado 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 normalmente se ejecuta después del controlador Read, pero antes del controlador SaveLMSOffering.
ReplaceSectionAssociationDatesNoUpdateLMSOfferingHandler
El controlador ReplaceSectionAssociationDatesNoUpdateLMSOfferingHandler se usa para evitar actualizaciones en las fechas de Inicio y Final de la Oferta del LMS asignada tras la creación inicial.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationDatesNoUpdateLMSOfferingHandler
Comportamiento esperado
El controlador realiza las siguientes tareas:
- Actualiza el objeto de solicitud para indicar que las fechas StartDate y EndDate no deben 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 normalmente debe ejecutarse después del controlador Read, pero antes del controlador SaveLMSOffering.
ReplaceSectionAssociationSetMappingsIsGradableFalseHandler
El controlador ReplaceSectionAssociationSetMappingsIsGradableFalseHandler se utiliza para establecer el indicador Es calificable en false en la asociación entre la sección y la oferta de cursos. Es decir, la sección original se dejará como la sección Calificable (si está configurado).
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationSetMappingsIsGradableFalseHandler
Comportamiento esperado
- Actualiza el objeto de solicitud para indicar que el indicador Es calificable debe establecerse en false.
- 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 normalmente debe ejecutarse después del controlador Read, pero antes del controlador SaveLMSOffering.
ReplaceSectionAssociationValidateLMSOrgUnitExistsHandler
El controlador ReplaceSectionAssociationValidateLMSOrgUnitExistsHandler comprueba si la unidad de organización a la que corresponde la solicitud se ha eliminado del LMS.
Implementación
D2L.IM.IPSIS.Default.OrgUnits.SectionAssociations.Handlers.ReplaceSectionAssociationValidateLMSOrgUnitExistsHandler
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 del LMS), el controlador intenta obtener la ExternalOrgUnitInfo para 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, y el controlador genera una UpdateOrgUnitFailedException.
- Esta excepción provoca que el Servicio del LIS responda con invaliddata.
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 debe ejecutarse después de los controladores Read, generalmente como uno de los primeros controladores Validate.