Asociado con Testlify

Plugin Testlify LTI 1.3 Advantage

Una integración LTI Advantage (1.3) certificada por 1EdTech que permite a los instructores asignar evaluaciones de Testlify a un curso y seguir las notas desde dentro de su LMS: handshake OIDC/JWT a medida, sincronización de listas y devolución de calificaciones, construida en Next.js 14.

Los sistemas de gestión del aprendizaje como Canvas, Moodle y Blackboard son donde los colegios y los equipos de formación corporativa hacen su día a día. Para que las evaluaciones de Testlify fueran usables dentro de esos sistemas, necesitábamos un puente seguro y conforme a los estándares. Construí el Plugin Testlify LTI como único ingeniero full-stack: permite a los instructores asignar evaluaciones creadas en Testlify a los candidatos matriculados en un curso y seguir sus notas, todo desde dentro del LMS.

Demo del Plugin Testlify LTI 1.3

La integración está certificada oficialmente por 1EdTech para LTI Advantage (v1.3) —Names and Role Provisioning Services 2.0 y Assignment & Grade Services 2.0—. 1EdTech ejecuta las pruebas de conformidad, así que no son afirmaciones autodeclaradas: un organismo independiente verificó que la implementación sigue la especificación.

Lo que construí

  • Implementación LTI 1.3 a medida: En lugar de apoyarme en una pesada librería LTI de terceros, implementé la especificación directamente en Next.js 14: el handshake de OpenID Connect, la verificación de la firma JWT y los endpoints de clave pública JWKS que establecen la confianza entre el LMS y Testlify.
  • Flujo de asignar y seguir: Construí la capa de API detrás de todo el flujo: Deep Linking para que un instructor elija una evaluación de Testlify y la incorpore a un curso como una tarea, Names and Role Provisioning Services (NRPS) para traer a los candidatos matriculados en ese curso, y Assignment & Grade Services (AGS) para enviar la nota de cada candidato de vuelta al libro de calificaciones del LMS, de modo que los instructores vean los resultados donde ya trabajan.
  • Sistema full-stack: Combiné el enrutado de API multi-tenant con un panel en React 18 en una sola app, diseñé los esquemas de MongoDB para la configuración por plataforma, y usé Docker para simular entornos LMS aislados en las pruebas locales.

Por qué importó

Una integración LTI conforme a los estándares abrió Testlify a los mercados de la educación superior y la formación corporativa, y el plugin que construí acabó pasando las pruebas de conformidad de 1EdTech y obteniendo la certificación. Los instructores podían asignar evaluaciones a un curso entero y recibir las notas de vuelta en el libro de calificaciones de forma automática —sin exportar listas ni copiar resultados a mano—, que es el tipo de fricción que suele frenar la adopción de un LMS.