SyntaxHighlighter

martes, 18 de octubre de 2011

Autenticando usuarios de Moodle 1.9 en Adobe Connect 8



Uno de los inconvenientes de la enseñanza online
es la sensación de distancia entre los alumnos y de éstos con profesores y tutores. La mayoría de los LMS (Learning Management Systems) proporcionan un reducido número de herramientas de comunicación síncronas y las típicas, como el chat, dejan mucho que desear a la hora de enriquecer la experiencia formativa. Normalmente se buscan soluciones con herramientas externas a la plataforma, como Messenger, Skype, etc., que se integran con mayor o menor acierto en el LMS de turno.


Una de las herramientas más utilizadas es Adobe Connect. Adobe Connect es una herramienta de web conferencing utilizada muy frecuentemente en ambientes educativos. Además de su función de servidor de conferencia web multipunto, permite la compartición de la pantalla del ordenador del ponente, la visualización de archivos de varios tipos (PDF, Power Point, etc.) , el envío de archivos entre asistentes, dispone de un chat integrado, etc., todo en un entorno muy cómodo construido sobre Flash.

Nuestra experiencia con este software ha sido agridulce... Las posibilidades son enormes, pero hemos tenido problemas al aplicar actualizaciones de Windows o de Connect. En cualquier caso, siempre hemos podido resolverlo.


Después de algún tiempo usando la herramienta de forma puntual hemos decidido dar el siguiente paso: realizar la integración con Moodle para ofrecer Connect de forma más generalizada. En este post explicaré como es el proceso de integración de Moodle y Connect usando el plugin de Remote Learner.

Lo primero, montar nuestro entorno de trabajo
Adobe Connect funciona sobre Windows 2003 Server o superior con MS SQL Server. Como uso linux recurro a VirtualBox para instalar mi servidor Connect de pruebas. Para poder acceder a la máquina virtual de Windows2003 por red usamos "Adaptador puente" en la configuración de red. De esta manera la máquina será accesible por la máquina anfitrión y cualquier otra que se encuentre en la red local. Comprobamos que todo funciona haciendo ping desde la máquina guest hacia la host y al contrario. También podemos comprobar que funciona con otras máquinas de la red local.

Cambiamos el nombre del equipo en la configuración de Windows. Usaremos este nombre al instalar Adobe Connect (hostname). No es mala idea modificar el fichero /etc/hosts de la máquina host y del resto de máquinas que accederán a Connect para evitar fallos de resolución de nombres y hacernos un poco más sencillo todo. Yo la he llamado mini-w2003 y su IP dentro de la red local es 192.168.1.45 así que añado al fichero /etc/hosts la siguiente línea:

192.168.1.45 mini-w2003

Instalar Adobe Connect 8
Descargamos y ejecutamos el instalador de Adobe Connect en la máquina virtual. Este paso quizás sea el más sencillo. Solo hay que seguir las instrucciones del instalador, que acabará abriendo una página de configuración similar a esta:


Comprobamos que Adobe Connect funciona correctamente creando una sala y accediendo a ella y seguimos con la instalación de Moodle.

Instalar y configurar Moodle
Necesitamos un servidor de aplicaciones de tipo Apache+MySQL+PHP, por ejemplo XAMPP, en el que instalamos Moodle. La versión de Moodle que he utilizado es la 1.9.14. Queda pendiente probar con Moodle 2.

Ya tenemos todas las herramientas sobre la mesa. Empezamos el trabajo delicado.

Autenticación de usuarios de Moodle en Adobe Connect usando el módulo
Para la integración he usado el módulo de Remote Learner por ser el más extendido aunque se han desarrollado otros como éste, de la Universitat Rovira i Virgili.

Lo que debemos hacer primero activar la API de WebServices de Adobe Connect. Para ello debemos:
Modificar el archivo [Instalación Connect]\appserv\web\WEB-INF\web.xml. Ojo! la documentación que hay en moodle.org la ruta correspondiente a Connect 7.5 y anteriores.
Debemos descomentar sólo (en la documentación también activan el filtro NtlmAuthenticationFilter), pero esto no es necesario. Copio aquí un extracto del fichero marcando las diferencias con la documentación oficial en Moodle.org:

