Diferencia entre revisiones de «SIU-Guarani/version3.18.0/interfaces/moodle»

De SIU
Saltar a: navegación, buscar
m
m
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
__NOTOC__
 
__NOTOC__
=Interfaz SIU-Guaraní - Moodle=
+
<span id="interfaz_guarani_moodle"></span>
 +
=[[#interfaz_guarani_moodle|Interfaz SIU-Guaraní - Moodle]]=
  
 
'''<big>NOTA: SIU-Guaraní 3.18 se probó con Moodle 3.4 y 3.5, no se garantiza de que funcione correctamente con otras versiones de este último.</big>'''
 
'''<big>NOTA: SIU-Guaraní 3.18 se probó con Moodle 3.4 y 3.5, no se garantiza de que funcione correctamente con otras versiones de este último.</big>'''
 +
 +
'''<big>Si ya disponemos de una instalación de Moodle con usuarios que ya están haciendo uso de dicha instalación, entonces ver [[SIU-Guarani/version3.18.0/interfaces/vinculacion_usuarios_moodle|Vinculación de usuarios con Moodle]].</big>'''
  
 
<span id="en_moodle"></span>
 
<span id="en_moodle"></span>
Línea 15: Línea 18:
 
<big>[[#habilitar_servicios_web|1) Habilitar '''Servicios Web''']]</big>
 
<big>[[#habilitar_servicios_web|1) Habilitar '''Servicios Web''']]</big>
 
<gallery widths="1504" heights="377">Archivo:Moodle - Habilitar servicios web.png|Moodle - Habilitar servicios web</gallery>
 
<gallery widths="1504" heights="377">Archivo:Moodle - Habilitar servicios web.png|Moodle - Habilitar servicios web</gallery>
<big>2) Habilitar el protocolo '''REST'''</big><gallery widths="1224" heights="513">Archivo:Moodle - Habilitar protocolo REST.png|Moodle - Habilitar protocolo REST</gallery>
+
<span id="habilitar_protocolo_rest"></span>
<big>3) Crear un nuevo '''servicio'''</big><gallery widths="1225" heights="363">Archivo:Moodle - Crear servicio bis.png|Moodle - Crear servicio</gallery>
+
<big>[[#habilitar_protocolo_rest|2) Habilitar el protocolo '''REST''']]</big>
 +
<gallery widths="1224" heights="513">Archivo:Moodle - Habilitar protocolo REST.png|Moodle - Habilitar protocolo REST</gallery>
 +
<span id="crear_nuevo_servicio"></span>
 +
<big>[[#crear_nuevo_servicio|3) Crear un nuevo '''servicio''']]</big><gallery widths="1225" heights="363">Archivo:Moodle - Crear servicio bis.png|Moodle - Crear servicio</gallery>
  
 
<big>La opción '''Habilitado''' debe estar marcada, de lo contrario la opción '''Únicamente usuarios autorizados''' debe estar desmarcada.</big>
 
<big>La opción '''Habilitado''' debe estar marcada, de lo contrario la opción '''Únicamente usuarios autorizados''' debe estar desmarcada.</big>
  
 
<br>
 
<br>
<big>4) Agregar '''funciones''' para el '''servicio''' creado en el punto 3 (hacer click en el link marcado en violeta)</big>
+
<span id="agregar_funciones"></span>
 +
<big>[[#agregar_funciones|4) Agregar '''funciones''' para el '''servicio''' creado en el punto 3 (hacer click en el link marcado en violeta)]]</big>
 
<gallery widths="1220" heights="592">Archivo:Moodle - Funciones bis.png|Moodle - Funciones</gallery>
 
<gallery widths="1220" heights="592">Archivo:Moodle - Funciones bis.png|Moodle - Funciones</gallery>
 
<gallery widths="1221" heights="477">Archivo:Moodle - Agregar Funciones bis.png|Moodle - Agregar Funciones</gallery>
 
<gallery widths="1221" heights="477">Archivo:Moodle - Agregar Funciones bis.png|Moodle - Agregar Funciones</gallery>
Línea 40: Línea 47:
 
* <big>local_user_get_roles</big>
 
* <big>local_user_get_roles</big>
  
<big>5) Definir un rol para los '''Servicios Web'''</big>
+
<span id="definir_rol_servicios_web"></span>
 +
<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="786">
 
<big>Ir a ''Administración del sitio => Usuarios => Definir roles'', luego crear un nuevo rol para '''Servicios web'''.</big><gallery widths="1220" heights="786">
Línea 56: Línea 64:
 
</gallery><gallery widths="1115" heights="344">
 
</gallery><gallery widths="1115" heights="344">
 
Archivo:Moodle - webservice rest use.png|Moodle - webservice/rest:use
 
Archivo:Moodle - webservice rest use.png|Moodle - webservice/rest:use
</gallery><big>6) Asignarle el rol creado en el '''punto 5''' al usuario '''Administrador'''</big><br>
+
</gallery>
 +
<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>Ir a  ''Administración de sitio => Usuarios => Asignar roles globales''. Luego asignar el rol creado en el punto 5.</big><gallery widths="1220" heights="304">
 
<big>Ir a  ''Administración de sitio => Usuarios => Asignar roles globales''. Luego asignar el rol creado en el punto 5.</big><gallery widths="1220" heights="304">
 
Archivo:Moodle - Asignar roles globales bis.png|Moodle - Asignar Roles Globales
 
Archivo:Moodle - Asignar roles globales bis.png|Moodle - Asignar Roles Globales
 
</gallery>
 
</gallery>
  
<big>7) Crear un '''token''' para el usuario creado en el '''punto 6'''</big>
+
<span id="crear_token"></span>
 +
<big>[[#crear_token|7) Crear un '''token''' para el usuario creado en el '''punto 6''']]</big>
  
 
<big>Ir a  ''Administración del sitio => Extensiones => Administrar tokens''. Elija el usuario '''Administrador'''  y el '''servicio''' creado en el '''punto 3'''.</big><gallery widths="888" heights="470">
 
<big>Ir a  ''Administración del sitio => Extensiones => Administrar tokens''. Elija el usuario '''Administrador'''  y el '''servicio''' creado en el '''punto 3'''.</big><gallery widths="888" heights="470">
Línea 67: Línea 78:
 
</gallery>
 
</gallery>
  
<big>8) Habilitar la '''Depuración para desarrolladores'''</big>
+
<span id="habilitar_depuracion_desarrolladores"></span>
 +
<big>[[#habilitar_depuracion_desarrolladores|8) Habilitar la '''Depuración para desarrolladores''']]</big>
  
 
<big>Ir a  ''Administración del sitio => Desarrollo => Depurando'', 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">
 
<big>Ir a  ''Administración del sitio => Desarrollo => Depurando'', 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">
Línea 73: Línea 85:
 
</gallery>
 
</gallery>
  
<big>9) Configurar las directivas de PHP '''max_input_vars''' y '''post_max_size'''</big>
+
<span id="configurar_directivas_php"></span>
 +
<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'''.</big>
  
 
+
<span id="probar_servicios_web"></span>
<big>10) Probar que funcionen los '''Servicios Web'''</big>
+
<big>[[#probar_servicios_web|10) Probar que funcionen los '''Servicios Web''']]</big>
  
 
<big>Una vez creado el '''token''', lo podemos obtener en la pantalla '''Administrar tokens'''.</big><gallery widths="1222" heights="300">
 
<big>Una vez creado el '''token''', lo podemos obtener en la pantalla '''Administrar tokens'''.</big><gallery widths="1222" heights="300">
Línea 93: Línea 106:
  
 
<br>
 
<br>
<big>11) Configurar login vía '''Single Sign-On''' (SSO) en Moodle</big>
+
<span id="configurar_login_sso"></span>
 +
<big>[[#configurar_login_sso|11) Configurar login vía '''Single Sign-On''' (SSO) en Moodle]]</big>
  
 
<big>Para que los usuarios de '''Guaraní''' se puedan loguear automáticamente en '''Moodle''', se deben seguir [http://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.18.0/interfaces/moodle_sso los siguientes pasos].</big>
 
<big>Para que los usuarios de '''Guaraní''' se puedan loguear automáticamente en '''Moodle''', se deben seguir [http://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.18.0/interfaces/moodle_sso los siguientes pasos].</big>
Línea 100: Línea 114:
 
== [[#en_siu_guarani_gestion|En SIU-Guaraní Gestión]] ==
 
== [[#en_siu_guarani_gestion|En SIU-Guaraní Gestión]] ==
 
<big>Ir  a la operación '''Administrar Configuración del Sistema''', y crear una nueva '''Plataforma de Educación Virtual'''.</big>  
 
<big>Ir  a la operación '''Administrar Configuración del Sistema''', y crear una nueva '''Plataforma de Educación Virtual'''.</big>  
 
+
<br>
<big><br>1) Datos Principales</big><gallery widths="949" heights="627">
+
<span id="datos_principales"></span>
Archivo:Administrar Configuración del Sistema - Datos Principales.png|Administrar Configuración del Sistema - Datos Principales
+
<big>[[#datos_principales|1) Datos Principales]]</big>
</gallery>Datos a completar:
+
<gallery widths="949" heights="627">Archivo:Administrar Configuración del Sistema - Datos Principales.png|Administrar Configuración del Sistema - Datos Principales</gallery>
 +
Datos a completar:
 
* '''Nombre:''' Nombre que va a tener la plataforma.
 
* '''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.
 
* '''Host:''' Host donde se encuentra la instalación de Moodle, es la URL base. Ej: http://www.ejemplo.edu.ar/moodle.
Línea 113: Línea 128:
 
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 puede hacer click en el botón '''Probar Configuración''' para saber si los valores son correctos y se pudo conectar con Moodle.
  
<big>2) Roles de Usuarios</big>
+
<span id="roles_usuarios"></span>
 +
<big>[[#roles_usuarios|2) Roles de Usuarios]]</big>
  
 
<big>Se deben vincular los '''perfiles de Alumnos y Docentes''' de Guaraní con los '''Roles de Moodle'''.</big><gallery widths="968" heights="556">
 
<big>Se deben vincular los '''perfiles de Alumnos y Docentes''' de Guaraní con los '''Roles de Moodle'''.</big><gallery widths="968" heights="556">
Línea 125: Línea 141:
 
</gallery><big>'''NOTA:''' Si no se asigna algún '''rol de Moodle''' a una '''responsabilidad docente de Guaraní''', a la hora de matricular al docente en Moodle no se sabrá que rol asignar, por lo tanto '''NO se matriculará'''. '''Recordar asignar roles a todos las responsabilidades docentes de Guaraní.'''</big>
 
</gallery><big>'''NOTA:''' Si no se asigna algún '''rol de Moodle''' a una '''responsabilidad docente de Guaraní''', a la hora de matricular al docente en Moodle no se sabrá que rol asignar, por lo tanto '''NO se matriculará'''. '''Recordar asignar roles a todos las responsabilidades docentes de Guaraní.'''</big>
  
<big>3) Categorías de Cursos</big>
+
<span id="categorias_cursos"></span>
 +
<big>[[#categorias_cursos|3) Categorías de Cursos]]</big>
  
 
<big>Aquí se selecciona la '''categoría por defecto''' con la que se crearan los cursos en la operación '''Generar Cursos Virtuales Masivamente'''.</big><gallery widths="949" heights="160">
 
<big>Aquí se selecciona la '''categoría por defecto''' con la que se crearan los cursos en la operación '''Generar Cursos Virtuales Masivamente'''.</big><gallery widths="949" heights="160">
 
Archivo:Administrar Configuración del Sistema - Categorías de Cursos.png|Administrar Configuración del Sistema - Categorías de Cursos
 
Archivo:Administrar Configuración del Sistema - Categorías de Cursos.png|Administrar Configuración del Sistema - Categorías de Cursos
 
</gallery>
 
</gallery>
 
==Vincular los usuarios de una instalación de Moodle preexistente con personas de SIU-Guaraní==
 
<big>Existen ocasiones donde ya disponemos de una instalación de '''Moodle''', con usuarios que ya están haciendo uso de dicha instalación. Para estos casos se dispone de un comando de consola en '''SIU-Guaraní Gestión''', el cual vincula las personas de '''SIU-Guaraní Gestión''' con los usuarios de '''Moodle'''. Dicho comando utiliza uno o varios atributos (''username'', ''fullname'', ''email'' y ''all'') para hacer coincidir los usuarios de ambos sistemas, y así hacer la vinculación. Dicho comando no modifica vinculaciones preexistentes, solamente vincula usuarios que no estén ya vinculados.</big>
 
 
<big>Se ejecuta en consola, parados en el directorio raíz de '''SIU-Guaraní Gestión''':</big>
 
 
'''Primer ejemplo:''' Intenta vincular todos los usuarios de Moodle que no estén suspendidos, y que coincidan con los de '''SIU-Guaraní''' según los campos que se elijan:
 
<syntaxhighlight lang="bash" enclose="div">
 
bin/guarani vincular_usuarios_moodle
 
</syntaxhighlight>
 
 
'''Segundo ejemplo:''' Intenta vincular todos los usuarios de Moodle incluyendo los que estén suspendidos, y que coincidan con los de '''SIU-Guaraní''' según los campos que se elijan:
 
<syntaxhighlight lang="bash" enclose="div">
 
bin/guarani vincular_usuarios_moodle -s
 
</syntaxhighlight>
 
 
'''Tercer ejemplo:''' Intenta vincular todos los usuarios de Moodle incluyendo los que estén suspendidos, y que coincidan con los de '''SIU-Guaraní''' según los campos que se elijan. Los mismos son procesados de bloques de a mil (opción -c), para evitar un eventual desbordamiento de memoria dado el supuesto caso:
 
<syntaxhighlight lang="bash" enclose="div">
 
bin/guarani vincular_usuarios_moodle -c 1000 -s
 
</syntaxhighlight>
 

Revisión actual del 10:02 6 abr 2021

Interfaz SIU-Guaraní - Moodle

NOTA: SIU-Guaraní 3.18 se probó con Moodle 3.4 y 3.5, 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 módulos externos (luego hacer click en el botón que dice "Actualizar base de datos Moodle ahora").

Se puede ver una vista general de los pasos ingresando en el siguiente apartado de la instalación de Moodle: Administración del sitio => Extensiones => Servicios Web => Vista General

1) Habilitar Servicios Web

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.


4) Agregar funciones para el servicio creado en el punto 3 (hacer click en el link marcado en violeta)

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

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. Dicho rol debe contar con todos los contextos:Deben estar marcados todos, para permitir la asignación, sobre-escritura y cambios de roles Dicho rol debe también contar con las siguientes capacidades: webservice:createtoken, webservice/rest:use y moodle/role:manage.

6) Asignarle el rol creado en el punto 5 al usuario Administrador

Ir a Administración de sitio => Usuarios => Asignar roles globales. 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 del sitio => Extensiones => Administrar tokens. 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 => Depurando, 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.

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.

2) Roles de Usuarios

Se deben vincular los perfiles de Alumnos y Docentes de Guaraní con los Roles de Moodle. Debido a que Moodle no provee ningún Servicio Web para saber los roles que posee, la única forma es ingresando a la operación Administración del sitio => Usuarios => Definir roles.Al hacer click sobre el rol se podrá ver el ID del mismo en la URL.NOTA: Si no se asigna algún rol de Moodle a una responsabilidad docente de Guaraní, a la hora de matricular al docente en Moodle no se sabrá que rol asignar, por lo tanto NO se matriculará. Recordar asignar roles a todos las responsabilidades docentes de Guaraní.

3) Categorías de Cursos

Aquí se selecciona la categoría por defecto con la que se crearan los cursos en la operación Generar Cursos Virtuales Masivamente.