Consulta sobre comando vincular_usuarios_moodle

hola,
tengo un par de consultas para estar seguro del uso de los comandos

  1. vincular_usuarios_moodle: revisa si un usuario de moodle coincide con una persona de siu, por algunos de los campos, y sino no estan relacionados , agrega esa relacion en la tabla int_pv_usuarios

  2. actualizar_alumnos_comision_moodle/actualizar_docentes_comision_moodle: revisa de las comisiones que alumnos/docentes no estan en moodle y los matricula ( lo que eventualmente generaria el usuario en moodle si no existe)

  3. se deberia ejecutar primero el comando vincular_usuarios_moodle y luego actualizar_alumnos_comision_moodle/actualizar_docentes_comision_moodle

  4. hay forma de ejecutarlos desde la interface de siu???

Muchas Gracias !!!

Ir a la issue

Hola Lucia, podes verlo en Comandos de Moodle:

  1. vincular_usuarios_moodle: revisa si un usuario de moodle coincide con una persona de siu, por algunos de los campos, y sino no estan relacionados , agrega esa relacion en la tabla int_pv_usuarios

Exacto, los vincula creando registro en la tabla int_pv_usuarios. Luego si vas a » Matrícula » Personas » Administrar Personas solapa Moodle vas a ver la vinculación.

  1. actualizar_alumnos_comision_moodle/actualizar_docentes_comision_moodle: revisa de las comisiones que alumnos/docentes no estan en moodle y los matricula ( lo que eventualmente generaria el usuario en moodle si no existe)

Exactamente, es como los botones Actualizar Alumnos y Actualizar Docentes de » Cursadas » Comisiones » Administrar Comisiones, pero lo hace para todas las comisiones con curso vinculado en Moodle.

  1. se deberia ejecutar primero el comando vincular_usuarios_moodle y luego actualizar_alumnos_comision_moodle/actualizar_docentes_comision_moodle

Si, así primero vincula y luego matricula, evitando que quiera crear un usuario nuevo en Moodle que quizás ya existe.

  1. hay forma de ejecutarlos desde la interface de siu???

Se hicieron comandos croneables para evitar ejecutarlos a mano y que se haga automáticamente. Pero si se puede en las operaciones que te nombre arriba.

Saludos.

hola

gracias por la respuesta !!!
voy a investigar de ejecutarlos desde siu y cualquier cosa les consulto

Saludossss

hola
estoy en un entorno de testing ( siu y moodle) probando el comando
./guarani vincular_usuarios_moodle -v email

pero no encuentra ningun usuario de moodle para vincular

verifique que la persona existe en las dos plataformas con el mismo mail, dni
la plataforma esta activa en el moodle y ok

no se si hay que configurar algo mas o donde se puede mirar el log

Muchas Gracias
Saludosss

Hola @ricardoude

En php/extension_toba/guarani_comando.php dice:

    /**
	 * Vincula personas de Guaraní con usuarios existentes en Moodle (haciendo un mapeo según los campos especificados)
     * 	 
     * @param array $parametros
	 * 		array(
	 *			-c / --cantidad => Cantidad paginado (Cantidad con la cual se paginará los usuarios a vincular), por defecto -> 500,
	 *			-m / --moodle => Plataforma [Plataforma Moodle], si no se pasa es interactivo,
	 *			-v / --vincular => Campos elegidos para la vinculación,(valores posibles combinables username - fullname - email - all [siempre separados por , ]) si no se pasa o hay valores erroneos es interactivo,
	 *			-s => Si incluye usuarios suspendidos, por defecto no los incluye
	 * 		)
	 */
	function opcion__vincular_usuarios_moodle($parametros)
	{            
		$this->modelo->vincular_usuarios_moodle($parametros);
	}

Lo podes ejecutar así:

bin/guarani vincular_usuarios_moodle -m 6 -v username -s

-m 6 es la plataforma Moodle de la tabla int_pv_plataformas columna plataforma.

-v username es la columna a vincular que debe coincidir tanto en Moodle como en Guaraní.

-s Si incluye usuarios suspendidos, por defecto no los incluye.

Luego si vas a » Matrícula » Personas » Administrar Personas solapa Moodle vas a ver la vinculación.

Saludos.

hola !!!
el problema principal es que el webservice no retorna los usuarios de moodle.

La función core_user_get_users ( no mire mucho dentro de siu, pero creo que es esa) no retorna los usuarios de la plataforma.

Hace una búsqueda usando como criterio lastname y con eso retorna vacío

curl -X POST "https://url/webservice/rest/server.php" \
-d "wstoken=xxxxxxxxxxxxxxxxxxxxxxx" \
-d "wsfunction=core_user_get_users" \
-d "moodlewsrestformat=json" \
-d 'criteria[0][key]=lastname' \
-d 'criteria[0][value]=A%' \

En el codigo de siu cambie lastname por fullname, ejecute el comando:
./guarani vincular_usuarios_moodle -m 1 -v email -c 100
y retorno los usuarios

NO retorno el mail, pero aparentemente se debe a una configuración propia de la persona de moodle: si lo tiene solo para mostrar dentro del curso, te retorna vacío

les paso los links
https://tracker.moodle.org/browse/MDL-67781
https://tracker.moodle.org/browse/MDL-61842

la función core_user_get_users_by_field se comporta de manera similar

sigo investigando un poco mas …

Saludossss
Ricardo

Hola @ricardoude

¿que versión de Moodle tenes instalada?

En la versión de Moodle 4.3.1 no ocurre, te dejo capturas:

Hice click en Purgar todas las cachés pero sigo viendo el email en el web service: https://url/webservice/rest/server.php?wstoken=&moodlewsrestformat=json&wsfunction=core_user_get_users&criteria[0][key]=lastname&criteria[0][value]=F%

Saludos.

la version de moodle es la 4.1.1

siu 3.21.0

la version de moodle es la 4.1.1

la version de siu es 3.21.0

Hola @ricardoude

A ver si entendí bien, en Moodle si al usuario le cambias Visibilidad del correo electrónico no te devuelve el email el web service core_user_get_users. Yo tengo Moodle 4.3.1 y lo devuelve siempre, incluso cuando le pongo Oculto.

Revisa bien la Interfaz SIU-Guaraní - Moodle.

Saludos.

Si en el buscador filtras por showuseridentity te va a llevar a Políticas de usuario, fíjate de tener marcada Dirección de correo, en caso de no tenerla marcada no muestra el email en core_user_get_users:

Saludos.

hola,
re colgue … aparecieron otros problemas y no pude seguir
ni bien pueda continuo y cualquier cosa te vuelvo a escribir

Muchas Gracias !!!