Error al Generar cursos virtuales Moodle

Al generar cursos virtuales masivamente, genera los cursos pero no sincroniza los alumnos y los docentes, dando el siguiente mensaje:
“Falló la actualización de alumnos en Moodle. Posibles Causas: Alumnos con el mismo email asignado.”

Gracias.

Hola Mariano,

Esto puede estar sucediendo debido a que se están creando dos o mas personas en Moodle con el mismo email, y Moodle no permite que haya dos o mas usuarios con el mismo email. Revisa en Guaraní que los alumnos de las comisiones en cuestión no tengan el mismo email, o que en Moodle ya haya un alumno con uno de esos email.

También te pediría que me envíes los logs que se generan en esta operación, como es un proceso masivo los vas a encontrar en <PATH_GUARANI_GESTION>/temp/procesos_bk/. Vas a ver que hay una carpeta que contiene la fecha y hora en que se corrió ese proceso. Envíame toda la carpeta en un zip.

saludos.

Te paso los logs.


log.zip (33.3 KB)

Hola Mariano, gracias por los logs!!!

Igualmente no están registrando el error!!!

Te pediría también que me envíes los logs de Apache al momento de generar cursos virtuales masivamente (sudo tail -f /var/log/apache2/error.log).

saludos.

Leonel, perdon por la demora en la respuesta-
Este es el log.

PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571
PHP Fatal error: Uncaught toba_error: Imposible guardar el archivo de log ‘/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log’. Chequee los permisos de escritura del usuario apache sobre esta carpeta/archivo in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php:573
Stack trace:
#0 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(560): toba_logger->anexar_a_archivo(‘-o-o-o-o-o-\r\nFe…’, ‘/usr/local/proy…’)
#1 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(536): toba_logger->guardar_archivo_log(‘-o-o-o-o-o-\r\nFe…’, ‘comandos.log’)
#2 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/run.php(36): toba_logger->guardar_en_archivo(‘comandos.log’)
#3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/launcher.php(28):require_once(‘/usr/local/proy…’)
#4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/toba(2): require_once(‘/usr/local/proy…’)
#5 {main}
thrown in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 573

#0 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(560): toba_logger->anexar_a_archivo(‘-o-o-o-o-o-\r\nFe…’, ‘/usr/local/proy…’)
#1 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(536): toba_logger->guardar_archivo_log(‘-o-o-o-o-o-\r\nFe…’, ‘comandos.log’)
#2 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/run.php(36): toba_logger->guardar_en_archivo(‘comandos.log’)
#3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/launcher.php(28): require_once(‘/usr/local/proy…’)
#4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/toba(2): require_once(‘/usr/local/proy…’)
#5 {main}
thrown in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 573
/usr/local/proyectos/guarani/php/nucleo/_lib/procesos_bk/script_proceso.sh: 9: /usr/local/proyectos/guarani/php/nucleo/_lib/procesos_bk/script_proceso.sh: cannot create /usr/local/proyectos/guarani/temp/procesos_bk/00_comandos_ejecutados.txt: Permission denied
PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
PHP Warning: Module ‘pdo_pgsql’ already loaded in Unknown on line 0
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571
PHP Warning: file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571
PHP Fatal error: Uncaught toba_error: Imposible guardar el archivo de log ‘/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log’. Chequee los permisos de escritura del usuario apache sobre esta carpeta/archivo in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php:573
Stack trace:
#0 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(560): toba_logger->anexar_a_archivo(‘-o-o-o-o-o-\r\nFe…’, ‘/usr/local/proy…’)
#1 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php(536): toba_logger->guardar_archivo_log(‘-o-o-o-o-o-\r\nFe…’, ‘comandos.log’)
#2 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/consola/run.php(36): toba_logger->guardar_en_archivo(‘comandos.log’)
#3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/launcher.php(28): require_once(‘/usr/local/proy…’)
#4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/bin/toba(2): require_once(‘/usr/local/proy…’)
#5 {main}
thrown in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 573

