Run sobre un objeto, compila muchos objetos no relacionados en mi KB GeneXus

Me plateaban este problema:

"Sobre un objeto main, hago click derecho y RUN. Demora muchisimo, porque compila casi todos los objetos del sistema".



Es una KB mediana (1000 objetos) y no había motivos para ese comportamiento.

En la documentacion del Build/Rebuild/Run dice:
Specify only objects that have changed (Build) or force the specification of all objects (Rebuild) belonging to the "Selected" main call tree (*).  
Consider also objects references in the properties of KB Version (except Startup Object), Environment and Generator, with their call tree.

(*)The call tree of a main is "cut" on every other main found unless the Call tree for build option is set to full
Entonces lo que hicimos fue revisar cuales son los objetos referenciados en las propiedades, de la Version, Environment y Generador. 

Habia 
Objetos del GAM, Login y NoAutorizado
Objeto de AfterConnect 
MasterPage

Lo único sospechoso, era la masterpage, pues tenia un menu, que llamaba a muchos objetos. 
Esto lo hacia a través de un Data Provider. 

Pasamos el Data Provider a main y pusimos la propiedad Call tree for build option en Stop on main objects, con lo que se corto el árbol de llamadas.



Con esos sencillos pasos, logramos que al hacer Run de un objeto, solo tomara en cuenta los objetos que estan siendo referenciados por el objeto en cuestion, y no tuviera que volver a compilar otros objetos main que no estaban siendo referenciados.

Una solucion muy sencilla, que tal vez a alguien mas le sirva.


Comentarios

  1. El Dataprovider se puede setear como Main? En 15?

    ResponderBorrar
  2. Roberto:
    En GeneXus 15 y posteriores se puede marcar los Data Providers como main.
    En Evolution 3 o anteriores, podiras hacer una llamada dinamica desde la MasterPage al dataprovider, de forma que no quede dentro del arbol de llamadas.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.