Extensiones y trucos para conectar Jitsi, Big Blue Button, Google Meet, Teams y Zoom con Moodle.

Como algún cliente nos lo ha preguntado, os dejamos algo bastante útil estos días: las extensiones y trucos para conectar los softwares de Videoconferencia en Moodle. Hablaremos de las más famosas: Jitsi, Google Meet, Big Blue Button, Teams y Zoom.

Jitsi.

Unos de mis preferidos, como hemos dicho, y su integración es gratuita y realmente sencilla.

  • Existe un plugin que debemos descargar.
  • Una vez descargado lo instalamos desde Administración del Sitio -> Extensiones -> Instalar módulos externos.
  • En la configuración podemos poner la de por defecto (y usaremos los recursos públicos de Jitsi, sus servidores etc, como si nos conectáramos por su web). La App ID y el Secret sólo tenemos que usarlos si montamos Jitsi en nuestros servidores.
  • Sólo tenemos que irnos al curso que queramos y agregar la actividad Jitsi, ponerle un nombre y ya está preparada para que se conecten profesores y alumnos.

Fácil, rápido y gratuito.

Big Blue Button.

Os recuerdo que Big Blue Button no tiene servicio web y que tenéis que instalarlo en vuestros servidores. Pero si tenéis un servidor de BBB instalado, podéis conectarlo con Moodle.

  • Sólo tenéis que bajar el plugin aquí.
  • Podéis instalarlo (en el mismo apartado que el anterior) y seguir este vídeo.
  • Tened cuidado porque por defecto viene configurado con el servidor de test de BBB. No debéis usarlo en producción, sólo para pruebas. Luego tenéis que configurar la url, API Key y secret key de vuestro servidor.
  • Una vez hecho esto, y configuradas las opciones extra que queráis como la de grabar etc sólo tenéis que agregar la actividad BBB al curso deseado.
  • Recordad que podéis configurar también en cada curso quién queráis que sea moderador, presentador, cómo entran por defecto los alumnos etc.

Zoom.

Zoom también tiene un plugin para Moodle PERO si que aclaran que, para configurarlo, necesitas tener una cuenta Business o Education, no vale con la gratuita o la primera de pago:

Requires a business or educational Zoom account to configure and setup.

La instalación es igual que los anteriores y también se agrega como actividad en el curso deseado.

Teams.

Parece que Microsoft está apostando bastante por lo que ellos consideran “el LMS más popular”, hasta tal punto que tienen varias páginas sobre la integración de ambos sistemas.

Si queréis una integración total para poder usar Moodle en Teams y Teams en Moodle, aquí os dejamos las instrucciones (ENG) o en instrucciones (ESP) sobre cómo hacerlo. Es crear la confianza de Moodle en Azure AD y conectar ambos sistemas.

Pero sólo es necesario si queréis que los recursos de Moodle estén en Teams.

Para usar las videoconferencias de Teams en Moolde podéis instalar este plugin: https://moodle.org/plugins/atto_teamsmeeting

Después se puede poner como una actividad donde sea que se active el Atto editor de Moodle.

Google Meet.

Este no tiene plugin, pero se puede conectar con Moodle con varios trucos. Principalmente lo que tienes que crear es el enlace permanente de la reunión, y luego ese enlace lo pegas donde quieras en Moodle como tal (como un enlace).

Para crear el enlace puedes:

  • Entrar en https://meet.google.com/ y pulsar “+ Iniciar o unirse a una reunión”
  • Crear un evento en Google Calendar, lo que por defecto crear una reunión de Google Meet.

Ese enlace de reunión lo copias y lo pegas en el curso o lección que quieras.

Agrupar usuarios en Moodle. Cohortes y grupos. Diferencias y usos.

El sistema de agrupar usuarios en el sistema Moolde no es muy intuitivo. Básicamente puedes añadir usuarios a grupos y cohortes. Hoy os explicamos las diferencias entre los dos y cuándo se usan.

Tanto uno como el otro pueden asignarse manualmente o a través de ficheros (importando).

Grupos.

Esta es la agrupación más intuitiva. Un grupo es un conjunto de usuarios para poder diferenciarlos dentro de un curso.

Puedes crear grupos a nivel de curso o a nivel de actividad individual.

Así, por ejemplo puede interesarte crear un grupo para:

  • Diferenciar clases que usen el mismo curso.
  • Restringir el acceso o la visibilidad de actividades a ciertos grupos.
  • El profesor puede ver las actividades y notas de cada grupo y filtrarlos de esa manera.
  • Es un curso compartido por varios profesores y quieres diferenciar tus alumnos y recursos.

