Entradas

Mostrando las entradas con la etiqueta GeneXus Extensiones

Poder extraer conocimiento de una KB GeneXus

Imagen
Mientras desarrollo con GeneXus, me resulta muy común enfrentarme a situaciones donde necesito resolver un problema relacionado con un subconjunto de objetos de la KB y resulta muy difícil encontrar ese subconjunto a pesar de tener todo el conocimiento en la KB. Algunos ejemplos de los últimos días: Problema 1) En GX 16 tenemos un comportamiento diferente de la forma en que se valida que una grilla tenga un renglón seleccionado. En Evo3 si el usuario no habia seleccionado nada, traía las variables / atributos del renglón vacios y ahora queda con el ultimo cargado. Para poder probar esto necesito recuperar todos los webpanels que tengan un grilla que acepte seleccionar registros . Problema 2) Apareció un error de datos en la base de datos y sospechamos que un programa esta grabando mal un atributo. Necesito todos los objetos (van a ser procedures o business component) que inserten o actualicen datos en esa tabla (pero solo para un atributo especifico). Problema 3) Quier...

Nueva version de KBDoctor (v10.18)

Imagen
Publiqué en el GeneXus Marketplace una versión nueva de KBDoctor. Es la primera en la que cuento con ayuda de Nicolas para programar y hay muchas cosas que mejoraron. Tiene varios arreglos, y nuevas opciones, para el manejo de módulos y también una opción para revision de objetos. Esta disponible para Evo3, GX15 y GX16. También se pueden empezar a ejecutar las opciones de limpieza de la KB como tareas MSBUILD. Si alguien lo usa y tiene algun comentario, es bienvenido.

Hackaton Code Review

Imagen
El miércoles 9 de noviembre, en CDC del LATU, vamos a hacer una jornada de 4 horitas de programación de extensiones GeneXus. El caso de estudio, será la herramienta de Code Review que estamos desarrollando con el GUG, pero la experiencia sirve para quienes quieran empezar a hacer extensiones. Es recomendable tener bases de programación C# y Visual Studio, traer un notebook preinstalado con el software especificado en el sitio del GUG  y tener ganas de pasar un buen rato. Los organizadores prometieron pizzas pues todos sabemos que luego de comer pizza con la mano, se programa mucho mejor. Los grupos que mas colaboran, son los mas exitosos. Puede estar bueno que con actos como este se promueva la colaboración dentro de la Comunidad GeneXus, que nunca ha sido nuestro fuerte.

KBDoctor - Version 10.15.

