Learning Tools Interoperability (LTI) es un framework abierto para crear integraciones de terceros en sistemas de administración del aprendizaje. Si bien los complementos de Classroom y las herramientas de LTI admiten recorridos 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 se sugieren formas de lograr recorridos del usuario similares cuando se adapta una herramienta de LTI para que funcione como un 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. Las herramientas de LTI suelen usar HTTP POST 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 tareas y calificaciones | Crea CourseWork y AddOnAttachment recursos |
| Publicar calificaciones | Servicios de tareas y calificaciones | Aplica parches a las entregas de los estudiantes de CourseWork y AddOnAttachment. |
| Rutas de lanzamiento | Vinculación directa | Especifica los URIs en AddOnAttachment recursos |
| Leer listas de cursos | Servicios de aprovisionamiento de nombres y roles | Recupera los perfiles 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.
La instalación de la aplicación de complementos desde la ficha suele ser 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 especificar una URL para el lanzamiento del complemento como el URI de descubrimiento de archivos adjuntos en el SDK de Marketplace. Esta URL puede ser la misma que una ruta de lanzamiento de herramienta de LTI existente, siempre que dirija al usuario al flujo de autenticación adecuado.
Flujo de autenticación
LTI usa un flujo de 2 segmentos 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 sentado cuando un administrador configura la herramienta.
Por el contrario, 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 complementos logre un comportamiento similar de JWT firmado de 2 segmentos con cuentas de servicio. Estas 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 configuración y administración por parte del administrador. Se recomienda no usar 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 de todo el dominio con 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 ver si hay parámetros de consulta de complementos 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 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 iframes para obtener todos los detalles. Estas URLs son análogas a los vínculos de 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 contenga 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 transmisión de Classroom que acepta una entrega del estudiante.
Comparación de funciones del framework
Ubicaciones de integración
Los complementos de Classroom crean archivos adjuntos en anuncios, tareas y materiales del curso. Estos son los elementos que aparecen en la pestaña Transmisión 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 en el flujo de creación de tareas. Consulta las guías de iframes para obtener un análisis detallado de cada vista que se presenta a los usuarios.
Como alternativa, los desarrolladores pueden crear tareas de manera 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 de lanzamiento
Classroom agrega varios parámetros de consulta a cada URL cuando se abre una ruta de complemento. Estos siempre incluyen el tipo de elemento de transmisión y los identificadores del curso y el elemento de transmisión. Es posible que haya otra información presente según la vista del iframe, como los identificadores de archivos adjuntos o entregas, un token para autorizar la creación de archivos adjuntos o la URL para actualizar de un vínculo a un archivo adjunto de complemento.
De forma predeterminada, Classroom no pasa ninguna información sobre el usuario o la institución. Puedes obtener información sobre el usuario del recurso UserProfile de la API de Classroom, incluido un ID de usuario. Si el usuario es un administrador de 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 permisos de OAuth disponibles.
Descubrimiento y configuración de la app
Los usuarios encuentran y "instalan" complementos de Classroom a través de Google Workspace Marketplace. La instalación con un solo clic hace que una aplicación de complementos esté disponible para un profesor individual. De manera opcional, un administrador puede instalar la aplicación de complementos para todos los profesores de una unidad organizativa o un dominio. Luego, 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 complementos individuales de Classroom.
UX y flujo de productos
En muchos casos, el flujo de productos existente de una herramienta de LTI funciona bien como un complemento de Classroom. Al igual que una herramienta de 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 LTI. Si tu herramienta de LTI crea URLs que dirigen a tu contenido alojado, debería funcionar bien como un complemento de Classroom.
Califica el trabajo de los estudiantes
Los archivos adjuntos de complementos de Classroom se pueden ver y calificar en la vista de 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 LTI, en la que una herramienta solo define un target_link_uri que es común para profesores y estudiantes. La implementación de complementos de Classroom es
más similar al próximo servicio de revisión de entregas de LTI.