Lista de deseos para #GeneXus previa al GX24.

Se acerca el Encuentro Internacional GeneXus numero 24 (#GX24) y el mismo será una buena oportunidad para intercambiar ideas y proyectos con otros miembros de la comunidad GeneXus.

Aun no he podido ver que charlas habrá pero supongo que tendran el nivel que nos tienen acostumbrados. A mi este año me toca hablar sobre "Innovaciones en el proceso de Build y Deploy" con GeneXus y colaboro en la charla de "Reglas en Runtime" que dara Alejandro Rivoir con un motor de reglas que pueden ser escritas por los usuarios.
En particular, me gustan mucho las instancias donde se puede hablar con los desarrolladores de las herramientas que utilizamos a diario para desarrollar.


Lo que me ha pasado en encuentros anteriores. que al haber aumentado la cantidad de participantes y al haber tantos tracks simultaneos de charlas interesantes, es mucho mas dificil que antes llegar al grupo de desarrolladores con el tiempo como para contarles nuestras necesidades y pedidos.


Por eso escribo aca la lista de cosas que me gustaría poder contar en próximas versiones de GeneXus.
Son todas bastante sencillas y mayormente pensadas para mejorar la usabilidad.
1) Mostrar los últimos n logs
Cuando se trabaja con KB grandes, es incomodo que cuando mando hacer el build de un objeto, me borre el log anterior (donde tenia el resto de los errores a corregir)
Sera bueno que GeneXus me permitiera ver los últimos 10 logs de build o build all, pues nos ahorraría mucho tiempo.


2) Generar forzado un objeto.
Hoy la forma de forzar la generación de un objeto, es cambiar la propiedad de Tools/Options y poner que en el Build With this only para que haga una generación forzada., cambiando esto para todas las ejecuciones de Build with this only.
Según mi experiencia son excepciones donde se necesita hacer la generación forzada y en la mayoría de los casos, alcanza con check.


Como cuando se hace una generación forzada, en objetos que usan muchos SDT se generan todos estos fuentes, muchas veces demora en forma innecesaria.
Seria bueno poder optar en el momento de enviar la generación si la quiero forzada o no.


3) Ver navegación detallada de un objeto
Es similar al punto 2.


Lo mas util, es ver las navegaciones no detalladas. Las detalladas se necesitan solo en contadas ocasiones, pero la propiedad esta a nivel global, por lo que o vemos todas detalladas o todas normales.
Seria bueno poder elegir cual quiero en una corrida determinada o que fuera mas facil cambiar las propiedades.


4) Files en Folders
Muchos objetos genexus pueden ser almacenados en Folders.
En el caso de los objetos Files, estos no pueden ser guardados en folders, lo cual dificulta su organización.
Por ejemplo en nuestro caso, tenemos muchos XML Schema que se utilizan para validar xmls. Es bueno tenerlos en la base de conocimiento, pero hoy nos quedan todos mezclados con otros archivos.
Seria bueno poder tener varios folders con archivos y folder y dentro de las mismas poner los objetos del tipo File.


Schemas
Schema1.xsd
Schema2.xsd
Jar
mijar.jar
dll
midll.dll




5) Que View Navigation, muestre la navegación.
Cuando tenemos la ventana de View Navigation abierta pero no visible, y en un objeto hacemos un View Navigation, no se pasa automáticamente a dicha ventana, y el usuario que recien empieza no entiende que es lo que pasa.


6) Armado de Working Set
Una funcionalidad muy buena y poco usada es la de poder armar un Working Set para hacer operaciones en un grupo de objetos en vez de hacerlo uno a uno.
Estaria bueno poder enviar un objeto a un working set, en el boton contextual del objeto.


Por ejemplo, si tengo varios objetos que debo mandar a especificar


6) Poder especificar SDT.
Muchas veces quedan mal generados los fuentes de los SDT. La forma de regenerarlos, es indirecta. Seria bueno poder tener un mecanismo de poder generar el fuente de un SDT, que permita elegir el generado y lo haga en forma forzada.
Ahorraria mucho tiempo.


7) Table has been removed. y Reorganize server tables + NO.
Cuando la propiedad de Reorganize Sever Table = NO y borro una transaccion que hacer borrar una tabla, se muestra la reorganización pero no muestra que la tabla se borrara, pues se sustitutye el mensaje que indica que la tabla se borrara, por el mensaje que la tabla no se va a reorganizar.


8) Regenerar .ARI. y archivos *.00x
Mucho mas frecuentemente de lo deseable, es necesario regenerar los .ARI o los archivos de texto que tienen relaciones entre objetos. Esta situacion es peor en ambientes con mas de un generador.
Seria muy conveniente tener un mecanismo que permita regenerar todos los .ARI con una herramienta externa a GeneXus, para no tener que hacer REBUILD ALL, como se necesitan con las versiones actuales.

9) CheckKnowledgeBase en el Menu
Tener una opcion en el menu de GeneXus que permita hacer un CheckKnowledgeBase de forma de no tener que hacer un scripts de comandos, para corregir problemas.

Relacionado con GXServer

1) Update & Build all. 
En KB que están conectadas a GXServer, estaria muy bueno tener un botón para hacer un Update desde GXServer y si todo sale bien y no hay warnings ni errores en dicho update, lanzar un build all.
Automatizaría algo rutinario que hoy hay que hacerlo en 2 pasos.

2) Poder exportar un objeto desde GXServer. 
A traves de la interfaz web, poder generar un xpz para bajarmelo. Eso es practico para cuando quiero sacar parte de la funcionalidad de una kb y no quiero bajarmela entera. 

9) GXServer
En Update, por default, mostrar la lista de commits, edesde mi ultimo full update.
Hoy se muestran los objetos con diferencias (y hay que seguir mostrandolo) pero es mas util, que muestre tambien los commits que se han realizado desde el ultimo FULL UPDATE. 
Estaria bueno tener una MSBUILD task que permita hacer una lista de los Commits desde la fecha del ultimo update. 

Comentarios

Entradas más populares de este blog

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

Aplicación monolítica o distribuida?

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