Entradas

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

Imagen
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 cons...

Tercera prueba de GeneXus Next

Imagen
Seguí trabajando con el mismo prompt que use ayer para hacer la prueba y ahora si generó correctamente la aplicación. No se bien que cabión tras bambalinas, pero ahora me funcionó bien.  Me resulta mágico, que solo poniendo una descripción de lo que quiero pueda deducir un modelo de datos, crear la base de datos, cargarle datos de prueba y hacer un deploy en la nube para que lo pueda probar.  Adicionalmente, me publica una API para todos las tablas de datos básicos y hechos del sistema.  Es indudable que ahorra una cantidad impresionante de trabajo manual y repetitivo que hasta el momento no había podido ser automatizado.  Genere el modelo con WorkWithPlus y ya tiene además la posibilidad de consultar con lenguaje natural , por ejemplo, si ponemos en el filtro de arriba a la derecha:  "Tickets with Status Name = In Progress" me lleva a la pantalla de trabajar con Tickets, con el filtro de Status filtrando por In Progress.  Le agrega una nueva forma de naveg...

Segunda Prueba de GeneXus Next

Imagen
 Hice una segunda prueba de GeneXus Next y lamentablemente el resultado no fue muy satisfactorio.            Probe con el prompt Necesito hacer un sistema para el seguimiento de tickets de desarrollo para aplicaciones, donde se puedan registrar errores, oportunidades de mejoras, sugerencias. Se necesita hacer seguimiento del estado de los tickets, saber quien lo tiene asignado, poder poner comentarios y notificar a los involucrados. Los clientes deben poder ingresar los tickets online y tambien consultarlos. Considerar al menos las siguientes entidades Clientes, Tickets, Sistemas, Personas, Estado de Tickets, Comentarios de Tickets No me parecia algo muy complejo, pero da un error y no me muestra cual es por lo que no puedo saber que es lo que esta pasando.  Me recomienda empezar desde el principio de nuevo, cosa que hice, pero no tuve mucha suerte. Lo reporte hace un tiempo a la gente de GeneXus, pero ya paso un buen tiempo y sigue sin re...

Cómo encontrar objetos en una KB GeneXus que utilizan dos tablas

Imagen
GeneXus es una herramienta poderosa que facilita la creación y mantenimiento de aplicaciones. Sin embargo, en ocasiones podemos encontrar la necesidad de identificar qué objetos hacen referencia a dos tablas específicas en nuestra Knowledge Base (KB).  Vamos a hacerlo paso a paso. Paso 1: Listar objetos que usan la TABLA1 1. En tu KB GeneXus, localiza la TABLA1. 2. Una vez que estés en la tabla, ve a las referencias de los objetos que la utilizan. 3. Selecciona todos los objetos que hacen referencia a esta tabla. 4. Accede al menú LSIExtensions (*)  y selecciona Edit . 5. Luego, elige Copy Info Objects as Table . 6. Abre tu editor de texto preferido y pega el contenido del portapapeles. Yo uso Notepad++ Paso 2: Ordenar y guardar el archivo 1. Ordena el contenido alfabéticamente. Lo ordeno en el Notepad++ con Edit / Line Operation / Sort Lines 2. Guarda el archivo con el nombre TABLA1.txt. Paso 3: Listar objetos que usan la TABLA2 1. Vuelve a tu KB GeneXus y repite el proceso d...

Fortaleciendo la Comunidad GeneXus: Desafíos y Oportunidades

Imagen
En los últimos años, la cantidad de usuarios GeneXus ha experimentado un crecimiento. Esto es evidente con la llegada de nuevos desarrolladores y la continuidad de los que, como yo, llevamos años en este mundo. Las tendencias hacia el desarrollo Low Code, la integración de inteligencia artificial y la creciente demanda de sistemas por parte de empresas y personas sugieren un futuro prometedor con espacio para más desarrolladores. ¿Por qué es tan crucial una comunidad sólida? Una comunidad fuerte permite mejorar las metodologías de trabajo, haciendo que los proyectos GeneXus sean más eficientes y productivos. Pero para que una comunidad prospere, hay factores esenciales a considerar: Compromiso : Una comunidad saludable se caracteriza por la activa participación de sus miembros, quienes deben sentirse impulsados a colaborar y aportar. Comunicación Abierta : Es vital facilitar canales de comunicación efectivos entre miembros y líderes. Y, por supuesto, todo debe basarse en el respeto mut...

Consejos de uso de Google Analytics para el desarrollador GeneXus.