Este manual oficial explica los grupos en Moodle.

Cohortes.

Las cohortes son grupos creados por el administración a nivel del sistema (visible para todos los cursos del sistema) o a nivel de categoría (sólo visibles en los cursos de esa categoría).

Con las cohortes puedes:

  • Matricular a varios usuarios a la vez en uno o varios cursos. Agregas los usuarios a las cohortes y añades las cohortes a los cursos en la matriculación. Cualquier usuario dentro de esa cohorte tendrá acceso al curso.
  • Crear grupos de matriculación. Así si pones la cohorte, por ejemplo, de “Alumnos de Primero” y la añades a los cursos, sólo tienes que asignar usuarios a esa cohorte y tendrá automáticamente acceso a todos los cursos que necesiten los “Alumnos de Primero”. Sin tener que matricularles a mano.
  • Se puede asignar temas visuales a cohortes.

Notas.

Tienes que organizarte bien la estructura de cursos y cohortes. Por ejemplo no es posible asignar usuarios a todos los cursos de una categoría, como parecería indicar con las cohortes de categorías. Estas son sólo dónde se ven la cohorte. Pero la asignación a cada curso es manual.

Existen módulos que extienden las funcionalidades de una cohorte, haciendo (por ejemplo) que puedas asignarlas a roles de Moodle.

Recordad que cuando quitéis la cohorte se quitarán los usuarios del curso.

Obviamente, una vez matriculados los usuarios de una cohorte en un curso, pueden asignarse a los grupos de ese curso.

Cómo habilitar el acceso de invitados en Moodle con y sin contraseña.

Una de las desventajas que tiene Moodle es que para acceder a sus cursos, por defecto, hay que estar registrado. Se puede habilitar el acceso de invitado (y hoy os vamos a enseñar) con y sin contraseña.

El acceso de invitado implica dos pasos. Hay que hacer ambos, aunque el primero normalmente sólo una vez:

  • Habilitar el acceso de invitados en el sistema Moodle.
  • Habilitar el acceso de invitados en el curso en concreto.

Habilitar el acceso en Moodle.

Sigamos los siguientes pasos:

  1. Habilitar el acceso de invitado en el sitio. Vamos a Administración > Administración del sitio > Extensiones > Matriculaciones > Gestionar plugins de Matriculación
    Ahí tenemos que asegurarnos que el Método acceso de Invitado está habilitado.
    Nota: podemos pinchar en Configuración para poner la configuración por defecto para todos los cursos.
  2. Habilitar el botón de acceso de invitados (optativo). Administración del sitio > Extensiones >Identificación >Gestionar identificación
    Poner el Botón de entrada para invitados en Mostrar.
  3. Permitir el acceso directo para invitados (optativo). Con la opción 2. ponemos un botón para que el invitado pinche y entre en el curso. Esto a veces es poco agradable para usuarios que no encuentran el botón.
    Si quieres que entren directamente, o quieres configurar accesos con contraseña, puedes habilitar esta opción.
    Ve a Administración del sitio > Usuarios > Permisos > Políticas del usuario y marca la opción Acceso automático de invitados.

Habilitar el acceso de invitado por curso.

Una vez el sistema tiene habilitado el acceso, hay que activarlo en cada curso. Para ello hay que ir, en el curso, a
Administración > Administración del curso > Usuarios> Métodos de matriculación

En esta opción podemos pinchar en la rueda dentada y seleccionar una contraseña.

Por lo tanto, según lo configuremos tendríamos estos tres casos principales:

  1. Ponemos el acceso en el curso sin contraseña y el botón de invitado en mostrar. Sin acceso directo. Así el usuario invitado va, pincha en el botón y entra directamente.
  2. Marcamos la opción de acceso directo y en el curso ponemos el acceso de invitado sin contraseña. Los usuarios entrarían directamente sin pinchar en nada.
  3. Marcamos la opción de acceso directo y en el curso ponemos el acceso de invitado con contraseña. Así el usuario pinchará en el enlace y le pedirá una contraseña de acceso.

NOTA IMPORTANTE.

Moodle no permite acceso de invitado a actividades, ejercicios etc. Si a teoría pero no a la práctica. Porque no puede almacenar los datos en ningún usuario. Esto limita que permitamos dar acceso “gratis” a clientes.

