Haciendo una KB Genexus más mantenible: Evita depender de objetos que cambien fuera de tu control


En el mundo digital, la velocidad con la que se actualizan y cambian las herramientas y tecnologías es asombrosa. Y mientras que estar al día con las últimas novedades puede ser emocionante, también puede representar un desafío significativo en cuanto a mantenimiento y compatibilidad. Si estás trabajando con Genexus y quieres construir una Knowledge Base (KB) robusta y fácil de mantener, te hago algunas recomendaciones. 

GeneXus garantiza la actualización tecnológica; sin embargo, es esencial estar preparados para abordar estos cambios. A pesar de que he presenciado numerosas charlas sobre el tema, noto una falta de énfasis en cómo prepararnos adecuadamente para las transiciones entre versiones. Por ello, he decidido elaborar una serie de publicaciones que se centrarán precisamente en este aspecto crucial.

El problema con las herramientas de terceros

Si bien las herramientas y recursos de terceros, pueden acelerarte muchisimo el desarrollo y la puesta en produccion, traen como consecuencia, que cuando cambian, afectan el funcionamiento de tu sistema. 

Por ejemplo, si desarrollo con un Pattern, con un cambio de versión de Genexus o un cambio de versión del Pattern, nos va a llegar todas las ventajas de dicha actualización así también como los objetos cambiados.
Si dependemos de un Theme, Design System o Menús u otros objetos que vienen como ejemplo en dichas herramientas, es importante tener en cuenta que cuando el mismo cambie en la próxima versión voy a tener que lidiar con dicho cambio.

Hacer copia de los objetos que uso. 

En lugar de depender directamente de los artefactos de terceros, es mejor hacer una copia (con un SAVE AS y no un Rename) de los objetos. Y ponerle un nombre que se distinga del original. 

Ejemplo de estos objetos:
  • MasterPage que vienen con Genexus o con Patterns. 
  • GAMExample* que vienen con GAM
  • Design System que vienen con los Patterns. 
  • Ejemplos de objetos generados al instalar un User Controls

Ventajas

1. Mayor control Al tener una copia, controlas todas las versiones, lo que significa que no te verás afectado por cambios imprevistos en la herramienta original.

2. Adaptabilidad: Una vez que tengas tu versión del artefacto, puedes adaptarlo y personalizarlo exactamente de la manera que quieras, sin restricciones.

3. Mantenimiento a largo plazo: Asegurarte de que tu KB sigue siendo funcional y relevante a lo largo del tiempo es fundamental. Con tu propia versión de los artefactos, no tendrás que preocuparte de que una actualización de una herramienta de terceros rompa algo en tu base de conocimientos.

Recomendaciones

  1. Documenta: Asegúrate de mantener un registro de todos los artefactos de terceros que estás usando. Documenta de dónde provienen, su versión actual y cualquier cambio que hayas realizado.

  2. Lee las Release Notes: Es vital estar al tanto de los cambios que se presentan en las nuevas versiones. Las notas de lanzamiento te ofrecen un resumen de las actualizaciones, correcciones y cambios realizados. Esto te ayudará a saber si algo podría afectar tu KB.

  3. Comparación de objetos: Después de revisar las Release Notes, compara el objeto que salvaste con el correspondiente de la nueva versión. Esta comparación te permitirá ver las diferencias y decidir qué cambios, si los hay, deberías implementar en tu copia. Esta etapa es muy importante, pues es indispensable comparar la version salvada de mi objeto, con la nueva version que viene con la nueva version. 

    Ejemplo:
    Hago un SAVE AS del objeto GAMExampleLogin y lo nombro como Login en mi KB. Cuando instalo una nueva versión de GAM (generalmente pasa con nuevas versiones de GeneXus), tengo que comparar el nuevo GAMExampleLogin con el  objeto Login, para poder adaptarlo a los cambios que aparecieron. 

  4. Prueba antes de implementar: Antes de implementar cualquier actualización o cambio en tu KB, pruébalo en un entorno de desarrollo o de prueba para asegurarte de que todo funciona como se espera.

Conclusión: 

Al final del día, la mejor manera de garantizar una KB Genexus mantenible y robusta es tener control total sobre los recursos y herramientas que estás utilizando. Adoptando este enfoque proactivo, te aseguras de que tu base de conocimientos sea siempre funcional, relevante y eficaz en el futuro. 

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.