Extensiones que habria que desarrollar para GeneXus.

Objetivo del Post: Incentivar a la comunidad a desarrollar varias extensiones que se están necesitando.
Si alguien quiere cobrar por ellas, yo estoy dispuesto a pagar (siempre que sea poco).
Algunas como la de borrar una Kb, las deberia desarrollar Artech, pues son funcionalidad basica de GeneXus que falta.


A medida que se desarrolla con GeneXus hay algunas cosas que se nota que deberíamos desarrollar para mejorar nuestra productividad.

1) KBDelete.
Poder borrar una KB, desde GeneXus. Parece algo basico, pero hoy no lo podemos hacer de forma sencilla y da bastante trabajo lograrlo.
Dar la opción de borrar el directorio y todos los archivos de la KB o dejarlo, pues puede ser bueno para  volver a crear una KB con el mismo nombre que la anterior.

2) Replicador de instalaciones. 
Poder copiar los directorios de instalación de User Controls, Extensiones y Patterns desde una instalación de GeneXus y copiarlo a otra.
Esta extensión, permitiría instalar un nuevo Upgrade de GeneXus en una directorio nuevo, sin tener que sufrir tanto como hoy. Abstracta, Dvelop, Simplifica serian los principales beneficiados con esta extension, por lo que creo que les corresponde a ellos hacerlo.

3) Comparador de Navegaciones. 
Esta extensión podria activarse o dejarse desactivada.
Al estar activada, se salvaria la navegacion como archivo dentro de la KB con el contenido de la navegación en formato de texto (en un formato neutral a la version/upgrade/evolution).
Luego de hacer un cambio de estructura o al instalar una nueva versión de GeneXus, se vuelven a especificar los objetos, creándose una nueva versión de dichas navegaciones.
Luego, se puede usar el comparador de objetos, para comparar las navegaciones.
Se podría comparar navegaciones de una versión vieja y una nueva, sin tener que salir de GeneXus.

4) Control de Interfaces. 
Poder sacar una "foto" de las interfaces del sistema y guardarla de alguna forma, pueden ser archivos en la base de conocimiento.  Esto serian los objetos main, web services, etc de la KB y podria registrarse los parametros, el WSDL, etc.
Luego de realizar algun cambio (por ejemplo, cambiar un atributos, dominios o SDT)  se puede volver a sacar dicha foto de las interfaces y compararla con la linea base conseguida antes.
Esto seria bueno para GxTest.

5) Crear una KB desde el server, con el mismo nombre y el mismo directorio que ya existe. 
A pesar de tener una KB existente, poder bajar lo que tengo en el server, sobre el mismo directorio y sobre la misma base de datos que ya tengo.
Esto nos ahorraría muchísimo tiempo de problemas de GXServer.

6) Cardinalidad de Tablas.
Agregarle propiedades a las tablas de su cardinalidad (en registros) y crecimiento (% anual).
Esto permite estimar tamaños de base de datos necesarios y su evolución.
Esta información también es buena para hacer análisis de impacto de reorganizaciones, comparación de navegaciones solo para tablas criticas, etc.

7) Objetos Criticos. 
En toda KB hay objetos que son mas importantes que otros. Estos son los que si tienen algún inconveniente puede afectar a todo el sistema. Estos objetos puede identificarse y tener especial cuidado cuando cambian dichos objetos.

8) KBSynchro para GeneXus X. 
Poder comparar objetos de dos KB y sincronizarlas.

9) Summarized By Pattern 
Creo que es un patrón que tiene futuro. Hay que implementarlo y mostrar su utilidad.. Con la cantidad de UC que hay para WEB, creo que seria muy bueno poder sacar reportes multipes en forma fácil.
Si se quiere se puede ampliar su alcance, materializando las tablas de resúmenes, para hacer mucho mas rápido el acceso y también se puede generar el programa de carga de dicha tabla.

10) Remachame el GUID
Este es un parche muy sencillo que permite cambiar el GUID de un objeto.
El unico objetivo de esta extension, seria poder evitar el error comun

Object 'NombreObjeto' already exists but has a different global identifier (GUID). Rename one of them and retry. 

cuando es el "mismo" objeto.
Este error se da mucho cuando se trabaja con Patterns, con objetos que se generan en diferente orden.
En versiones nuevas, da menos que antes, pero aun es necesario, para casos excepcionales.







Comentarios

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.