En ciertas actividades podemos dar acceso modificando permisos del usuario invitado. Hay que ir a:

Administración del sitio > Usuarios > Permisos > Definir roles

Y ahí asignar el permiso que queramos.

Más información aquí.

Configuración de cuentas de Office 365 en Moodle

Para configurar una cuenta de correo en Moodle por SMTP, para que envíe correo desde esa cuenta, tienes que ir a Administración del sitio->Servidor->Correo Electrónico-> Configuración de correo saliente .

Pero la configuración de Office 365 tiene alguna peculiaridad. Os dejamos la que nos funcionó para que lo probéis. Estos son los datos que tenéis que poner:

  • Servidores SMTP (smtphosts) : smtp.office365.com:587
  • Seguridad SMTP (smtpsecure) : TLS
  • SMTP Auth Type (smtpauthtype) : LOGIN
  • Nombre de usuario SMTP (smtpuser): usuario@tudominiodeoffice365.com
  • Contraseña SMTP (smtppass): tucontraseña

Salvo el puerto, estos detalles son bastante comunes. PERO no funciona sólo con esto. La clave es que las restricciones de Office365 obligan a estas modificaciones (para que la cuenta saliente sea igual a la que lo envía).

  • Dirección ‘no-reply’ (noreplyaddress): tiene que ser la misma que smtpuser de arriba
  • Tienes que bajar en esta misma página hasta donde pone Información de origen en el asunto (emailfromvia) tiene que poner NUNCA.
  • Por último tenemos que ir a Administración del sitio->Servidor-> Contacto de soporte y donde pone Email de soporte (supportemail) tiene que poner lo mismo que en smtpsecure arriba.

Tu cuenta de correo tiene que estar en smtpuser, noreplyaddress y supportemail.

Con esto ya debería funcionar.

Puedes hacer las pruebas desde la página de Administración del sitio->Servidor->Correo Electrónico-> Configuración de correo saliente

Si tienes más problemas, existe un plugin (que no hemos probado), Email Test, que te permite hacer un análisis de dónde puede estar fallando el SMTP y te ayuda a intentar encontrar el error.

Greenlight de Big Blue Button. Fallo al actualizar y comandos útiles de docker.

Ayer queríamos crear un nuevo usuario de Greenlight por línea de comandos y, como nuestra versión no permitía esta opción, actualizamos. ¿Conclusión? Error en Greenlight:

Greenlight encountered a database migration error.
This may be because you haven’t updated to Greenlight 2.0.
If you are not an administrator, please contact one.
We’ve released a new version of Greenlight, but your database isn’t compatible.

Hoy os explicamos cómo lo solucionamos, junto a algunos comandos útiles usando docker.

Cómo actualizar Greenlight.

Para las últimas versiones (a fecha del artículo) la actualización es bastante sencilla. La documentación dice ejecutar
$ docker pull bigbluebutton/greenlight:v2 aunque si quieres más opciones puedes elegir cualquier de las “releases” desde Dockerhub.

Aquí fue donde nos falló, tras la actualización daba el error mencionado arriba. Por más que paráramos Greenlight con $ docker-compose down para levantarlo luego con $ docker-compose up -d

Obviamente el mensaje no tenía sentido. Veníamos de una versión 2.2 a una 2.4. Pero creo que ponen un mensaje genérico que no indica mucho.

Qué estaba pasando.

Investigando pudimos ver que ejecutando
docker exec greenlight-v2 bundle exec rake db:migrate nos decía que nos faltaba una tabla, role_permissions , en la base de datos (que se encuentra en el directorio root/greenlight/db/production).

Además, ejecutando docker exec greenlight-v2 bundle exec rake db:migrate:status nos decía que quedaban 3 pasos de la migración por completar.

Teníamos 2 opciones, intentar añadir esta tabla manualmente, y luego volver a ejecutar el comando con db:migrate para que continuara con la migración (o con posteriores errores) o recrear la base de datos. Como nosotros no tenemos grabaciones, y básicamente 3 o cuatro usuarios, decidimos optar por la segunda opción.

Para ello:

  • renombramos la base de datos para poder tener copia.
  • Paramos Greenlight con $ docker-compose down
  • Ejecutamos docker exec greenlight-v2 bundle exec rake db:setup que básicamente recrea la base de datos vacía. Te indica en línea de comandos el usuario administrador.
  • Entramos, cambiamos los datos (nombre y contraseña) del administrador.
  • Añadimos los usuarios que nos faltaba siguiendo la documentación con
    $ docker exec greenlight-v2 bundle exec rake user:create["name","email","password","user"]
    para usuarios normales y
    $ docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"] para administradores.

