Error al importar Fotos en 3w

Buenas Tardes:

Nos encontramos en versión 3.18.1. Al querer importar fotos en 3w (./guarani importar_fotos des01 -t), el resultado es “Falló la importación de fotos” y en los logs de consola encontramos este mensaje:


[03/05/2021 14:56:42 740827] > ERROR > === Fall  el comando "importar_fotos" ===
[03/05/2021 14:56:42 741056] > ERROR > Array
(
    [exception_codigo] => 0
    [exception_mensaje] => The helper "dialog" is not defined.
    [exception_archivo] => /usr/local/proyectos/g3w3/vendor/symfony/console/Helper/HelperSet.php
    [exception_linea] => 82
)

Donde estaría el problema?

Gracias!

Saludos

Ezequiel Molina
Fac. de Cs. Agrarias - UNJu

Hola Ezequiel,

Ese error se corrigió en la 3.19.0 con el ticket #33299 (https://redmine.siu.edu.ar/redmine/issues/33299).

Crea un GDS (y copiame el numero del mismo aquí) así te paso la solución del mismo.

saludos.
2

Leonel:

Te paso el número de GDS creado

51612

Gracias!

Buenas Tardes:

Retomo este tema, el error informado al principio del post, fué corregido mediante un GDS, la operación funciona sin devolver error, pero lo que está ocurriendo es que al parecer no estaría descargando todas las fotos al sistema de archivos y tampoco estaría actualizando correctamente la url de la foto en Siu Kolla.

La situación es la siguiente. Estamos en versión 3.18.1 y veníamos de la versión 3.17.0, la cual tenía implementada encuestas donde se visualizaban las fotos de docentes. Al pasar a 3.18.1, en 3w nos quedamos sin las fotos. Al correr el comando importar_fotos (incluso usando el parámetro -t) veo que descargó alrededor de 76 fotos, mientras que en la BD hay más de 200. Por otro lado, mirando la BD de Kolla, en la tabla sga_elemento, veo que el registro de algunos docentes, tienen URL que apuntan a fotos que no existen en el sistema de archivos, supongo que son URL que provenían de la versión anterior y que no se actualizan correctamente.

No se están generando logs de 3w porque al parecer no detecta error alguno y tampoco lo hace en PHP, (salvo algunos warnings), el único mensaje que me llama la atención se dá durante la ejecución del comando importar_fotos:


 [Symfony\Component\Debug\Exception\FatalThrowableError]
  Call to undefined method SIU\Chulupi\util\WsCliente::put()

De todos formas, pego acá los warnings del PHP


