Sábado, 07 Enero 2012 22:36

Conectando Moodle con Joomla! mediante Joomdle

Escrito por 
CMS:  Joomla! |  Versión:  Todas |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  15 minutos


Conectando Moodle con Joomla! mediante JoomdleLa necesidad de integrar servicios en Joomla! nos lleva a utilizar puentes (bridges) que realicen esta tarea de forma transparente al usuario que será el destinatario de dichos servicios pero no siempre con una integración amigable para el desarrollador o implementador del servicio en el backend.

Integrar los servicios entre si permite unificar accesos, gestionar de forma común usuarios y en el caso de la conexión de Joomla! con Moodle a través de Joomdle también permite administrar desde un solo lugar centralizado los cursos, los alumnos, y todas las tareas administrativas que habitualmente tendríamos que realizar en paneles de administración diferentes, duplicando con ello todos los procesos.

Esta extensión está desarrollada por el español Antonio Durán Terrés y liberada para Joomla! 1.5 o 1.7, actualmente compatible con Joomla 2.5 y 3.x, bajo licencia no comercial lo que permite que la integración de la herramienta de eLearning más conocida y basada en código de fuentes abiertas llamada Moodle pueda conectar con Joomla! gracias a Joomdle y al esfuerzo de su desarrollador por mantenerla siempre actualizada y bien documentada.

El primer y fundamental paso es tener instalado Moodle, preferiblemente la versión estable, en este caso nos basamos en Moodle 2.2 y partimos de la base de que esta tiene todos los servicios configurados, exceptuando los relativos a la conexión con Joomla! ya que para este proceso utilizaremos la extensión Joomdle.

Para instalar Moodle recomendamos consultar el artículo publicado en este Blog de Webempresa titulado "Instalando Moodle" escrito por Jhon Marreros.

Instalar el componente Joomdle en Joomla!:

Debemos descargar el componente desde el sitio web del autor. Se trata de un archivo que a su vez contiene archivos empaquetados .zip que debemos descompactar para localizar el archivo que contiene el componente, módulos y plugins necesarios a instalar en Joomla!. Localizamos el archivo "joomdle-joomla-package" y previa copia de seguridad, preferiblemente con Akeeba Backup, procederemos a instalar desde el Gestor de Extensiones, ya sea en Joomla! 1.5 como en Joomla! 1.7.

Este archivo instala las siguientes extensiones:

  • Joomdle Componente.
  • Módulo mod_joomdle_courses, Sitio.
  • Módulo mod_joomdle_my_courses, Sitio.
  • Módulo mod_joomdle_calendar, Sitio.
  • Módulo mod_joomdle_my_grades, Sitio.
  • Módulo mod_joomdle_mentees, Sitio.
  • Módulo mod_joomdle_abc, Sitio.
  • Módulo mod_joomdle_coursenavigation, Sitio.
  • Módulo mod_joomdle_coursemates, Sitio.
  • Plugín Joomdle Xmlrpc.
  • Plugín Joomdlehooks, Usuario.
  • Plugín Joomdlesession, Sistema.
  • Plugín Joomdletienda, Sistema.
  • Plugín Courses.
  • Plugín Coursecategories.
  • Plugín Coursetopics.

El paquete descargado además incluye algunos plugins para configurar Moodle adecuadamente para el uso de Joomdle y que requieren ser instalados en Moodle, siempre previa copia de seguridad de la instalación actual. Debemos revisar que los plugins queden habilitados tras su instalación desde el Gestor de Plugins.

Características y mejoras de la versión de Joomdle:

  • Nueva vista de curso que muestra los contenidos del mismo.
  • Añadidas opciones a los módulos de "mis cursos" y vista de enlace para ver nuevos cursos, en Moodle.
  • Nuevo módulo y vista coursemates.
  • Nuevo módulo navegación de curso.
  • Cambio de diseño para todas las vistas, para mejorara la apariencia.
  • Se ha añadido la integración con Hikashop.
  • Nuevo plugin de contenido para mostrar los detalles del curso en los artículos.
  • Se ha añadido la opción de configuración a la vista "Mis cursos", para mostrar los cursos por categoría.
  • Se ha añadido sincronización de avatar con Community Builder.
  • Corregido error que introduce una línea complementarias que rompe la descripción de los cursos de Moodle 2.0.
  • Corregido error de información sobre las restricciones de direcciones IP.
  • Corregida la incompatibilidad con Moodle 2.2.
  • Arreglado problema de avatar en Moodle 1.9 cuando la fuente de información adicional se establece en "None".
  • Algunas correcciones de SEF (Jason Lambert).
  • Añadida descripción de la categoría en la vista de categoría en curso (Jason Lambert).
  • Modificado vista wrapper para Moodle 1.9.