Y resuelto.

Tenemos que recordar que, al ser Greenlight un front-end de Big Blue Button, el servicio de videoconferencias es independiente y sigue activo en todo este proceso (afortunadamente).


Error en los cron job de Moodle: undefined function current_language().

Hace unos días, tras actualizar Moodle y cambiar/actualizar las versiones de php del hosting, nos dimos cuenta que los cron job de ese Moodle no estaban funcionando.
En el backend simplemente decía que “el script de tareas cron no se ha ejecutado en más de X horas”. No daba más información.
Pero mirando los logs del servidor, o cuando intentabas ejecutar el script a mano, nos dimos cuenta que salía un error que, entre otras cosas, decía “undefined function current_language()“.
Os decimos cómo solucionarlo.

Solución a undefined function current_language() en los cron job de Moodle.

Básicamente lo que ha pasado es que Moodle ha actualizado sus scripts. Recordad que antes era un ejecutable por web pero ahora es un script del servidor que hay que ejecutar desde el mismo. Y seguramente lo que ocurra es que estás ejecutando el script con una versión más antigua de php de la requerida por el miso.
Los servidores tienen una versión de php “por defecto”. Y cuando ejecutas el script con php -q /rutademoodle/admin/cli/cron.php
se ejecuta con la versión por defecto. Y no es compatible con el script.

Tienes que ejecutarlo con la versión compatible más actualizada que tienes en tu servidor. Por ejemplo con:
php72 -q /rutademoodle/admin/cli/cron.php
o
php73 -q /rutademoodle/admin/cli/cron.php

Nota: la versión y comando a usar depende de tu servidor. Puedes poner php en el cli y darle al tabulador para ver las versiones soportadas. Y probar desde cli con alguna. Luego establecer la que funcione en el cron job.
En algunos hosting (mal configurados) habrá que ejecutar el comando desde la carpeta de php72 ( la que sea).

Dónde descargar versiones anteriores de Moodle

Es difícil tener Moodle actualizado a la ultimísima versión, porque la actualización no es “hacer un clic”. De hecho tampoco es recomendable porque los temas y addons no se actualizan tan rápido como el core, y porque pueden surgir problemas con la última versión.

Así que cuando quieres actualizar Moodle te encuentras con que tienes que descargar versiones que no están en su página web.

Aquí os dejamos los enlaces para descargar todas las versiones de Moodle.

Desde estos enlaces puedes encontrar la versión o versiones que necesitas y actualizar tu Moodle a la penúltima versión (no recomiendo la última).

Error Call to undefined function current_language() al correr el cron de Moodle

Otro de los errores típicos que nos encontramos al dar soporte a los clientes.

En este caso se trata al ejecutar el cron que necesita Moodle para las tareas de mantenimiento y limpieza. En el manual de Moodle indica que hay que ejecutar:

/usr/bin/php /ruta/hacia/moodle/admin/cli/cron.php

Este comando (con versiones actuales de Moodle, y dependiendo de la versión que tengas en tu servidor) puede dar el siguiente error:

Call to undefined function current_language() in /var/www/clients/client10/web87/web/lib/setuplib.php:713

Causa.

La causa de este error es que el script cron.php de las nuevas versiones de Moodle tienen comandos que no son compatibles con versiones anteriores a la 7.2 y tu servidor está ejecutando (al menos esa instancia) con una versión anterior.

Solución.

La solución es cambiar el comando que recomiendan y ejecutar la 7.2 (o superior). Así:

/usr/bin/php7.2 /ruta/hacia/moodle/admin/cli/cron.php

Si te da error ve a /usr/bin/ a ver que versiones tienes. Si no tienes superior a la 7.1 te toca instalar o pedir que te instalen una versión superior.

Una vez que veas que funciona en cli, puedes ponerlo en un cron job.

Nota: los números que he usado son actuales. Con problemas futuros habrá que probar con otras versiones, siempre superiores a la que te da el error.

Cómo actualizar un Moodle a la siguiente versión.

Como hemos dicho muchas veces, los artículos en el blog no son sólo para ayudar a gente que pueda tener los fallos que encontramos y arreglamos, sino que los usamos como “knowledge base”, como repositorio de soluciones. Cuando necesitamos hacer lo mismo en un futuro, lo miramos en el blog.

