migración a 1.5.0 Exception: Structures_Graph_Node::getMetadata: ...key does not

Hola a todos,

Hice la migración de la versión 1.4 a la versión 1.5 y ahora se presenta el siguiente problema:
en un ABM multitabla en el que se tienen 2 CI, uno de navegación y otro de edicion, semejante al ABM personas del proyecto toba_referencia.
En la versión 1.4.9 funcionaba bien, pero en la versión 1.5.0 al accionar el evento selección en un registro del cuadro, para ir a la pantalla de edición, arroja el siguiente mensaje de error: “Se ha producido un error en una etapa temprana del request, verifique el log del servidor”.
Ya en el log esto es lo que me muestra la traza del error…

Exception: Structures_Graph_Node::getMetadata: Requested key does not exist [trAZA]
exception ‘Exception’ with message ‘Structures_Graph_Node::getMetadata: Requested key does not exist’ in /home/sglmain/toba_1.5.0/php/3ros/Graph/Graph/Node.php:172
Stack trace:
#0 /home/sglmain/toba_1.5.0/php/3ros/Graph/Graph/Manipulator/TopologicalSorter.php(135): Structures_Graph_Node->getMetadata(‘topological-sor…’)
#1 /home/sglmain/toba_1.5.0/php/nucleo/componentes/persistencia/toba_datos_relacion.php(258): Structures_Graph_Manipulator_TopologicalSorter->sort(Object(Structures_Graph))
#2 /home/sglmain/toba_1.5.0/php/nucleo/componentes/persistencia/toba_datos_relacion.php(283): toba_datos_relacion->orden_sincronizacion()
#3 /home/sglmain/toba_1.5.0/php/nucleo/componentes/persistencia/toba_ap_relacion_db.php(112): toba_datos_relacion->orden_carga()
#4 /home/sglmain/toba_1.5.0/php/nucleo/componentes/persistencia/toba_datos_relacion.php(458): toba_ap_relacion_db->cargar_por_clave(Array)
#5 /home/sglmain/toba_1.5.0/proyectos/vx/php/balanzas/ci_navegacion.php(152): toba_datos_relacion->cargar(Array)
#6 /home/sglmain/toba_1.5.0/php/nucleo/componentes/interface/toba_ci.php(321): ci_navegacion->evt__solicitudes__seleccion(Array)
#7 /home/sglmain/toba_1.5.0/php/nucleo/componentes/interface/toba_ei.php(278): toba_ci->registrar_evento(Array, Array)
#8 /home/sglmain/toba_1.5.0/php/nucleo/componentes/interface/toba_ei_cuadro.php(595): toba_ei->reportar_evento(‘solicitudes’, ‘seleccion’, Array)
#9 /home/sglmain/toba_1.5.0/php/nucleo/componentes/interface/toba_ei_cuadro.php(516): toba_ei_cuadro->disparar_eventos_simples(Array, Array)
#10 /home/sglmain/toba_1.5.0/php/nucleo/componentes/interface/toba_ci.php(201): toba_ei_cuadro->disparar_eventos(‘seleccion’, Array)
#11 /home/sglmain/toba_1.5.0/php/nucleo/toba_solicitud_web.php(135): toba_ci->disparar_eventos(‘seleccion’)
#12 /home/sglmain/toba_1.5.0/php/nucleo/toba_solicitud_web.php(55): toba_solicitud_web->procesar_eventos()
#13 /home/sglmain/toba_1.5.0/php/nucleo/toba_nucleo.php(60): toba_solicitud_web->procesar()
#14 /home/sglmain/toba_1.5.0/proyectos/vx/www/aplicacion.php(24): toba_nucleo->acceso_web()
#15 {main}

Les agradezco me comenten si hay que tener alguna consideración particular en la migración, o si a alguien se le a presentado este problema me oriente sobre la manera de resolverlo.

saludos,

Jaime

Hola Jaime,

tengo 2 consultas:

1.- Podrias subir un par de imagenes sobre como esta definida la relacion?.. de los 3 tabs por favor.
2.- Que version puntual de PHP estas usando?

Saludos

Son 11 relaciones. Todas son id de la tabla solicitudes con solicitud de cada tabla
Te adjunto tres imagenes: del ci balanzas (ci_navegacion), del ci_editor y de las tablas mostrando una relación.
El problema se me presenta en la versión 1.5.0

Saludos.


Hola Jaime,

gracias por las imagenes, yo me referia a los tres tabs del editor de relaciones… pero con la ultima imagen igual me hice una idea de como es la misma.
Te consulto nuevamente cual es la version especifica de PHP que estas usando.

Saludos

Que pena Richard, la versión de PHP es 5.2.14

Volví a hacer la operación manualmente y me presento el mismo error en la version 1.5.0. Entonces La hice nuevamente paso a paso, verificando el funcionamiento con cada atributo que agregaba y ahora funciona bien en la version 1.5.0.
Lo único diferente es que en la nueva operación quite dos tablas con sus respectivas relaciones y esas eran las unicas relaciones diferentes. Es decir 9 tablas se relacionan con la tabla solicitudes asi: solicitudes.id → tablax.solicitud y las dos que ya no uso se reacionaban asi solicitudes.asesor ← contactos.id y solicitudes.lider ← contactos.id
Sin embargo en la version toba 1.4.9 funciona bien asi.

Saludos,

Jaime

Hola Jaime,
te diria que le pongo las fichas a un cambio en la version de PHP … Toba 1.5 se hizo compatible con PHP 5.3 y en el proceso se hicieron cambios a la libreria la cual tenia problemas con el manejo de referencias a los objetos que iba generando… te diria que probablemente haya alguna relacion alli. Tenemos dos opciones:

  • Si podes subirme los metadatos originales del proyecto con la relacion original asi lo pruebo en mi maquina. Puede ser el proyecto de la version 1.4.9 yo lo migro aca y listo.

  • Si podes migrar la version de PHP e instalar PHP 5.3.x para verificar que ese era el inconveniente.

Saludos