Imagen
Subi al Marketplace una versión nueva del KBDoctor con varios cambios y arreglos. Algunas de las novedades son : Generar SQL scripts para validar la estructura de la base de datos con lo esperado en la KB, validar datos de integridad referencial, cambiar valores nulos, etc.  Sustituir un dominio por otro Listar dominios Listar atributos Listar modulos y tablas por modulos  Utilitario para acortar el nombre de atributos y objetos a su largo significativo de nombre Mejorado de codigo (cambia codigo, saca calls, udp.   varios etc.  Los compilé para Evolution 3 Upgrade 9 y GeneXus 15.   Dejo este link por si alguien quiere bajarla, antes que se soluciones unos inconvenientes que hay con el marketplace. 

KBSaveReorganization - Nueva Versión

Imagen
Subí al marketplace una nueva versión de la extensión KBSaveReorganization Esta extensión permite almacenar un script de la reorg en al KB, como un objeto del tipo File. Esta versión, tiene ademas la nuevas funcionalidades: Se salvan los programas pare ejecutar la reorg GeneXus en .NET en un directorio Se crean scripts CMD para ejecutar la reorg forzada, otro en forma batch y otro para contar la cantidad de registros de las tablas a reorganizar. Es compatible con Evolution 3.  Ademas de funcionar en el IDE, funciona cuando se reorganiza con MSBUILD task.  Si alguien la baja y la prueba, me agradaría mucho conocer sus opiniones.

KBDoctor v10.10 - Funcionalidades agregadas

Imagen
En la versión 10.10 del KBDoctor (para Evo3 U3 ** o superior y para Evo2 U4 o superior) hay algunos arreglos de errores o cosas que funcionaban mal y algunos reportes nuevos. Lo dejé documentados en la pagina del Wiki de la comunidad : KBDoctor 10.10 (Nuevas Funcionalidades) ** No funciona para la Evo3 Upgrade 1 y 2, porque hay cambios en el GeneXus Platform SDK y tengo que recompilarlo con esas versiones viejas y aun no lo hice.

KBDoctor: Encontrando objetos candidatos para refactoring.

Imagen
Desarrollé en el KBDoctor una opción para listar objetos candidatos a ser reprogramados o ajustados. Los criterios que por ahora estoy buscando son: * Objetos con nivel de anidación alto Listo cuando se tienen mas de x niveles de if/do/for anidados.  * Objetos con complejidad ciclomática alta Calculo la complejidad ciclomatica simplificada del objeto y listo los que tengan una mayor a un rango dada.  * Objetos con grandes bloques de código  Apuntamos a no tener bloques de código de mas de 100 lineas de código.  El bloque de código puede ser una subrutina, o bloques de IF/DO/FOR, etc.  Lo que hago es una heurística, que puede tener algunos errores, pero sirve en muchos casos.  El parseo de codigo GeneXus es tarea compleja, pues no tengo ni la gramatica completa y menos un BNF para procesarla. Estaria muy bueno que en proximas versiones del SDK de GeneXus se agregue algunos helpers para el manejo de codigo. Tal vez existan...

View Last Navigation

Imagen
Alejandro Rivoir hizo esta extension , para acercar las navegaciones a los objetos GeneXus. Para esto, define un nuevo tab en el editor de objetos, donde se puede ver la ultima navegacion sin tener que volver a especificar el objetos. Esto es bueno para quienes desarrollan con Evolution 2. Aun no hay version para Evolution 3 y para la Salto, ya hay opciones para ver la navegacion sin tener que re-especificar el objeto. Es una extensión recomendable.

Export Commit History. Extensiones que uso en GeneXus

Imagen
Federico Salomon hizo la extension Export Commit History , para poder listar o exportar a una planilla electronica, la historia de cambios en GeneXus Server. Es una funcionalidad muy util, que permite subsanar la carencia (para mi bastante inexplicable) que tiene GeneXus Server que no permite extraer estadisticas de uso del mismo. Para todos aquellos que trabajan con GXserver, es una extensión bastante util, como para ayudar a redactar los cambios que hay en una nueva versión.

Recover Object - Recuperar objetos borrados en GeneXus

Imagen
Luciano Silveira hizo la extensión Recover Objet , para poder recuperar objetos borrados. Su uso es bastante sencillo, pues basta con ir a la ventana de la extensión, poner una fecha anterior a cuando se borro el objeto y muestra todos los objetos borrados desde dicha fecha. Luego, se selecciona los objetos que se quieren recuperar y al seleccionarlo el objeto deja de estar borrado. Es una extensión muy útil (yo diría que indispensable, debería venir nativa con GeneXus) pues minimiza el riesgo de borrar algo por error, haciendo la limpieza de KB una tarea mucho menos riesgosa. La recomiendo.

Variables Cleaner by DVelop

Imagen
Tengo pensado hacer una serie de post sobre extensiones que uso para el desarrollo con GeneXus. Para iniciar la serie, inicio con Variables Cleaner de los amigos de DVelop. Es una extensión que hace una sola cosa y la hace muy bien, BORRAR LAS VARIABLES QUE NO SE USAN en los objetos GeneXus. Permite seleccionar un conjunto de objetos y borrar de ellos todas las variables no usadas. Las ventajas de borrar las variables no usadas, es que el código generado sera mas chico, permite eliminar referencias innecesarias a atributos, dominios, SDT, etc y mimiza errores. También habilita un menú contextual en cada objeto, para borrar las variables de un objeto en particular. Resulta muy útil para borrar las variables no usadas antes de subir los objetos a GXServer. Esta disponible para casi todas las versiones de GeneXus (falta solo para Evo3 U3, pues cambio su número de compatibilidad) y la recomiendo mucho.