Entradas

Mostrando las entradas de marzo, 2017

KBDoctor : Script para copiar datos entre bases de datos

Imagen
Me ha pasado muchas veces en diferentes proyectos, que necesito copiar datos entre bases de datos que tienen estructura de tablas parecidas.

Por ejemplo, hago varias reorganizaciones en mi modelo de datos y quiero tener datos de producción para hacer pruebas, no es trivial hacerlo si se tienen diferentes estructuras.

Le agregué una opción al generador de scripts en el KBDoctor, para que genere un script que tiene sentencias de la forma


insert into <SourceDB>.<TargetSchema>.HrsCab (HrsFch,RspId,SeLiquida,CabezalPryId,EnExterior )     select HrsFch,RspId,SeLiquida,CabezalPryId,EnExterior from  <TargetDB>.<TargetSchema>.HrsCab; para todas las tablas del sistema.

Para que quede un script operativo, hay que sustituir <SourceDB> por la base de datos origen,  <SourceSchema> por el Schema origen y lo mismo pora <TargetDB> y <TargetSchema>

Entonces, para generarme una base de datos con los datos de producción, con la estructura nueva, lo que hago…

Fe de Erratas: Paletas de Colores en GXWiki

Imagen
En mi post sobre Paletas de colores en GeneXus, pedía que las KB de ejemplo tuvieran ya definidos varias paletas de forma que fuera fácil ver la aplicación en varios esquema de colores.

En particular, pedía una versión de GXWiki con eso. Claudia Murialdo me hizo notar (gracias!) que la versión 6.0 ya tiene varias paletas de colores.



Es una buena KB para sacar ejemplos de como hacer estas cosas.

Propuesta de proyecto colaborativo: GXWiki con balanceo de carga sin "Server Affinity"

Imagen
Estoy buscando intersados que quieran participar en un proyecto colaborativo con GeneXus.

El objetivo primario del proyecto, seria crear una versión de GXWiki que permitiera funcionar instalándolo en varios nodos sin tener que configurar la afinidad por servidores.

El segundo objetivo es documentar que cosas impiden el tener aplicaciones GeneXus que funcionen sin afinidad, y para cada una de ellas proponer soluciones.

Que es "Server Affinity" y por que no es bueno tenerlo?

Tener una aplicación configurada con "Server affinity" significa que luego que un servidor atiende un pedido (request) de la aplicación, todos los pedidos sucesivos de dicho cliente, van a ser atendidos por el mismo servidor. Para aplicaciones de pocos usuarios y pocos nodos, esto generalmente no es un problema, pero si lo es para aplicaciones de muchos usuarios y/o proyectos que varios servidores en la nube.

Que inconvenientes tiene configurar el "Server Affinity"?

Como luego que un ser…

Paleta de colores en GeneXus

Imagen
En las últimas versiones de GeneXus tienen la posibilidad de tener diferentes paletas de colores para las aplicaciones.

Lamentablemente me parece que los ejemplos que brinda GeneXus y otros proveedores de ejemplos (patrones y demás) no están aprovechando todo el potencial de estas herramientas. Muchas personas usan esos ejemplos con pocas modificaciones para generar sus aplicaciones, por lo que es importante que estos ejemplos brinden las "mejores practicas" desde el principio.

Para personas como yo, con "capacidades estéticas diferentes" , seria bueno tener contar con algo que permita cambiar el esquema de colores en forma mas fácil.

Que cosas no me gustan? Nombre de los temas Por ejemplo, el tema que viene con GeneXus 15 se llama Carmine (que es un color) lo cual indica que ese Theme seria para tener ese color.
A mi me gustaría que el theme se llame algo asi como ModernResponsive y tener varias paletas de colores asociadas.
Carmine es un buen nombre para una pal…

GUG Montevideo - Lanzamiento 2017

Imagen
Llega la cita esperada
El Sábado 18 de marzo a las 11:30  en Puerto Madero (Luis A. de Herrera 1172 casi 26 de marzo)
Inscripciones en: Meetup.com
Ticket $ 490
Formas de pago
REDPAGOS:Cta.46855 “GUG Montevideo” Depósito en BROU , ITAU, SANTANDER (solicitar nros de cuenta a gugmontevideo@gmail.com)
Presentaremos el Plan de Trabajo del GUGpara el 2017 y algunas sorpresas!
No te dejes estar, los cupos son limitados.

KBClone - Clonar una KB

Imagen
Hice un utilitario para clonar una KB en la maquina de desarrollo.

Lo que hace es copiar todos los archivos de la KB, hace un backup de la base de datos de la KB y la restaura con nuevo nombre.

También cambia el nombre interno de la KB, ajusta el archivo knowledgebase.connection y el archivo *.gxw.

Al abrir la nueva KB, tiene el mismo estado, propiedades y objetos que tenia la KB anterior, sin necesidad de hacer build all u otras tareas que hacen perder tiempo.


Para que sirve? Para manejo de ambientes de Desarrollo  / PreProduccion y Produccion, trabajando solo en una KB.

Suponiendo que tenemos una KB de desarrollo en la cual se desarrolla y se hacen pruebas. Cuando se tiene una versión estable que puede instalarse en PreProducción, se puede clonar la KB y realizar la instalación desde la nueva KB que tiene los programas que fueron testeados.

Que ventajas tiene este clonar la KB ?
Las ventajas son que me queda una KB de desarrollo, en la cual puedo seguir desarrollando y tengo la KB c…

KBSaveReorganization para GeneXus 15

Imagen
Compilé una extensión del KBSaveReorganization para GeneXus 15.

El funcionamiento es sencillo, pues después de cada reorganización, se crea un  directorio con todo lo necesario para ejecutar la reorganización, como programa GeneXus, con el nombre REORG-aaaammdd-hhmmss.
También  genera los archivos de script de comandos para ejecutar la reorganización forzada o para contar los registros de la reorg.
De esta forma es mas fácil llevar la historia de todas las reorganizaciones que se han realizado en el ambiente de desarrollo al ambiente de produccion

Esta pensado para C#, pues carece una forma nativa de exportar la reorg, como ya existe en el generador Java.