Imagen
En las aplicaciones Genexus, es muy fácil habilitar Google Analytics para que la misma informe sobre su uso. Esta herramienta tiene muchisimos usos para entender como usan los usuarios la aplicación. En particular, queria mostrar algunas que son utiles para quienes desarrollan aplicaciones web, y pueden ayudar a desarrollar aplicaciones mas faciles de usar.  Usuarios en Real Time Permite ver cuantos usuarios estan conectados en este momento al sitio y desde donde se están conectando. Es útil para ver como afectan alguna nueva instalación.  Muestra desde que dominio, pais se conectan y  cuales son las paginas mas utilizadas en ese momento.  Ranking por paises  Para conocer un poco mejor la audiencia de mi aplicacion, es bueno ver desde que pais es mas usada la aplicación. Por ejemplo en este caso, la gran mayoria de la misma es accedida desde Uruguay.  Que navegador usan mis usuarios?  Ver esta consulta ayuda a definir con que navegadores debemos conce...

KBDOCTOR para Genexus 18

Imagen
  Intenté subir una versión de KBDOCTOR para Gx18 al marketplace y no lo logré, pues da errores de validación que no logre superar. Dejé un zip en la wiki , por si alguien lo quiere  Descomprimir en el directorio Packages y luego ejecutar genexus /install  en el directorio de Genexus 18. Tiene muy poco testeo y no tiene opciones nuevas. No está en condiciones optimas de ser liberado, pero como me lo pidieron varias veces, lo libero. 

Eventos en webpanels y transacciones GeneXus.

Imagen
  Este post es parte de una serie de artículos sobre como hacer KB mas mantenibles y actualizables a nuevas versiones de GeneXus. Los objetos que tiene interfaz de usuario, soportan eventos en su programación. Dichos eventos son necesarios para permitir al usuario hacer acciones sobre los datos. Los eventos pueden dispararse por diferentes motivos como ser apretar un botón, cambiar algún valor, salir de un control, paginar, cargar una grilla, etc.  Una practica que recomiendo fuertemente para hacer la KB mas fácil de mantener y sobre todo mas migrable a nuevas versiones, es la de solo incluir en el código de los eventos, aquellas cosas que interactúan con los elementos de las pantalla, y todo lo demás, resolverlo con otros objetos (procedures, data providers, etc).  Cosas que SI deben hacer los eventos: Mostrar mensajes al usuario Ocultar/Mostrar controles (botones, grillas, tablas) Actualizar datos en pantalla, dependiendo de lo ingresado por el usuario Cambiar texto de...

No code, low code, high code = CODE

Imagen
La evolución de la forma de interacción entre humanos y máquinas ha experimentado cambios significativos a lo largo del tiempo. Voy a tratar de mostrar con diagramas como ha evolucionado el proceso de desarrollo de software y la interacción entre los desarrolladores y las computadoras. En las primeras etapas, se muestra que los desarrolladores interactuaban directamente con las computadoras utilizando lenguaje máquina. En esta fase, el desarrollo de software requería un conocimiento profundo de la arquitectura y los códigos de bajo nivel de las máquinas. Era un enfoque muy técnico y laborioso. A medida que avanzamos en el tiempo se observa una progresión hacia niveles de abstracción más altos. La siguiente etapa muestra el uso de lenguaje ensamblador (assembler), que proporcionaba una capa de abstracción sobre el lenguaje máquina, facilitando un poco más la tarea de programación. En esta etapa, los programadores tenían que hacer manejo de memoria, acceso a disco y programar las operaci...

GeneXus: Usar un workspace controlado - O como organizar el espacio de trabajo en GeneXus.

Imagen
GeneXus es altamente configurable en su espacio de trabajo. Permite que sus diferentes componentes, se agrupen en el IDE de diferente formas y los mismos pueden quedar flotantes, auto ocultarse, agrandarse, achicarse, verlos arria, abajo, etc.  Tambien es muy comun, que con el trabajo alguna de estas ventanas se oculten sin querer, o queden en lugares incomodos.  Por ejemplo, cuando trabajo en monitores que son Full HD o superiores, me gusta tener : siempre visible a la derecha el KBExplorer / Preferences,  siempre visible y a la izquierda las Propiedades, Toolbox y los resultados de los Test.  siempre visible y abajo, la ventana de output.  el espacio central con el editor de texto  un tab para KBdoctor.  GeneXus nos brinda la posibilidad de ejecutar con la opción /NoWorkSpace, con la cual se levanta con las opciones por defecto, donde las propiedades , el KB Explorer y el Output se ocultan cuando no tienen el foco.  Acomodarlo a la forma que yo ...