Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Aquí se documentarán lo relacionado al nuevo Gestor de clases para el LMS.

JOSE MIGUEL SANTALLA PINTO

Table of Contents
stylenone

Introducción

Dentro de la iniciativa de migración de LMS se plantea extraer la responsabilidad de la gestión de clases del LMS e implementarla de manera transversal.

Antecedentes

Actualmente la gestión de clases se encuentra dentro del LMS e-stela.

La gestión de clases se realizan dentro de la consola de administrador por los roles ADCOL, DIRECTOR, SUBDIRECTOR y COORDINADOR, este último solo puede gestionar las clases en las que esta inscrito (/wiki/spaces/LMS3/pages/31304469 ).

A una clase se pueden asociar una serie de materias y submaterias tanto editoriales como creadas por el propio colegio.

Servicios Web

EL LMS provee una serie de servicios de consulta de clases:

Consumidores de servicios vía SSB

Actualmente en el SSB se encuentran dados de alta como consumidores de servicios del LMS (no legacy salvo materias):

SIF_ALPHA

SIF_BRP

SIF_DASH

SIF_FENIX

SIF_INGENIAT

SIF_LMS_CONSR

SIF_SIS

SIF_TEST_SSB

SIF_UNOIECOSYSTEM

SIF_BRP

SIF_TEST_CCORP

SIF_UNOIECOSYSTEM

DsEstelaIntegrationProd

eStelaIntegrationApi

neds_stn

plataforma_analitica_santillana_pro

SIF_NETEX_NEDS

En las últimas 2 semanas se observan consumo de los siguientes:

DsEstelaIntegrationProd

SIF_DASH

SIF_NETEX_NEDS

SIF_AURORA (PRE)

plataforma_analitica_santillana_pre (PRE)

Consumidores de servicios directos al LMS

Pendiente del reporte de esta información por Netex.

Eventos de dominio

  • SchoolClass

    • schoolclass_created

    • schoolclass_updated

    • schoolclass_deleted

  • UserSchoolClass

    • user_schoolclass_updated

    • user_schoolclass_deleted

/wiki/spaces/EDS/pages/18057531

Problemáticas en la gestión de clases

La principal problemática con la actual gestión de clases se haya en que esta ligada al LMS, y requiere del LMS para su gestión y propagación a otras plataformas. Esto, en ocasiones, ha implicado tener que liberar el LMS únicamente para poder proveer las clases a otras plataformas.

Dentro de la propagación de clases por eventos se encuentra la problemática de que, en ocasiones, el LMS envía la creación de clases duplicadas.

El evento user_schoolclass_updated siempre debería mandar el listado de usuarios ligados a la clase completo, esto haría innecesario el evento user_schoolclass_deleted.

Actualmente se permiten varias materias pero se recomienda solo asociar una ya que da problemas en productos como el RLP.

Requisitos

API-FIrst, DDD, hexagonal, Principios SOLID

Debe convivir con e-stela de manera temporal, una empresa (ciclo activo) que gestione clases en GdC no las gestionará en e-stela.

Mantener APIs del LMS sin cambios por los clientes.

Mantener eventos del SMS sin cambios por clientes salvo una mejora contemplada en los participantes de clase (Se plantea que el SMS incluya en el meta el productor del evento)

Enviar notificaciones vía módulo desacoplado con la asignación/desasignación de a clases.

Solo se podrán asignar

Una clase no tiene que tener una materia asignada de manera obligatoria.

Incluir las clases en los servicios userAll

Limitar el numero de alumnos y profesores asignados a una clase (a:60 - p:5) extensible por clase/colegio???.

API

Todas las acciones del api estarán dentro del contexto de colegio nivel ciclo.

Las nuevas APIs del GdC solo devolverán información y permitirán gestionar clases creadas en el Gdc, nunca clases de e-stela.

Estas APIs permitirán realizar las siguientes acciones:

  • Listar Clases

  • Obtener detalle de Clase

  • Crear clase

  • Editar datos de clase

  • Listar participantes de clase

  • Añadir participantes a clase

  • Eliminar participantes de clase

Las imágenes se almacenarán en S3.

Las imágenes se subirán vía url prefirmada de S3 a un bucket temporal y en los payloads de PUT o POST se enviará la key temporal, el procesado del API se encargará de moverla al bucket S3 definitivo.

El bucket temporal tendrá configurada una política de TTL.

Cuando se deba devolver una imagen en un servicio se creará una url prefirmada de cloudfront.

Eventos

Enviar los siguientes eventos vía SMS:

  • SchoolClass

    • schoolclass_created

    • schoolclass_updated

    • schoolclass_deleted

  • UserSchoolClass

    • user_schoolclass_updated (enviará la lista completa de participantes de la clase, se solicitará a e-stela que se comporte de la misma forma. Una vez realizados los cambios los consumidores de estos eventos podrán cambiar su lógica y dejar de procesar el deleted)

Datos de clase

id (UUID autogenerado)

Nombre

Grupo (CGG)

Participantes (Listado de personaRol)

Materias (actualmente se limitará a una)

Orden (Campo numérico para ordenaciones en fronts)

Color (Por defecto heredará el de la materia pero podrá ser editable)

Icono

Imagen Portada

Activa (booleano)

Editable por profesores (booleano, se asignará el valor False por defecto)

Horario????

Auditoria

Todas las acciones de usuario en el API han de ser logueadas y almacenadas en S3 con un formato que pueda ser consultable vía Athena.

Servicios Legacy

Los siguientes servicios han de servirse a través del SSB, sin ningún cambio por parte de los clientes, desde el nuevo GdC:

Estos servicios mantendrán la firma actual y se considerarán deprecados, no permitiendo nuevos consumidores. Los actuales consumidores deberán migrarse a las nuevas APIs en un plazo máximo de 1 año desde la retirada de e-stela.

En estos servicios el GdC devolverá tanto las clases creadas en el nuevo sistema como en e-stela.

Los servicios actuales considerados legacy no se migrarán y solo serán contestados por el actual LMS (e-stela) con lo que no habrá visibilidad de las clases creadas en GdC.

Líneas futuras

Permitir asociar alumnos a clases mediante código.

Permitir a los profesores crear clases. (configuración por colegio).

Invitar a otros profesores a mis clases (requiere aceptación para asignarlo como participante).

Generador de horarios https://additioapp.com/generador-de-horarios/

View file
namegestor-clases-MMAA.pdf

...