Joomdle

Joomdle es una extensión orientada a la integración de Moodle con Joomla.

Configurar Joomdle y Moodle

Instalación del plugin "auth_joomdle" de Joomdle en Moodle:

Este plugin debemos instalarlo seleccionando uno de los archivos disponibles en función de la versión de Moodle, en este caso elegiremos el archivo para la versión 2.2 de Moodle de la carpeta "moodle20".

Subido el archivo a la carpeta moodle/auth/ y los descompactamos y eliminamos el archivo .zip, tras recargar la vista veremos que se crea la carpeta /joomdle con sus correspondientes archivos tal como explicamos más abajo. Posteriormente debemos habilitarlo.



  • Desde la configuración de Joomdle debemos introducir la url de Moodle para que posteriormente ambas herramientas puedan verse entre si.
  • También hay que establecer la versión de Moodle en uso.
  • Insertar el Token de autenticación de Moodle 2.0, previamente generado en Moodle. (Este paso se documenta casi al final de este artículo).

En Moodle debemos habilitar los Servicios Web correspondientes:



En Joomla! debemos habilitar los Servicios Web en la Configuración Global:

Habilitar los Servicios Web en la Configuración Global de Joomla, en Sistema, Configuración Global, pestaña Sistema.



Instalar el plugin de autenticación en Moodle para Joomdle:

Se debe subir el archivo "auth_joomdle.zip", localizable en el paquete de Joomdle, a la ruta moodle/auth/ y descompactarlo, lo que genera una carpeta llamada /joomdle que contiene los archivos del plugin para Moodle.

Habilitar Plugin Joomdle XMLRPC en Joomla!:

Hay que habilitar el Plugin Joomdle XML-RPC en el administrador de Joomla!, Extensiones, Gestor de plugins.



Activar protocolos XML-RPC en Moodle:

Joomdle usa XML-RPC para conectar con Moodle. Debes seleccionar el paso Habilitar Protocolos, de la lista y activar XML-RPC. Necesitarás asegurarte de que tu servidor dispone de soporte XML-RPC. Consulta los requisitos previos de PHP para obtener más información. Es posible que algunos servidores además requieran habilitar el protocolo SOAP.

Administración del sitio, Extensiones, Servicios Web, Administrar protocolos.



Crear un usuario específico en Moodle para conectar con Joomdle:

Los servicios web de Moodle requieren de un usuario para la conexión con Joomdle. Este debe ser diferente del usuario que administre Moodle y tampoco debe ser un usuario administrador, al cual daremos los permisos adecuados.

Administración del sitio, Usuarios, Cuentas, Agregar usuario.

Creamos un usuario, por ejemplo "joomdleconnector" con su correspondiente contraseña.

Comprobar los permisos del usuario para conectar con Joomdle:

Al usuario creado para conectar con Joomdle hay que darle el acceso apropiado a los servicios web XML-RPC. Para ello definimos un nuevo rol y se lo asignamos al usuario y damos a este rol el acceso a los servicios web.

Administración del sitio, Usuarios, Permisos, Definir roles.




Habilitar capacidades del rol para el usuario:

  • Usar protocolo XML-RPCwebservice/xmlrpc:use: Permitir
  • Usar protocolo SOAPwebservice/soap:use: Permitir
  • Ver debatesmod/forum: viewdiscussion: Permitir


Asignar el usuario al nuevo rol creado:

Después de crear el nuevo rol "Services Web" hay que añadir el usuario de servicios web Joomdle (ej. joomdle connector) a este rol.

Administración del sitio, Usuarios, Permisos, Asignar roles globales.



Añadir un nuevo servicio de Joomdle en Moodle:

