La Interoperabilidad de herramientas de aprendizaje (LTI) es un framework abierto para crear integraciones de terceros en sistemas de gestión de aprendizaje. Si bien los complementos de Classroom y las herramientas de LTI admiten experiencias del usuario similares, los dos frameworks no son directamente compatibles. En esta guía, se comparan los dos tipos de integración y se destacan las diferencias clave. También sugiere formas de lograr experiencias del usuario similares cuando se adapta una herramienta de LTI para que funcione como complemento de Classroom.
Interacciones entre la plataforma y las herramientas
Una distinción clave entre las herramientas de LTI y los complementos de Classroom es la forma en que se intercambia la información. Por lo general, las herramientas de LTI usan POST de HTTP para transmitir cargas útiles a una plataforma de LTI, mientras que los complementos de Classroom crean y recuperan recursos con la API de REST de Google Classroom.
En la siguiente tabla, se resume cómo lograr los comportamientos clave de las herramientas de LTI con Google Classroom.
| Función | LTI | Classroom |
|---|---|---|
| Cómo crear tareas | Servicios de asignación y calificación | Crea recursos CourseWork y AddOnAttachment |
| Publicar calificaciones | Servicios de asignación y calificación | Parche de las entregas de los estudiantes CourseWork y AddOnAttachment |
| Rutas de lanzamiento | Vinculación directa | Cómo especificar URIs en recursos AddOnAttachment |
| Leer las listas de los cursos | Servicios de aprovisionamiento de nombres y roles | Recupera los perfiles de Student y Teacher en un curso |
Adapta una herramienta de LTI a un complemento de Classroom
Muchas interacciones de LTI tienen análogos en el framework de complementos de Classroom. En las siguientes secciones, se analizan algunos conceptos clave y cursos de acción recomendados.
Configura tu aplicación
Todas las interacciones programáticas con Google Classroom requieren un proyecto de Google Cloud. Configurarás la ficha de tu aplicación en el mismo proyecto de Cloud, que define cómo aparecerá tu complemento de Classroom para los usuarios finales. Proporcionarás íconos, establecerás el nombre y la descripción de la app, y configurarás los permisos de alcance de OAuth que requiere tu producto.
Por lo general, instalar la aplicación de complemento desde la ficha es el único paso de configuración que deben realizar los usuarios finales. Esto es análogo a habilitar e implementar una herramienta de LTI. Los usuarios finales no deberán completar ninguna acción de registro ni administrar ningún detalle de configuración, aunque es posible que un administrador deba permitir la app en Marketplace y configurar los permisos de acceso a los datos de terceros.
Recomendación: Sigue nuestra guía para crear y configurar un proyecto de Google Cloud para un complemento de Classroom. Lo más importante es que especifiques una URL para el inicio del complemento como el URI de descubrimiento de adjuntos en el SDK de Marketplace. Esta URL puede ser la misma que una ruta de inicio de herramienta de LTI existente, siempre y cuando dirija al usuario al flujo de autenticación adecuado.
Flujo de autenticación
La LTI usa un flujo de 2 tramos en el que una aplicación cliente y un servidor de autenticación intercambian un JWT firmado. Los usuarios no necesitan otorgar acceso a una herramienta a sus datos, ya que el consentimiento se da por implicado cuando un administrador configura la herramienta.
En cambio, el flujo de OAuth de Google es un flujo de 3 segmentos que involucra al usuario final, la aplicación cliente externa y el servidor de autenticación. El cliente recibe tokens con el consentimiento explícito del usuario que otorgan acceso a los recursos de Google Classroom del usuario.
Es posible que una aplicación de complemento logre un comportamiento similar de JWT firmado de 2 patas con cuentas de servicio. Son cuentas que pertenecen a una aplicación en lugar de a un usuario individual y pueden realizar acciones sin el consentimiento del usuario. El uso de cuentas de servicio requiere la configuración y la administración del administrador. Se desaconseja el uso de cuentas de servicio con delegación de todo el dominio, ya que son posibles vectores de abuso. Consulta nuestra guía sobre la delegación en todo el dominio con las integraciones de Google Classroom para obtener más detalles.
Recomendación: Cuando una URL asociada con tu herramienta o complemento recibe una solicitud entrante, inspecciona la solicitud para verificar la presencia de parámetros de consulta del complemento de Classroom. Si está presente, usa el SDK de Google Identity para obtener credenciales de acceso para el usuario. Almacena las credenciales en la sesión del usuario y úsalas para realizar solicitudes posteriores a la API de Classroom. Si los parámetros de consulta no están presentes, usa solicitudes HTTP para interactuar con los extremos de la LTI de la plataforma.
Cómo crear contenido de complementos en Google Classroom
Los complementos de Classroom admiten un tipo de contenido: vínculos de URL a páginas alojadas de forma externa. Estos vínculos se encuentran en los recursos AddOnAttachment, que definen las rutas web que se abrirán cuando un usuario interactúe con tu complemento. Cada URL se abre en situaciones específicas. Consulta nuestras guías de iframe para obtener todos los detalles. Estas URLs son análogas a los vínculos a recursos de LTI.
Los complementos de Classroom no admiten otros tipos de contenido, como archivos, imágenes o fragmentos de HTML.
Recomendación: Cuando un usuario selecciona contenido en tu producto, obtén sus credenciales de OAuth y realiza una solicitud AddOnAttachments.create. La solicitud debe contener un objeto AddOnAttachment que incluya las URLs de una vista del estudiante, una vista del profesor y (opcionalmente) una vista de calificación. Ten en cuenta que hay extremos de API separados para crear archivos adjuntos en anuncios, tareas o materiales del curso. Solo los archivos adjuntos creados en las tareas pueden tener la vista de calificación, ya que este es el único tipo de elemento de novedades de Classroom que acepta la entrega de un estudiante.
Comparación de funciones del framework
Posiciones de integración
Los complementos de Classroom crean archivos adjuntos en anuncios, tareas y materiales del curso. Son los elementos que aparecen en la pestaña Novedades de un curso en la IU de Classroom.
Los profesores inician el recorrido de creación de archivos adjuntos de complementos seleccionando un complemento en un selector del flujo de creación de tareas. Consulta las guías de los elementos iframe para obtener una explicación detallada de cada vista que se presenta a los usuarios.
Como alternativa, los desarrolladores pueden crear tareas de forma programática con archivos adjuntos de complementos. Consulta nuestra guía para crear archivos adjuntos fuera de Google Classroom para obtener más detalles.
Información del contexto del lanzamiento
Classroom agrega varios parámetros de consulta a cada URL cuando se abre una ruta de complemento. Siempre incluyen el tipo de elemento de la transmisión y los identificadores del curso y del elemento de la transmisión. Es posible que haya otra información presente según la vista del iframe, como los identificadores de adjuntos o de envíos, un token para autorizar la creación de adjuntos o la URL para actualizar de un vínculo a un adjunto de complemento.
Classroom no pasa ninguna información sobre el usuario o la institución de forma predeterminada. Puedes obtener información sobre el usuario desde el recurso UserProfile de la API de Classroom, incluido un ID de usuario. Si el usuario es administrador del dominio, puedes obtener información sobre la institución desde el SDK de Admin de Workspace.
Autenticación y autorización
Los complementos de Classroom deben usar Acceder con Google para la autenticación del usuario. Una vez que acceden, los usuarios otorgan permiso a tu aplicación a través de los permisos de OAuth 2.0. Tu aplicación puede usar cualquier combinación de los permisos de OAuth disponibles.
Descubrimiento y configuración de la app
Los usuarios encuentran e "instalan" complementos de Classroom a través de Google Workspace Marketplace. La instalación con un solo clic pone una aplicación de complemento a disposición de un profesor individual. De manera opcional, un administrador puede instalar la aplicación del complemento para todos los profesores de una unidad organizativa o un dominio. Todos los estudiantes de un curso pueden acceder a los archivos adjuntos creados con la aplicación. Los usuarios finales no necesitan administrar tokens, claves ni identificadores para los complementos individuales de Classroom.
Flujo de UX y de productos
En muchos casos, el flujo de productos existente de una herramienta de LTI funciona bien como complemento de Classroom. Al igual que una herramienta LTI, un complemento de Classroom te permite crear y administrar vínculos a tu contenido en nuestra plataforma. Los archivos adjuntos de complementos de Classroom son similares a los vínculos de vinculación directa de la LTI. Si tu herramienta de LTI crea URLs que dirigen a tu contenido alojado, debería funcionar bien como complemento de Classroom.
Califica el trabajo de los estudiantes
Los archivos adjuntos de complementos de Classroom se pueden ver y calificar en la vista del calificador de Classroom. Cuando adjuntas contenido que requiere una entrega del estudiante, proporcionas un student_work_review_uri en el que un instructor puede ver y calificar el trabajo de un estudiante en particular. Esto es diferente de la LTI, en la que una herramienta solo define un target_link_uri que es común tanto para los profesores como para los estudiantes. La implementación de los complementos de Classroom es muy similar al próximo Servicio de revisión de envíos de LTI.