Este es un caso clarísimo de este tipo de artículos: cómo actualizar un Moodle a la siguiente versión. Ponemos aquí los pasos a modo de referencia rápida.

Pasos para actualizar un Moodle a la siguiente versión.

Si quieres información adicional sobre este proceso puedes ver este enlace, y las FAQ. Os resumimos los pasos:

  • Puedes comprobar tu versión de Moodle, y las actualizaciones existentes en Configuraciones > Administración del sitio > Notificaciones
  • No puedes actualizar de golpe. La actualización debe ser de versión estable a versión estable. La secuencia ahora mismo es:
    1.x -> 1.9.19+ -> 2.2.11 -> 2.7.20 -> 3.0.10 ->3.2-> 3.4 ->3.7
    Por lo tanto descarga la siguiente versión estable y haz la actualización entre varias escalonada.
  • En cada versión estable, actualiza también todos los módulos (y temas) y asegúrate que funcionan correctamente.
  • Comprueba que tienes activada la Clave al Actualizar.
  • Haz una copia de seguridad antes de actualizar. Tanto de ficheros como de base de datos. Y de la carpeta Moodle Data.
  • Lo ideal sería hacer la actualización antes en un sitio de prueba (aunque entendemos que no pueda hacerse siempre, y por eso la copia de seguridad).
  • Comprueba si tu servidor cumple los requisitos de la versión que quieres instalar. Para ello ve a Configuraciones > Administración del sitio > Servidor > Entorno. Si todo está ok puedes actualizar. Si no, tienes que solucionar esos problemas primero.
  • Pon tu sitio en Modo Mantenimiento, para que no entre gente. Administración del sitio > Servidor > Modo de mantenimiento
  • Copia todos los ficheros y directorios de tu Moodle a una subcarpeta en el directorio raíz. Llámala, por ejemplo, moodleold.
  • Sube todos los ficheros de la nueva versión de Moodle a la carpeta raíz. No debes sobreescribir los antiguos, en Moodle esto no es buena idea.
    Tienes que tener entonces en la raíz los ficheros y directorios de la nueva versión y una carpeta (moodleold por ejemplo) con lo antiguo.
  • Copia desde moodleold el fichero config.php a la raíz. Así tiene la configuración para conectarse a tu base de datos.
  • Copia el tema que tuvieras desde moodleold/theme a la carpeta theme de la raíz. Para que tenga tu tema.
  • Copia también cualquier plugin que hayas instalados. Están en diversas carpetas, como en la carpeta course (para los formatos de cursos) o en mod. Pero si se te olvida alguno no te preocupes, ahora la actualización te lo dice.
  • Ahora intenta entrar en tu web Moodle, te pedirá la Clave de Actualización. Después de aparecerá un aviso que está actualizando a la nueva versión para aceptarlo.
    Después de informará de nuevo sobre las compatibilidades, y luego una pantalla sobre los plugins que va a instalar o actualizar.
    En esta última conviene que actualices los que te ponga que tienes que actualizar.
  • Dale a continuar un par de pantallas y ya debería pedir tu usuario y contraseña de Moodle, y aceptar las últimas configuraciones (las de las novedades).
  • Con eso deberías tenerlo actualizado.

Añadir una “Clave al Actualizar” en Moodle.

La versión 3.0 de Moodle vino con una nueva funcionalidad de seguridad que es importante activar. Sobre todo para cuando vamos a actualizar. Es la llamada Clave al Actualizar.

Parece ser que cuando actualizamos Moodle, tanto el core como los plugins, los mecanismos de autentificación no son muy fiables. Y alguien podría entrar en nuestro sistema. Esta nueva clave añade una seguridad extra en esos momentos, y cualquier persona que quiera entrar en nuestro sistema debe saber dicha clave.

Cómo añadir una Clave al Actualizar en Moodle.

Para activar esta funcionalidad debemos (si tenemos versiones posteriores a la 3.0), editar el fichero config.php y añadir la siguiente línea:

$CFG->upgradekey = ‘ponga_aquí_una_clave_secreta‘;

Donde ponga_aquí_una_clave_secreta es una clave que recomendamos sea complicada y distinta a cualquiera del Moodle (y, por supuesto, no la de administración).

Guardamos el fichero y, a partir de entonces, el sistema pedirá esta clave a todo usuario que quiera registrarse mientras el sistema se está actualizando.

Muy útil, hacedlo cuanto antes.