23 Ideas para GeneXus Extensions

Me pidieron una lista de posibles GXExtensions, para la version Rocha.
Los que decidan implementarlas, pueden "dejar su contribución a la salida del templo.."

1) Tools / Command Prompt (esta la va a hacer Marcos Crispino)
2) Generar Triggers de Auditoria para las tablas elegidas (esta la deberian hacer Marcos, Alexander, Ruben y Sergio)
3) KBIndexWizard. Generar los indices que se necesitan para correr bien la aplicación (Revisar todas las especificaciones y ver que indices pueden necesitarse, se necesita tener cardinalidad de tablas y algunas cosas mas, es mas importante el where que el order, etc)
4) IAR con estimacion de tiempos. Dada una reorg y una KB, generar los programas necesarios para poder evaluar en el servidor de produccion cuanto va a demorar esa reorg, considerar la cardinalidad de las tablas y la cantidad de thread que van a correr en paralelo.
5) KBSpellChecker. Corrector de faltas. Al salvar un objeto, verificar la ortografia de la documentación, el help, los tags de la pantalla, contra algun diccionario.
6) Verificador de Nomenclatura. Cuando se salva un atributo, dominio, indice, objeto validar si cumple las reglas establecidos en el proyecto / KB.
7) KBdoctor. Valida errores comunes que se cometen en las KB. Migrar el kbdoctor actual.
8) KBBeautify. Dado un objeto con fuente, que lo deje "lindo", o sea que deje el codigo indentado como se ha establecido y que ponga las palabras reservadas en minusculas, etc.
9) Borrado de Objetos Inutiles. Recorrer todos los objetos y borrar los objetos no alcanzables, borrar las variables declaradas y no utilizadas, atributos que no estan en ninguna tabla.
10) KBFullCycle. Permite impactar/especificar/compilar/generar el help todos los objetos de la KB en un solo paso. Puede ya estar incluido en la rocha, hay que esperar un poco.
11) KBReplicator. Cada vez que un objeto es marcado con una propiedad especifica, se puede replicar a otra.
12) KBRssEmitter. Cada vez que un objeto de la kb se modifica, emite rss, de forma de poder ser consumido por otras aplicaciones.
13) Comparador de navegaciones. Dada una version estable de mi aplicacion, compararla con la que estoy desarrollando para ver si hay diferencias en la navegacion en los objetos que no modifique.
14) KBTableXObjects. CrossReference entre tablas/operaciones y objetos. Saber que objetos hacen insert/delete/update en que tabla.
15) KBAppGenerator. Dada una KB, con trns unicamente, generar una aplicacion completa con la misma, aplicando el Pattern WorkWith a todas las entidades (dimensiones), el Pattern SummBy a los eventos (fact tables).
16) Objeto CasoDePrueba. Objeto que al correr, prueba a otro objeto. (lo hara la gente de GXunit)
17) Objeto Requerimiento, que tenga documentacion y vida propia.
18) KBSQLqry. Poder ver el contenido de una tabla desde gx. Parado en la tabla, darle Open a la tabla y que muestre una pantalla sencilla con el contenido (100 registros) de la misma.
19) Pattern SaveData y LoadData. Dado un conjunto de TRN, generar los programas necesarios para salvar los datos a xml y para volver a cargar dichos datos, usando BC/new y xml.
Serviria para facilitar las pruebas de proyectos en GXOpen, donde se podrian subir los proyectos con datos. Lo "divertido" es lograrlo con una base con integridad referencial declarada en la base.
20) KBAssetManager. Una aplicacion que permita administrar cuales son las KB que tengo, tenga indicadores de dichas KB (#objetos, #objetos modificados, #objetos nuevos, #objetos por tipo)
21) Diagramadores. Varios diagramas de tablas, con diagramas que se puedan leer y navegar. Diferentes formas de navegar por la KB en forma grafica.
22) Complejidad de objetos. Poder calcular la "complejidad" de un objeto, con indicadores como sentencias SQL que utiliza, cuantos objetos lo llaman, a cuantos objeots llama, tamaño de su especificacion, etc. Es comun que un conjunto pequeño de objetos, dentro de una KB sean complejos y los demas sean sencillos, y deberia ser facil identificarlos.
23) Referencia cruzada entre sentencias SQL y Objetos. Cuando se producen lios en la base de datos (por ejemplo, deadlocks, sentencias ofensivas, bloqueos) lo que se tiene es la sentencia SQL que se ejecuta. La forma de saber que objeto hay que mirar, es buscando en los fuentes. Seria bueno poder identificar mas rapidamente los objetos que hay que revisar.

Comentarios

  1. 24) Tools / Open generated program . Si estoy parado en un objeto, abre el programa generado...

    ResponderBorrar
  2. im-pre-sio-nan-te!
    anotate un voto para el proximo MVM de la comunidad GX de mi parte ;)

    ResponderBorrar
  3. Si, esta buena, pero pueden generarse mas de un programa, en diferentes plataformas y en diferentes lenguajes.
    Deberia ser Tools/Open generated programS.

    ResponderBorrar
  4. Aunque no lo habia llamado KBBeautify sino Emprolijator 0.1 habia escrito algunas lineas de codigo para hacer algo del estilo. Si alguien se mete en el tema, me avisa y le mando un export pa que tenga...

    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

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.