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

De SIU
Saltar a: navegación, buscar
m
 
(No se muestran 45 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
 
__NOTOC__
 
__NOTOC__
== Interfaz SIU-Guaraní - Moodle ==
+
==<big>Interfaz SIU-Guaraní - Moodle</big> ==
  
===En Moodle===
+
'''<big>NOTA: SIU-Guaraní 3.16 se probó con Moodle 3.4 y 3.5, no se garantiza de que funcione correctamente con otras versiones de este último.</big>'''
<big>Permitir que '''Guaraní''' se comunique con '''Moodle'''. Se puede ver una '''vista general''' ingresando al siguiente apartado de '''Moodle''': ''Administración del sitio => Extensiones => Servicios Web => Vista General''</big><gallery widths="1227" heights="689">
+
 
 +
===<big>En 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 módulos externos'' (luego hacer click en el botón que dice "Actualizar base de datos Moodle ahora").</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 => Extensiones => Servicios Web => Vista General''</big><gallery widths="1227" heights="689">
 
Archivo:Servicios Web Moodle - Vista General.png|Moodle - Vista General Servicios Web
 
Archivo:Servicios Web Moodle - Vista General.png|Moodle - Vista General Servicios Web
 
</gallery>        <big>1) Habilitar '''Servicios Web'''</big><gallery widths="1504" heights="377">
 
</gallery>        <big>1) Habilitar '''Servicios Web'''</big><gallery widths="1504" heights="377">
Línea 9: Línea 15:
 
</gallery>        <big>2) Habilitar el protocolo '''REST'''</big><gallery widths="1224" heights="513">
 
</gallery>        <big>2) Habilitar el protocolo '''REST'''</big><gallery widths="1224" heights="513">
 
Archivo:Moodle - Habilitar protocolo REST.png|Moodle - Habilitar protocolo REST
 
Archivo:Moodle - Habilitar protocolo REST.png|Moodle - Habilitar protocolo REST
</gallery>    <big>3) Crear un nuevo '''servicio'''</big><gallery widths="1226" heights="421">
+
</gallery>    <big>3) Crear un nuevo '''servicio'''</big><gallery widths="1225" heights="363">
Archivo:Moodle - Crear servicio.png|Moodle - Crear servicio
+
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>
+
</gallery>
 +
 
 +
<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 el violeta)</big><gallery widths="1223" heights="591">
+
<big>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.png|Moodle - Funciones
+
Archivo:Moodle - Funciones bis.png|Moodle - Funciones
 +
</gallery><gallery widths="1221" heights="477">
 +
Archivo:Moodle - Agregar Funciones bis.png|Moodle - Agregar Funciones
 +
</gallery><big>Se deben agregar las siguientes funciones que '''Guaraní''' requiere para comunicarse con '''Moodle''':</big>
 +
* <big>core_webservice_get_site_info</big>
 +
* <big>core_course_get_categories</big>
 +
* <big>core_course_get_courses</big>
 +
* <big>core_course_get_courses_by_field</big>
 +
* <big>core_enrol_get_enrolled_users</big>
 +
* <big>core_enrol_get_users_courses</big>
 +
* <big>core_user_create_users</big>
 +
* <big>core_user_update_users</big>
 +
* <big>enrol_manual_enrol_users</big>
 +
* <big>enrol_manual_unenrol_users</big>
 +
* <big>core_course_create_courses</big>
 +
* <big>core_course_import_course</big>
 +
* <big>core_user_get_users</big>
 +
* <big>local_user_get_roles</big>
 +
 
 +
<big>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">
 +
Archivo:Moodle - Definir roles.png|Moodle - Definir roles
 +
</gallery>
 +
 
 +
<big>Dicho rol debe contar con todos los '''contextos''':</big><gallery widths="821" heights="698">
 +
Archivo:Moodle - Asignar Contextos.png|Moodle - Asignar Contextos
 +
</gallery><big>Deben estar marcados todos, para permitir la asignación, sobre-escritura y cambios de roles</big><gallery widths="671" heights="626">
 +
Archivo:Moodle - Roles Permitir.png|Moodle - Roles Permitir
 +
</gallery>
 +
 
 +
<big>Dicho rol debe también contar con las siguientes '''capacidades''': ''webservice:createtoken'', ''webservice/rest:use y moodle/role:manage''.</big><gallery widths="953" heights="234">
 +
Archivo:Moodle - webservice createtoken.png|Moodle - webservice:createtoken
 +
