Diferencia entre revisiones de «SIU-Guarani/version3.21.0/interfaces/moodle»
Línea 11: | Línea 11: | ||
<big>Aquí veremos como configurar para que '''Guaraní''' se comunique con '''Moodle'''.</big> | <big>Aquí veremos como configurar para que '''Guaraní''' se comunique con '''Moodle'''.</big> | ||
− | <big>Antes de comenzar con los pasos debemos instalar el Plugin '''Roles WS Plugin (SIU)''', el mismo fue desarrollado por el '''SIU''' y permite obtener los roles de '''Moodle''' vía Web Service. Lo podemos descargar desde [https://gitlab.siu.edu.ar/guarani/moodle-local_user/-/archive/1.0.0/moodle-local_user-1.0.0.zip el siguiente link], e instalarlo en ''Administración del sitio => Extensiones => Instalar | + | <big>Antes de comenzar con los pasos debemos instalar el Plugin '''Roles WS Plugin (SIU)''', el mismo fue desarrollado por el '''SIU''' y permite obtener los roles de '''Moodle''' vía Web Service. Lo podemos descargar desde [https://gitlab.siu.edu.ar/guarani/moodle-local_user/-/archive/1.0.0/moodle-local_user-1.0.0.zip el siguiente link], e instalarlo en ''Administración del sitio => Extensiones => Instalar Complementos (subdivisión "Extensiones") => Instalar complemento desde un archivo ZIP ''</big> |
− | <big>Se puede ver una '''vista general''' de los pasos ingresando en el siguiente apartado de la instalación de '''Moodle''': ''Administración del sitio => | + | <gallery widths="1015" heights="500">Archivo:Moodle - Instalar modulos externos.png | Moodle - Instalar módulos externos</gallery> |
− | Archivo: | + | |
+ | <big>Seleccionar el archivo .zip y continuar (luego hacer click en el botón que dice "Actualizar base de datos Moodle ahora").</big> | ||
+ | |||
+ | <gallery widths="690" heights="500">Archivo:Moodle - Seleccionar archivo(modulo externo).png | Moodle - Instalar módulos externos - Selección de archivo</gallery> | ||
+ | |||
+ | <big>Se puede ver una '''vista general''' de los pasos ingresando en el siguiente apartado de la instalación de '''Moodle''': ''Administración del sitio => Servidor => Vista General (subdivisión "Servicios Web")''</big><gallery widths="1227" heights="689"> | ||
+ | Archivo:Moodle - Vista_general 4.0.png|Moodle - Vista General Servicios Web</gallery> | ||
<span id="habilitar_servicios_web"></span> | <span id="habilitar_servicios_web"></span> | ||
<big>[[#habilitar_servicios_web|1) Habilitar '''Servicios Web''']]</big> | <big>[[#habilitar_servicios_web|1) Habilitar '''Servicios Web''']]</big> | ||
Línea 46: | Línea 52: | ||
* <big>core_user_get_users</big> | * <big>core_user_get_users</big> | ||
* <big>local_user_get_roles</big> | * <big>local_user_get_roles</big> | ||
+ | * <big>core_group_create_groups</big> | ||
+ | * <big>core_group_add_group_members</big> | ||
+ | * <big>core_group_delete_groups</big> | ||
<span id="definir_rol_servicios_web"></span> | <span id="definir_rol_servicios_web"></span> | ||
<big>[[#definir_rol_servicios_web|5) Definir un rol para los '''Servicios Web''']]</big> | <big>[[#definir_rol_servicios_web|5) Definir un rol para los '''Servicios Web''']]</big> | ||
− | <big>Ir a ''Administración del sitio => Usuarios => Definir roles'', luego crear un nuevo rol para '''Servicios web'''.</big><gallery widths="1220" heights=" | + | <big>Ir a ''Administración del sitio => Usuarios => Definir roles'', luego crear un nuevo rol para '''Servicios web''' (Continuar con ''Ningún rol'' en la opción ''Usar rol o arquetipo'').</big><gallery widths="1220" heights="586"> |
− | Archivo:Moodle - | + | Archivo:Moodle - Rol Servicios web 4.0.png|Moodle - Definir roles |
</gallery> | </gallery> | ||
Línea 67: | Línea 76: | ||
<span id="asignar_rol_creado"></span> | <span id="asignar_rol_creado"></span> | ||
<big>[[#asignar_rol_creado|6) Asignarle el rol creado en el '''punto 5''' al usuario '''Administrador''']]</big><br> | <big>[[#asignar_rol_creado|6) Asignarle el rol creado en el '''punto 5''' al usuario '''Administrador''']]</big><br> | ||
− | <big>Ir a ''Administración de sitio => Usuarios => Asignar roles | + | <big>Ir a ''Administración de sitio => Usuarios => Asignar roles de sistema (Subdivisión "Permisos")''. Luego asignar el rol creado en el punto 5.</big> |
− | Archivo:Moodle - Asignar roles globales bis.png|Moodle - Asignar Roles Globales | + | <gallery widths="1220" heights="304"> |
+ | Archivo:Moodle - Asignar rol admin a servicios web.png|Moodle - Agregar Usuario a Rol | ||
+ | </gallery> | ||
+ | <gallery widths="1220" heights="304"> | ||
+ | Archivo:Moodle - Asignar roles globales bis.png|Moodle - Asignar Roles Globales - Resultado final | ||
</gallery> | </gallery> | ||
Línea 74: | Línea 87: | ||
<big>[[#crear_token|7) Crear un '''token''' para el usuario creado en el '''punto 6''']]</big> | <big>[[#crear_token|7) Crear un '''token''' para el usuario creado en el '''punto 6''']]</big> | ||
− | <big>Ir a ''Administración | + | <big>Ir a ''Administración => Servidor => Servicios Web => Administrar fichas (tokens) => Crear ficha''. Elija el usuario '''Administrador''' y el '''servicio''' creado en el '''punto 3'''.</big><gallery widths="888" heights="470"> |
Archivo:Moodle - Crear token bis.png|Moodle - Crear Token | Archivo:Moodle - Crear token bis.png|Moodle - Crear Token | ||
</gallery> | </gallery> | ||
Línea 81: | Línea 94: | ||
<big>[[#habilitar_depuracion_desarrolladores|8) Habilitar la '''Depuración para desarrolladores''']]</big> | <big>[[#habilitar_depuracion_desarrolladores|8) Habilitar la '''Depuración para desarrolladores''']]</big> | ||
− | <big>Ir a ''Administración del sitio => Desarrollo => | + | <big>Ir a ''Administración del sitio => Desarrollo => Depuracion (debugging)'', luego en el combo '''Mensajes de depuración''' elegir el valor '''DESARROLLADOR: mensajes extra de depuración Moodle para desarrolladores'''.</big><gallery widths="668" heights="509"> |
Archivo:Depurando Moodle.png|Moodle - Depurando | Archivo:Depurando Moodle.png|Moodle - Depurando | ||
</gallery> | </gallery> | ||
Línea 88: | Línea 101: | ||
<big>[[#configurar_directivas_php|9) Configurar las directivas de PHP '''max_input_vars''' y '''post_max_size''']]</big> | <big>[[#configurar_directivas_php|9) Configurar las directivas de PHP '''max_input_vars''' y '''post_max_size''']]</big> | ||
− | <big>Si se va a trabajar con un gran volumen de alumnos/docentes por comisión/curso, se recomienda el incremento de las directivas de PHP '''max_input_vars''' y '''post_max_size'''.</big> | + | <big>Si se va a trabajar con un gran volumen de alumnos/docentes por comisión/curso, se recomienda el incremento de las directivas de PHP '''max_input_vars''' y '''post_max_size''', ubicadas en el archivo "php.ini".</big> |
<span id="probar_servicios_web"></span> | <span id="probar_servicios_web"></span> |
Revisión del 16:14 18 nov 2022
Interfaz SIU-Guaraní - Moodle
NOTA: SIU-Guaraní 3.21 se probó con Moodle desde 3.4 a 3.10, no se garantiza de que funcione correctamente con otras versiones de este último.
Si ya disponemos de una instalación de Moodle con usuarios que ya están haciendo uso de dicha instalación, entonces ver Vinculación de usuarios con Moodle.
En Moodle
Aquí veremos como configurar para que Guaraní se comunique con Moodle.
Antes de comenzar con los pasos debemos instalar el Plugin Roles WS Plugin (SIU), el mismo fue desarrollado por el SIU y permite obtener los roles de Moodle vía Web Service. Lo podemos descargar desde el siguiente link, e instalarlo en Administración del sitio => Extensiones => Instalar Complementos (subdivisión "Extensiones") => Instalar complemento desde un archivo ZIP
Seleccionar el archivo .zip y continuar (luego hacer click en el botón que dice "Actualizar base de datos Moodle ahora").
2) Habilitar el protocolo REST
3) Crear un nuevo servicio
La opción Habilitado debe estar marcada, de lo contrario la opción Únicamente usuarios autorizados debe estar desmarcada.
Se deben agregar las siguientes funciones que Guaraní requiere para comunicarse con Moodle:
- core_webservice_get_site_info
- core_course_get_categories
- core_course_get_courses
- core_course_get_courses_by_field
- core_enrol_get_enrolled_users
- core_enrol_get_users_courses
- core_user_create_users
- core_user_update_users
- enrol_manual_enrol_users
- enrol_manual_unenrol_users
- core_course_create_courses
- core_course_import_course
- core_user_get_users
- local_user_get_roles
- core_group_create_groups
- core_group_add_group_members
- core_group_delete_groups
5) Definir un rol para los Servicios Web
Ir a Administración del sitio => Usuarios => Definir roles, luego crear un nuevo rol para Servicios web (Continuar con Ningún rol en la opción Usar rol o arquetipo).
6) Asignarle el rol creado en el punto 5 al usuario Administrador
Ir a Administración de sitio => Usuarios => Asignar roles de sistema (Subdivisión "Permisos"). Luego asignar el rol creado en el punto 5.
7) Crear un token para el usuario creado en el punto 6
Ir a Administración => Servidor => Servicios Web => Administrar fichas (tokens) => Crear ficha. Elija el usuario Administrador y el servicio creado en el punto 3.8) Habilitar la Depuración para desarrolladores
Ir a Administración del sitio => Desarrollo => Depuracion (debugging), luego en el combo Mensajes de depuración elegir el valor DESARROLLADOR: mensajes extra de depuración Moodle para desarrolladores.9) Configurar las directivas de PHP max_input_vars y post_max_size
Si se va a trabajar con un gran volumen de alumnos/docentes por comisión/curso, se recomienda el incremento de las directivas de PHP max_input_vars y post_max_size, ubicadas en el archivo "php.ini".
10) Probar que funcionen los Servicios Web
Una vez creado el token, lo podemos obtener en la pantalla Administrar tokens.Para probar que todo funcione bien acceder a la siguiente URL: <URL-MOODLE>/webservice/rest/server.php?wstoken=<TOKEN>&moodlewsrestformat=json&wsfunction=core_webservice_get_site_info.
Donde <URL-MOODLE> es la URL base de la instalación de Moodle, ej: http://www.ejemplo.edu.ar/moodle.
Y <TOKEN> seria el recién creado, en nuestro ejemplo seria 9d27d581881b1cfed9f0d644540ab044.
Dicho Servicio Web debería devolver un JSON con información de Moodle. En caso de dar error, revisar los pasos anteriores.
11) Configurar login vía Single Sign-On (SSO) en Moodle
Para que los usuarios de Guaraní se puedan loguear automáticamente en Moodle, se deben seguir los siguientes pasos.
En SIU-Guaraní Gestión
Ir a la operación Administrar Configuración del Sistema, y crear una nueva Plataforma de Educación Virtual.
1) Datos Principales
Datos a completar:
- Nombre: Nombre que va a tener la plataforma.
- Host: Host donde se encuentra la instalación de Moodle, es la URL base. Ej: http://www.ejemplo.edu.ar/moodle.
- Activa: Si la plataforma esta activa o no.
- URL: Segmento de la URL de Moodle donde se encuentran los Servicios Web. Para Moodle 3.4.1 es /webservice/rest/server.php.
- Usuario: Usuario de Moodle. Puede ser cualquier texto, solo a modo descriptivo.
- Token: Es el token que creamos previamente. Ej: 9d27d581881b1cfed9f0d644540ab044.
- Responsables Académicas: Responsables Académicas que van a hacer uso de dicho Moodle.
Se puede hacer click en el botón Probar Configuración para saber si los valores son correctos y se pudo conectar con Moodle.
Se deben vincular los perfiles de Alumnos y Docentes de Guaraní con los Roles de Moodle.
Consideraciones
- Si SIU-Guaraní muestra el error Mensaje Moodle: invalidparameter - Invalid parameter value detected se debe Habilitar la Depuración para desarrolladores para que muestre mas detalles sobre dicho error.
- Las personas de SIU-Guaraní deben tener al menos un email asignado para que se puedan crear los usuarios correspondientes en Moodle.
- El campo usuario de las personas en SIU-Guaraní sólo puede contener caracteres alfanuméricos en minúsculas (letras y números), subrayado (_), guión (-), punto (.) o arroba (@), si contiene otros caracteres mas allá de los mencionados dará error en Moodle.