17-May-2021 20:34:49 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'gd2' (tried: /usr/lib/php/20180731/gd2 (/usr/lib/php/20180731/gd2: can$
[17-May-2021 20:34:49 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'sodium' (tried: /usr/lib/php/20180731/sodium (/usr/lib/php/20180731/so$
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'PDO' already loaded in Unknown on line 0
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'xml' already loaded in Unknown on line 0
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'apcu' already loaded in Unknown on line 0
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'curl' already loaded in Unknown on line 0
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'pdo_pgsql' already loaded in Unknown on line 0
[17-May-2021 20:34:49 UTC] PHP Warning:  Module 'zip' already loaded in Unknown on line 0
[17-May-2021 17:34:49 America/Argentina/Buenos_Aires] PHP Warning:  Use of undefined constant digest - assumed 'digest' (this will throw an Error in a futur$
[17-May-2021 17:34:52 America/Argentina/Buenos_Aires] PHP Notice:  Undefined index: kolla in /usr/local/proyectos/g3w3/vendor/siu/chulupi-framework/src/SIU/$

Alguna idea de lo que está ocurriendo?

Ezequiel Molina
Fac. de Cs. Agrarias - UNJU

Hola Ezequiel, revisemos lo siguiente:

En instalacion/config.php los parámetros imagen_alumno_dir y imagen_alumno_url:


'imagen_alumno_dir' => '<PATH-AUTOGESTION>/src/siu/www/_comp/_img_alumnos/',
'imagen_alumno_url' => '<URL-AUTOGESTION>/_comp/_img_alumnos/',

Parámetro de sistema enc_kolla_unidad_gestion desde Gestión operación Modificar Parámetros del Sistema.

En instalacion/servicios_web_config.php revisa la conexión con Kolla. Pone ‘digest’ en lugar de digest (te falto las comillas parece).

También revisa de no tener modificaciones locales en el archivo composer.lock, luego actualiza (svn up) y correr “composer install”.

saludos.
3

También revisa en /instalacion/log/consola/, vas a ver que genera logs cuando ejecutas el comando “bin/guarani importar_fotos -t”. Si es posible adjuntame los logs que genera (no contiene información sensible).

saludos.
1

Leonel:

Paso a responderte el resultado de todo lo que me indicaste

En instalacion/config.php los parámetros imagen_alumno_dir y imagen_alumno_url:

Estaban bien configurados, salvo que el segundo de ellos estaba como localhost. Lo coloqué con la URL absoluta

Parámetro de sistema enc_kolla_unidad_gestion desde Gestión operación Modificar Parámetros del Sistema.

Lo tenemos configurado a Kolla para trabajar con Unidades de Gestión, este parámetro lo tenemos con valor 1 y enc_utiliza_ug_kolla lo tenemos como “se utiliza las unidades de Gestión de Guarani…” probé también trabajar sin unidades de gestión y con el valor ‘FCA’ que es nuestra unidad académica

En instalacion/servicios_web_config.php revisa la conexión con Kolla. Pone ‘digest’ en lugar de digest (te falto las comillas parece).

Está revisado, el problema con ‘digest’ es en realidad en la sección de consumidos para la conexión con tehuelche, de todas formas lo corregí.

También revisa de no tener modificaciones locales en el archivo composer.lock, luego actualiza (svn up) y correr “composer install”.

Me estaría faltando lo que me indicas del archivo composer.lock. Donde lo encuentro? Cómo sé si tiene modificaciones locales?
Corrí el SVN update y el resultado es


Fetching external item into 'instalacion/servicio_noticias':
External at revision 50526.


Fetching external item into 'src/pers_gestion':
svn: warning: W000022: Error converting entry in directory '/usr/local/proyectos/g3w3/src/pers_gestion/BD/Datos/_nucleo/Controles/Reglas' to UTF-8

At revision 50526.
svn: E205011: Failure occurred processing one or more externals definitions

Corrí el comando composer install y me dice que no hay nada para instalar

También revisa en /instalacion/log/consola/, vas a ver que genera logs cuando ejecutas el comando “bin/guarani importar_fotos -t”

No está generando ningún log, eso me llama la atención.

El resultado sigue siendo el mismo. están las pocas fotos que descargó la primera vez que corrí el comando.

Gracias por la ayuda.

Hola Ezequiel, gracias por la información!!!

Parámetro de sistema enc_kolla_unidad_gestion desde Gestión operación Modificar Parámetros del Sistema.

Lo tenemos configurado a Kolla para trabajar con Unidades de Gestión, este parámetro lo tenemos con valor 1 y enc_utiliza_ug_kolla lo tenemos como “se utiliza las unidades de Gestión de Guarani…” probé también trabajar sin unidades de gestión y con el valor ‘FCA’ que es nuestra unidad académica

Lamentablemente si tenes varias Unidades de Gestión conectadas con Kolla vas a tener que configurar el parámetro enc_kolla_unidad_gestion con dichas UG, y correr el comando por cada UG que le vas cambiando, ya que dicho comando esta tomando el parámetro enc_kolla_unidad_gestion directamente. Una vez ejecutado el comando podes volver a configurar como estaba antes.

Me estaría faltando lo que me indicas del archivo composer.lock. Donde lo encuentro? Cómo sé si tiene modificaciones locales?

En la raíz del proyecto están los archivos composer.json y composer.lock, ejecutando svn status podes ver si tenes modificaciones locales.

No está generando ningún log, eso me llama la atención.

En instalacion/config.php tenes activos los logs?
También revisa ‘nivel_consola’ => Logger::DEBUG,

En lugar de bin/guarani importar_fotos -t proba bin/guarani importar_fotos --todas, quizás no esta tomando bien la versión abreviada -t.

¿que te devuelve si ejecutas la siguiente query?


SELECT	persona,
						imagen,
						nombre_imagen
				FROM	mdp_personas_foto
				WHERE	nombre_imagen IS NOT NULL
                                AND sincronizada = 0;

¿cuantos registros te devuelve?

saludos.
4

Hola Leonel:

Gracias por el seguimiento, paso a responder

Lamentablemente si tenes varias Unidades de Gestión conectadas con Kolla vas a tener que configurar el parámetro enc_kolla_unidad_gestion con dichas UG, y correr el comando por cada UG que le vas cambiando, ya que dicho comando esta tomando el parámetro enc_kolla_unidad_gestion directamente. Una vez ejecutado el comando podes volver a configurar como estaba antes.

Probe de ambas formas, con el parámetro en 1 (toda la institución) y con el parámetro en FCA (nuestra unidad académica). Este problema lo habíamos detectado en la versión anterior y haciendo esto se solucionaba, pero ahora el resultado es el mismo.

En la raíz del proyecto están los archivos composer.json y composer.lock, ejecutando svn status podes ver si tenes modificaciones locales.

Revisé esta parte y no hay modificaciones

En instalacion/config.php tenes activos los logs? También revisa 'nivel_consola' => Logger::DEBUG,

En lugar de bin/guarani importar_fotos -t proba bin/guarani importar_fotos --todas, quizás no esta tomando bien la versión abreviada -t.

Hice estos cambios, te paso los logs que me devuelve, en el primer caso con el parámetro 1 y en el segundo con el parámetro FCA, como te comentaba en el punto 1.


[21/05/2021 12:30:07 088760] > DEBUG > === Configuraci n 'imagen_alumno_dir' ===
[21/05/2021 12:30:07 088984] > DEBUG > Array
(
    [imagen_alumno_dir] => /usr/local/proyectos/g3w3/src/siu/www/_comp/_img_alumnos/
    [archivo] => /usr/local/proyectos/g3w3/src/siu/util/consola/comandos/importar_fotos.php
    [linea] => 54
)

[21/05/2021 12:30:10 278832] > DEBUG > === Par metro 'enc_kolla_unidad_gestion' ===
[21/05/2021 12:30:10 278924] > DEBUG > Array
(
    [enc_kolla_unidad_gestion] => 1
    [archivo] => /usr/local/proyectos/g3w3/src/siu/util/consola/comandos/importar_fotos.php
    [linea] => 70
)

[21/05/2021 12:31:59 345587] > DEBUG > === Configuraci n 'imagen_alumno_dir' ===
[21/05/2021 12:31:59 345755] > DEBUG > Array
(
    [imagen_alumno_dir] => /usr/local/proyectos/g3w3/src/siu/www/_comp/_img_alumnos/
    [archivo] => /usr/local/proyectos/g3w3/src/siu/util/consola/comandos/importar_fotos.php
    [linea] => 54
)

[21/05/2021 12:32:01 362331] > DEBUG > === Par metro 'enc_kolla_unidad_gestion' ===
[21/05/2021 12:32:01 362430] > DEBUG > Array
(
    [enc_kolla_unidad_gestion] => FCA
    [archivo] => /usr/local/proyectos/g3w3/src/siu/util/consola/comandos/importar_fotos.php
    [linea] => 70
)

SELECT persona, imagen, nombre_imagen FROM mdp_personas_foto WHERE nombre_imagen IS NOT NULL AND sincronizada = 0;

¿cuantos registros te devuelve?

No devuelve ningún registro, probé poner “sincronizado = 0” en tres registros, correr de nuevo el comando y esas 3 imágenes no se sincronizan.

Seguimos probando lo que me indiques.

Saludos

Hola Ezequiel, gracias por la información!!!

Parecería ser la query de la función get_fotos de la clase src/siu/util/consola/comandos/importar_fotos.php.

Si al comando le pasas la opción -t o –todas la query a ejecutar seria:


SELECT	persona,
						imagen,
						nombre_imagen
				FROM	mdp_personas_foto
				WHERE	nombre_imagen IS NOT NULL

Si no le pasas dicha opción toma las “no sincronizadas” (agrega AND sincronizada = 0 al WHERE).

Habría que revisar en la tabla mdp_personas_foto que sincronizada = 0 y que la columna nombre_imagen tenga algún valor (ej: index.jpeg).

A mi en los logs me muestra también lo siguiente:


[20/05/2021 09:42:41 192102] > DEBUG > === $fotos ===  
[20/05/2021 09:42:41 192156] > DEBUG > Array
(
    [0] => Array
        (
            [persona] => 12
            [imagen] => Resource id #161
            [nombre_imagen] => index.jpeg
        )

)

No devuelve ningún registro, probé poner "sincronizado = 0" en tres registros, correr de nuevo el comando y esas 3 imágenes no se sincronizan.

¿se llegan a descargar las imágenes en /usr/local/proyectos/g3w3/src/siu/www/_comp/_img_alumnos/ o falla la sincronización con Kolla?

saludos.
2

Leonel:

Paso a responderte

Habría que revisar en la tabla mdp_personas_foto que sincronizada = 0 y que la columna nombre_imagen tenga algún valor (ej: index.jpeg).

Tengo 4 registros con esas condiciones, corrí el siguiente comando y el resultado es:


select * from mdp_personas_foto
where sincronizada=0 and nombre_imagen is not null

1446;31257;“\377\330\377\340\000\020JFIF\000\001\001\001\000\000\000\000\377\376\000>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality\012\377\333\000C\000\010\006\006\007\006\005\010\007\007\007\011\011\010\012\014\024\015\014\013\013\014\031\022\023\017\ (…)”;“16421949.jpg”;“2019-07-12”;0
1458;22821;“\377\330\377\340\000\020JFIF\000\001\001\001\000\000\000\000\377\376\000>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality\012\377\333\000C\000\010\006\006\007\006\005\010\007\007\007\011\011\010\012\014\024\015\014\013\013\014\031\022\023\017\ (…)”;“17262710.JPG”;“2019-07-12”;0
1614;28961;“\377\330\377\340\000\020JFIF\000\001\001\001\000\000\000\000\377\376\000>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality\012\377\333\000C\000\010\006\006\007\006\005\010\007\007\007\011\011\010\012\014\024\015\014\013\013\014\031\022\023\017\ (…)”;“33236364.JPG”;“2019-07-29”;0
1442;22850;“\377\330\377\340\000\020JFIF\000\001\001\001\000\000\000\000\377\376\000>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality\012\377\333\000C\000\010\006\006\007\006\005\010\007\007\007\011\011\010\012\014\024\015\014\013\013\014\031\022\023\017\ (…)”;“16186607.JPG”;“2019-07-12”;0

¿se llegan a descargar las imágenes en /usr/local/proyectos/g3w3/src/siu/www/_comp/_img_alumnos/ o falla la sincronización con Kolla?

Al parecer la primera vez que corrí el comando (cuando empezamos con todo este tema), se descargaron algunas, en dicha carpeta hay 73 subcarpetas (y si mal no entiendo dentro de cada una de ellas una foto), mientras que en el sistema tenemos 2545 registros que cumplen esta condición (select * from mdp_personas_foto where sincronizada=1 and nombre_imagen is not null) o sea que no estaría descargando las fotos ni sincronizando.

Saludos!

Hola Ezequiel, gracias por la información!!!

La query que trae las fotos a sincronizar esta en la función get_fotos de la clase src/siu/util/consola/comandos/importar_fotos.php. Por defecto ejecuta:


SELECT	persona,
						imagen,
						nombre_imagen
				FROM	mdp_personas_foto
				WHERE	nombre_imagen IS NOT NULL
				AND sincronizada = 0;

Si al comando bin/guarani importar_fotos le pasas la opción -t ejecuta:


SELECT	persona,
						imagen,
						nombre_imagen
				FROM	mdp_personas_foto
				WHERE	nombre_imagen IS NOT NULL;

Deberías revisar en la tabla mdp_personas_foto que todos los registros tengan un valor en la columna nombre_imagen (ej: prueba.jpeg o prueba2.jpg). Habría que revisar si dichos valores no se perdieron al migrar la DB.

Con eso, y pasando la opción -t te debería importar todas las fotos de la tabla mdp_personas_foto.

saludos.
3

Buenas noches, podrían pasarme el mismo fix para UNER 3.18.1?
Mil gracias!

Hola Luciana

Por favor genera una solicitud GDS haciendo referencia a este Foro

Saludos!