</gallery><gallery widths="1115" heights="344">
 +
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>
 +
<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
 +
</gallery>
 +
 
 +
<big>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">
 +
Archivo:Moodle - Crear token bis.png|Moodle - Crear Token
 +
</gallery>
 +
 
 +
<big>8) 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">
 +
Archivo:Moodle - Administrar tokens bis.png|Moodle - Administrar Tokens
 
</gallery>
 
</gallery>
  
===En SIU-Guaraní 3w===
+
<big>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</big>.
Configurar la URL de SIU-Sanaviron/Quilmes en el archivo <tt><path proyecto 3w>/instalacion/config.php</tt>
+
 
<source lang="php" enclose="div">
+
<big>Donde '''<URL-MOODLE>''' es la URL base de la instalación de Moodle, ej: http://www.ejemplo.edu.ar/moodle.</big>
...
+
 
'url_sq_pagos' => '<url_sq_pagos>',
+
<big>Y '''<TOKEN>''' seria el recién creado, en nuestro ejemplo seria '''9d27d581881b1cfed9f0d644540ab044'''.</big>
...
+
 
</source>
+
<big>Dicho Servicio Web debería devolver un '''JSON''' con información de Moodle. En caso de dar error, revisar los pasos anteriores.</big>
 +
 
 +
<br>
 +
<big>9) Configurar login vía '''Single Sign-On''' (SSO) en Moodle</big>
  
También configurar el archivo <tt><path proyecto 3w>/instalacion/servicios_web_config.php</tt> (si no existe hacer una copia desde el archivo '''servicios_web_config_template.php''' ubicado en el mismo directorio)
+
<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.16.0/interfaces/moodle_sso los siguientes pasos].</big>
<source lang="php" enclose="div">
 
...
 
'consumidos' => array(
 
  
'sanaviron' => array(
 
'tipo' => 'rest',
 
'parametros' => array( //usa cliente Guzzle, son opciones en formato guzzle
 
'base_uri' => "<url_sq>/rest/",
 
'auth' => array('<usuario>', '<password>'), //user, password, segun guzzle
 
)
 
),
 
  
)
+
===<big>En SIU-Guaraní Gestión</big>===
...
+
<big>Ir  a la operación '''Administrar Configuración del Sistema''', y crear una nueva '''Plataforma de Educación Virtual'''.</big>  
</source>
 
Se debe reemplazar:
 
* <path proyecto 3w>: por el path donde se encuentra instalado el proyecto SIU-Guaraní 3w
 
* <url_sq_pagos>: por la URL de Pagos de Sanaviron/Quilmes
 
* <url_sq>: por la URL donde se encuentra Sanaviron/Quilmes
 
* <usuario>: Usuario otorgado por el administrador de Sanaviron-Quilmes
 
* <password>: Password otorgado por el administrador de Sanaviron-Quilmes
 
  
===Rest-Hooks===
+
<big><br>1) Datos Principales</big><gallery widths="949" heights="627">
Para las operaciones que involucran '''Propuestas Cobrables''' se esta utilizando [https://gitlab.siu.edu.ar/siu/rest-hooks Rest-Hooks].<br>
+
Archivo:Administrar Configuración del Sistema - Datos Principales.png|Administrar Configuración del Sistema - Datos Principales
Si desea utilizar dichas funcionalidades deberá [http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.16.0/interfaces/rest-hooks configurar dicha tecnológica].<br>
+
</gallery>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.
 +
 
 +
<big>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">
 +
Archivo:Administrar Configuración del Sistema - Roles de Usuarios con combo.png|Administrar Configuración del Sistema - Roles de Usuarios
 +
</gallery>
 +
 
 +
<big>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''.</big><gallery widths="1225" heights="792">
 +
Archivo:Moodle - Definir roles bis.png|Moodle - Definir roles
 +
</gallery><big>Al hacer click sobre el rol se podrá ver el '''ID''' del mismo en la '''URL'''.</big><gallery widths="644" heights="42">
 +
Archivo:Moodle - Rol URL bis.png|Moodle - Rol URL
 +
</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>
 +
 
 +
<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
 +
</gallery>

Revisión actual del 12:20 14 may 2019

Interfaz SIU-Guaraní - Moodle

NOTA: SIU-Guaraní 3.16 se probó con Moodle 3.4 y 3.5, no se garantiza de que funcione correctamente con otras versiones de este último.

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) 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.


9) 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.