Usabilizando Genexus (Documentacion sobre el formato del XPZ)

Hoy tenemos muchas aplicaciones que dependen de consolidar objetos a travez de archivos de distributes (XPZ).

Los que hemos desarrollado este tipo de aplicaciones, siempre lo hemos hecho haciendo "ingenieria reversa" sobre dicho formato, y viendola se puede entender mucho de la información que lo misma tiene.

En los ultimos dias, hemos estado discutiendo una tecnica de generar HELP en aplicaciones web desarrolladas con GeneXus y en gran parte usando Patterns.

El dilema era este:
1) Queriamos tener help en los objetos Genexus
2) Queriamos usar Patterns
3) En los Patterns, no hay forma de escribir el help de los objetos
4) Cada vez que se consolida un objeto se pasa por arriba el help del mismo.

Por lo tanto, tomamos la decision de tener un metodo alternativo de editar/guardar/generar el help de la aplicacion.

Todo este argumento se cae pues el punto 4) es FALSO. Existe una caracteristica NO DOCUMENTADA del XPZ, que es:

< Gxobject merge="Yes" >

Esto hace que las partes no especificadas del objeto no se sobre-escriban las partes no especificadas en el XPZ, si ya existe el objeto en la KB.

Esta attribute, no se puede generar desde GeneXus, por lo que es imposible encontrarla a traves de ingenieria reversa (mirando el xpz generado al distribuir con Genexus).

Si hubiese estado documentado el formato del XPZ, podriamos haber encontrado este attribute y sabido que se podia tener esta funcionlidad hace tiempo (no se desde cuando esta implementada)... La he buscado por mucho tiempo atras para poder modificar la documentacion sin tener que distribuir todo el objeto..

En el caso del help, nos hubiese ahorrado horas de trabajo (y re-trabajo que haremos ahora al volver a poner el help en objetos genexus)
En el caso de la modificacion, nos hubiese permitido tener herramientas de tracking de objetos modificados, mucho antes y mas faciles de usar.

MORALEJA: es necesario documentar la interfaces de mis sistemas, si me interesa que los demas interactuen con ella. En este caso, los xpz son una de las interfaces que GeneXus provee a los que la utilizamos y queremos automatizar algo de su funcionamiento.

Comentarios

Entradas más populares de este blog

El Sordo

StackOverflow Documentation

Paleta de colores en GeneXus