/usr/local/proyectos/guarani/php/nucleo/_lib/procesos_bk/script_proceso.sh: 9: /usr/local/proyectos/guarani/php/nucleo/_lib/procesos_bk/script_proceso.sh: cannot create /usr/local/proyectos/guarani/temp/procesos_bk/00_comandos_ejecutados.txt: Permission denied
PHP Warning: Module ‘PDO’ already loaded in Unknown on line 0
PHP Warning: Module ‘pdo_pgsql’ already loaded in Unknown on line 0
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780
PHP Warning: array_filter() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1257
PHP Warning: array_column() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_unique() expects parameter 1 to be array, null given in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1260
PHP Warning: array_diff(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1264
PHP Warning: array_intersect(): Argument #1 is not an array in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 1267
PHP Notice: Undefined index: debuginfo in /usr/local/proyectos/guarani/php/nucleo/moodle/moodle_nucleo.php on line 780

Hola
Podrían revisar los permisos de la carpeta instalación que estén como explica la documentación en el paso 6? Parece que no puede escribir en el mismo.
Podrías revisar los permisos y luego volver a realizar la operación, para volver a revisar los logs?
Muchas gracias
Saludos

Lo corregí apenas lo ví, y sigue generando el mismo error.

No hay nada más que pueda hacer o saber sobre esto?

Hola
¿Podrías reenviar los logs de la operación y los de apache, en un archivo, con este permiso corregido y podrías revisar también en el archivo …/instalacion/i__desarrollo/p__guarani/logs/sistema.log?

Lo que podrían también hacer en un entorno de desarrollo es colocar un var_dump() en la función matricularUsuarios_response() del archivo:…/php/nucleo/moodle/moodle_nucleo.php, cuando moodle responde, devolverá que alumno ya esta registrado en el mismo mail luego tendremos que buscarlo en la base de datos .
cualquier duda nos avisas
muchas gracias
Saludos

Te paso los logs.


logs.zip (59 KB)

Hola
Sigue dando error en los permisos ¿Podrían chequear que los permisos estén según la documentación ?



PHP Warning:  file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571
PHP Warning:  file_put_contents(/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log): failed to open stream: Permission denied in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php on line 571
PHP Fatal error:  Uncaught toba_error: Imposible guardar el archivo de log '/usr/local/proyectos/guarani/instalacion/logs_comandos/comandos.log'. Chequee los permisos de escritura del usuario apache sobre esta carpeta/archivo in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/lib/toba_logger.php:573

Por otro lado, ¿Pudieron probar en un entorno de desarrollo, el var_dump () en el código para ver que esta devolviendo moodle ?

Avisasen nos cualquier duda
Saludos

Volví a darle permisos y quedó así.

-rwxrwxr-- 1 www-data www-data 108K May 10 11:50 comandos.log

Te adjunto nuevamente los logs.


logs.zip (78.9 KB)

Hola
leyendo el archivo comandos.log moodle responde:

[DEBUG][guarani] Response:
[DEBUG][guarani] array (
  'exception' => 'moodle_exception',
  'errorcode' => 'wsusercannotassign',
  'message' => 'Usted no tiene permisos para asignar el rol (5) a este usuario (892) en este curso (87).',
)

Podrías revisar si el usuario del webservice tiene los permisos y capacidades en moodle, la documentación con foco en el punto 4 pero también en las capacidades
cualquier consulta nos avisas

Muchas gracias
Saludos

Estas son las funciones definidas
Están todas.

auth_userkey_request_login_url
core_course_create_courses
core_course_get_categories
core_course_get_courses
core_course_get_courses_by_field
core_course_import_course
core_enrol_get_enrolled_users
core_enrol_get_users_courses
core_user_create_users
core_user_get_users
core_user_update_users
core_webservice_get_site_info
enrol_manual_enrol_users
enrol_manual_unenrol_users
local_user_get_roles

Hola
Revisando el error que informa moodle
Tendría que ser algo de la configuración de moodle, con respecto al usuario de webservice. Dicho debe también contar con las siguientes capacidades: webservice:createtoken, webservice/rest:use y moodle/role:manage.
Tal vez tienen esas capacidades y no las tiene habilitadas. O tal vez tengan varias instalaciones moodle y estamos mezclando la información.
Recomendamos revisar la configuración de moodle con la documentación
cualquier consulta nos avisas
Saludos

Les paso el informe de los admin de moodle


Hemos verificado nuevamente, esos permisos son los que están configurados para el Rol “Rol Webservice”. Lo que agregué, que no está en la documentación pero creo que debería ser necesario, es los roles habilitados para asignación, como en la imagen:

Por favor, probá ahora y sino decime cuál es el error que te está devolviendo, porque no lo vi en el pedido original.

Saludos.


imagen.jpg

imagen.png

Hola
¿Probaron la operación con eso cambios?
Tiene que también poder asignar, sobrescribir y cambios de rol , en la instalación por defecto ya venían tildados, puede que cuando configuraron el moodle los cambiaran.
Lo agregaremos en la documentación para que quede mas claro.

Muchas gracias
Saludos