A continuación debemos añadir un nuevo "servicio" para Joomdle. Este "servicio" permite definir que podrá hacer Joomdle en Moodle.

Administración del sitio, Extensiones, Servicios Web, Servicios externos.



Como previamente ya hemos instalado Joomdle, ahora podemos realizar la tarea de Añadir funciones al servicio externo de Joomdle en Moodle. Es posible que si no aparecen las funciones para el plugin Joomdle haya previamente que realizar una comprobación de los plugins para verificar que hemos instalado y habilitado el plugin correctamente.





Administración del sitio, Extensiones, Servicios Web, Servicios externos, Funciones, Agregar funciones.

Ahora ya se mostrarán las nuevas funciones para Joomdle y podremos seleccionarlas y añadirlas al usuario conector en Services Web.



Una vez añadidas se mostrará un listado titulado "Agregar funciones al servicio Joomdle" que mostrará todas las nuevas funciones agregadas para el usuario conector.

Crear el token de Moodle para Joomdle:

Necesitamos crear un token en Moodle que deberá introducirse en la página de configuración de Joomdle en Joomla!. Sin este token Joomdle no podrá conectar con Moodle, incluso si todo lo demás está bien configurado.

Administración del sitio, Extensiones, Servicios Web, Administrar tokens, Agregar




Es posible que bajo determinadas configuraciones, sobre todo si no hemos completado algún proceso, se muestra algún aviso o error una vez creado el token.



Esto se debe a que el usuario no dispone de la capacidades requeridas para el servicio. Dichas capacidades que faltan se deben agregar a las funciones del usuario con el fin de utilizar el servicio. Se soluciona eliminando el token y creándolo nuevamente pero seleccionando el servicio de Joomdle y no de "mobile services".



Tras generar el token correcto debemos introducirlo en la configuración del componente Joomdle en el backend de Joomla!, Componentes, Joomdle, Configuración, junto con la url de la instalación de Moodle y aquellas otras configuraciones que necesitemos ajustar para nuestro servicio.


Gestionar identificación en Moodle y asignar URL de Joomla!:

Administración del sitio, Extensiones, Identificación, Gestionar identificación.




Si el proceso se ha realizado de forma correcta una vez estamos en Joomla!, en el componente Joomdle, y realizamos una Comprobación del Sistema, deberán mostrarse todos los servicios habilitados con un aspa verde. En caso de aparecer alguno en rojo habrá que revisar de nuevo todo el proceso para ver en que punto nos hemos dejado una configuración sin realizar.



A partir de este momento Joomdle está listo para conectarse con Moodle y gestionar usuarios y cursos.



Existen muchos detalles posteriores que conviene repasar en la configuración de Joomdle en Joomla! para conseguir una configuración optimizada, pero estos serán motivo de futuros artículos donde abordaremos detalles puntuales acerca de tan excelente extensión que nos permite conectar Moodle con Joomla! para gestionar sus cursos, alumnos y tareas propias de la extensión.

Pese a ser una configuración muy elaborada la que necesitan tanto Moodle como Joomdle (en menor medida) es importante prestar mucha atención a todo el proceso, detalle a detalle, en cada uno de los pasos, con el fin de garantizar un correcto funcionamiento y que tras el proceso la conexión entre ambas herramientas sea la deseada.

Posteriormente podremos ahondar en los detalles de la configuración de ambas herramientas con el fin de afinar estas y de paso mejorar la seguridad, entre otros detalles, para evitar que los usuarios se logeen directamente en Moodle y lo hagan siempre a través de Joomla! mediante el uso de Joomdle pero de forma transparente.

Restringir el acceso a Moodle sólo para usuarios registrados:

Con esta restricción conseguimos que los usuarios invitados no puedan acceder a Moodle directamente.

Administración del sitio, Seguridad, Políticas del sitio, Forzar a los usuarios a identificarse: Marcar.

Existen otras muchas configuraciones que debemos observar en Moodle, pero que no abordamos en este artículo ya que nos queremos centrar exclusivamente en la configuración y conexión entre ambas herramientas dejando procesos avanzados para futuros artículos.

Este artículo es compatible para la última versión de Joomdle 1.0.1 en Joomla 3.x con las nuevas versiones de Moodle



¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



Luis Méndez Alejo

Miembro del equipo técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+