<filter>
<filter-name>HeaderAuthenticationFilter</filter-name>
<filter-class>com.macromedia.airspeed.servlet.filter.HeaderAuthenticationFilter</filter-class>
<!--
<init-param>
<param-name>ignore-pattern-0</param-name>
<param-value>/api/</param-value>
</init-param>
-->
<init-param>
<param-name>ignore-pattern-1</param-name>
<param-value>/common/</param-value>
</init-param>
<init-param>
<param-name>ignore-pattern-2</param-name>
<param-value>/servlet/gateway/</param-value>
</init-param>
<init-param>
<param-name>ignore-pattern-3</param-name>
<param-value>/servlet/mirror</param-value>
</init-param>
<init-param>
<param-name>ignore-pattern-4</param-name>
<param-value>/servlet/testbuilder</param-value>
</init-param>
<init-param>
<param-name>ignore-pattern-5</param-name>
<param-value>/main</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>HeaderAuthenticationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

Es normal que Connect no consiga arrancar si el fichero el fichero es incorrecto por lo que siempre es recomendable tener copia de seguridad de los archivos web.xml y custom.ini originales. Si después de modificar los archivos y reiniciar los servicios de Connect obtenemos errores de Tomcat al intentar acceder a Connect posiblemente haya algún error en los ficheros que hemos modificado.

También debemos añadir la siguiente línea al fichero [Instalación Connect]\custom.ini
HTTP_AUTH_HEADER=my-user-id
Utilizaremos el valor asignado a HTTP_AUTH_HEADER en la configuración del módulo de Connect en Moodle.

Instalamos el módulo en Moodle descomprimiéndolo en el directorio mod de la instalación entrando como administrador y pulsando en notificaciones para que se inicialicen las estructuras asociadas al módulo.

Acabamos la configuración del módulo abriendo la ventana de configuración del módulo y enlazando con la API de Connect:


Hay que tener especial atención al parámetro Email address login, que controla el nombre de usuario que se usará en Connect. Debemos usar la misma política de nombre de usuario que usa Adobe Connect. En mi caso, como al hacer la instalación de Connect indiqué que se usara el email como nombre de usuario debo marcar esta opción.

Pulsando en el botón "Test connection" el módulo ejecuta varias comprobaciones para verificar la conexión con el servidor de WebMeeting. Debo apuntar que aunque el test se ejecute correctamente puede haber pasos que no se lleguen a realizar. Por ejemplo, en una de nuestras pruebas el módulo conseguía crear la sala y los usuarios en Connect, pero no incluía a los usuarios en la sala recién creada.



Comprobando que todo funciona
Ya tenemos todo listo para crear nuestra primera sala de Connect desde Moodle. El funcionamiento del módulo es similar al de cualquier otra actividad de Moodle. Abrimos un curso, pulsamos en el botón de edición y escogemos "Adobe Connect" en la lista de actividades. Aparecerá una ventana como esta:




Los parámetros de configuración más imortantes son:
  • Meeting Title. Es el nombre del recurso en Moodle.
  • Meeting URL. El nombre de la sala en Adobe Connect. De manera que si queremos acceder a la sala sin usar Moodle podremos hacerlo usando la dirección http://servidorConnect/meeting-url. Es importante tener en cuenta que este parámetro no puede contener caracteres especiales.
  • Meeting Type. El tipo de reunión Connect: pública o privada. En la publica podrá entrar cualquiera que tenga la URL además de los usuarios que Moodle ha registrado. En la privada solo entrarán los usuarios que estén en el curso con el rol correspondiente.
  • Meeting Templates. La plantilla en la que queremos basar la sala.
Asignación de roles
Pero ¿qué usuarios entran en la sala? Para controlar el acceso a la sala el módulo crea tres nuevos roles en Moodle: El anfitrión (Adobe Connect Host), el presentador (Adobe Connect Presenter) y el participante (Adobe Connect Participant). Desde la gestión de roles del curso deberemos asignar estos roles para que nuestros usuarios tengan los privilegios adecuados en la sala de Connect.

Me queda pendiente probar el módulo en Moodle v2 y comprobar que los usuarios que acceden a Moodle usando plugins de autenticación (LDAP, p.e.) también son soportados por el módulo.... Pero eso lo dejaré para otra ocasión.

No hay comentarios: