¿Como puedo mejorar una KB GeneXus?.
Se explica como eliminar todos los objetos no útiles dentro de la Knowledge Base GeneXus.
Se usan herramientas como KBDoctor, Variables Cleaner y se explica la metodología utilizada para lograrlo.
5. El problema
Las KB GeneXus duran muchos años
Con el pasaje del tiempo se acumulan objetos, variables, SDT, etc que
se usaron y ahora ya no se usan más.
En GeneXus es más fácil agregar objetos que borrarlos.
6. Motivos para la limpieza
● ~ 15 % de objetos que no se instalaban.
● Es más fácil encontrar errores en una KB limpia
● Enlentece el desarrollo, tiempos de Build All, Referencias Innecesarias
● No arreglar objetos que no se usen
7. Preparación
Partir de una KB con un BUILD ALL exitoso (sin errores)
Hacer un export de todos los objetos de la KB y sus propiedades, guardar el
xpz.
Crear una versión congelada
(View / Versions / Freeze)
8. Minimizar WARNINGS en especificaciones
Objetivo: Un build all sin errores y sin warnings.
A nivel de la KB
A nivel del Objeto
9. Variables no usadas
1) En cada objeto, intentar borrar todas las variables (solo va a dejar borrar las variables no
referenciadas).
Recordar hacer un BUILD ALL (SIN ERRORES)
2)
10. Atributos que no están en tablas
Pueden borrarse si no están referenciados.
Si están referenciados, hay que quitar la
referencia y borrar
● variables basados en atributos
● sdt basados en atributos
12. Objetos main que no se usan más
Borrar o desmarcar de main todos los objetos que no se usan más.
Todos los objetos deben ser alcanzables desde un main.
Solo tener los main necesarios.
14. Objetos no referenciados
● Objetos BORRABLES
○ Procedures
○ Attributes
○ Domain
○ Webpanels
○ DataProviders
…
● Objetos NO BORRABLES
○ Transactions (Al borrarla puedo cambiar la estructura de la base de datos)
○ Llamados con Call Dinámico (las referencias no aparecen en la KB)
19. Tablas no referenciadas
Aparecen en las lista de objetos no referenciados.
Hay que identificar las transacciones generan la tabla y borrarla o borrar el nivel que lo
genera.
21. Otras cosas a borrar
● Eventos no invocados
● Borrar Class de Themes
● Minimizar colores de la paleta
● Transacciones no Generables
● Resetear el WIN FORM
● Imágenes no referenciadas
● Fórmulas no usadas
● Prompts generados por GeneXus, son necesarios?
● Objetos To_be_defined
Invitacion del GUG
Hacer algo util durante la cuarentena
Aprontarnos para lo que se viene.
Metodologia de trabajo
Practica y Habitos
Forma de la charla (Deberia ser un Taller donde cada uno traiga su KB y le hacemos una limpieza)Voy a hacer una pausa en el medio para contestar preguntas).
Al final hacemos preguntas y también una encuesta que los organizadores del GUG querian hacer.
Tener todas las instancias de patterns actualizadas y aplicadas.
Hacer un REBUILD ALL de ser posible.
Hacer un CREATE DATABASE de ser posible.
Importancia de borrar variables.
Herramienta desarrollada por los amigos de Dvelop
Atributos que no estan en ninguna tabla inducen a errores.