Entradas

Mostrando las entradas de julio, 2025

Extensiones/Asistentes en GeneXus que me gustaría tener

Imagen
  Se viene una nueva versión de GeneXus, que es la primera en incorporar inteligencia artificial en el IDE.  Esto nos abre la posibilidad de tener nuevos asistentes dentro del ide que nos automaticen tareas que en general son aburridas de hacer.  Algunos ejemplos de tareas que llevan mucho tiempo y podrían automatizarse Analizador de Errores de Compilación  Un programa que lea el output de Genexus con errores y proponga soluciones. Muchas veces Genexus tiene errores que se solucionan mandando a especificar forzado algún objeto. Lo que me interesa principalmente es deducir cuales son los objetos que deben forzarse y que los genere automáticamente.  Generar Scripts de CREATE TABLE Dada una tabla, crear un script para crear dicha tabla.  Es común tener que elegir un conjunto de tablas para hacer alguna prueba. Genexus es muy bueno para generar scripts de creación de toda la base de datos para los diferentes DBMS. Pero no es tan bueno para generar solo algunas ...

Por qué es clave actualizar tu versión de GeneXus (aunque duela un poco)

Imagen
En el mundo del desarrollo con GeneXus, trabajar con una versión antigua puede parecer cómodo, pero a la larga es una trampa silenciosa. Las migraciones o actualizaciones de versión no son solo una cuestión técnica: son una decisión estratégica que impacta en productividad, seguridad, mantenimiento y evolución del software.  ¿Por qué actualizar GeneXus? Seguridad y compatibilidad Cada nueva versión de GeneXus mejora el soporte para tecnologías modernas, navegadores actualizados, motores de base de datos y protocolos de seguridad (como OAuth, HTTPS, JWT). Seguir en versiones antiguas te expone a vulnerabilidades y dependencias obsoletas. Mejoras de performance y productividad Desde nuevas estructuras como SD Panels hasta herramientas como los Design Systems, la evolución de GeneXus no solo permite hacer más, sino hacerlo mejor y más rápido. Ignorarlo es perder ventaja competitiva. Soporte oficial y comunidad activa Las versiones antiguas eventualmente quedan sin soporte...

Envío y Recepción de Emails con OAuth desde GeneXus (Gmail / Office 365)

Con el aumento de las medidas de seguridad en servicios como Gmail y Office 365, el uso de usuario/contraseña para enviar correos electrónicos dejó de ser una opción viable. Actualmente, OAuth 2.0 es el estándar para autorizar el acceso a estos servicios. En este post, te muestro cómo integrarlo con GeneXus para enviar y recibir correos de forma segura. Por un tiempo funciono correctamente el generar "application specific passwords" generando y registrando dichas contraseñas, pero estan dejando de funcionar y ya no es tan facil llegar a generar nuevas contraseñas. Por eso, es importante actualizar las aplicationes que necesiten enviar o recibir mail con estos proveedores para que usen OAuth 2.0.  Para esto, se necesita usar el OAuth Module ,  y programar algo asi: &Success = OAuth.v2.RefreshToken( &OAuthAuthorizationConfig , &RefreshToken , &OAuthAccessToken , &DateTimeTokenExpire , &Messages ) if (NOT &Success ) ...

Edición masiva en GeneXus: Cerrar las pestañas References antes de empezar

Imagen
Si tu Knowledge Base contiene miles de objetos, cada Save puede convertirse en una pausa innecesaria: el IDE recalcula de inmediato la información mostrada en las pestañas References y Referenced by. Cuando estás haciendo cambios en serie (ajustes de propiedades, limpieza de variables sin uso, marcar objetos como Not Generated, importar objetos, etc.) ese refresco continuo añade segundos —o minutos— a tu tarea. ¿Qué está pasando en segundo plano? Las pestañas de referencia se alimentan de un grafo que describe todas las dependencias entre objetos. Cada guardado desencadena: Análisis sintáctico del objeto modificado. Re-cálculo de las aristas que cambian en el grafo. Render del resultado en cada pestaña abierta. En KB grandes el paso 2 puede tomar varios segundos. Repetido cientos de veces se vuelve un cuello de botella innecesario. La práctica recomendada 1. Cierra todas las pestañas References/Referenced by antes de iniciar los cambios. Usa el botón × de cada...