Entradas

KBDoctor 10.4

Imagen
Salió y se puso a la venta la versión 10.4 del KBDoctor. Tiene varias funcionalidades nuevas, que pueden servirle para el desarrollo de aplicaciones, en particular para las grandes KB. Tiene algunas funcionalidades que MODIFICAN Y BORRAN objetos de la KB, por lo que les recomiendo que antes de usarla hagan un backup de su KB, pero puede ahorrarle unas cuantas horitas de trabajo. Nuevos Reportes  - Tablas y objetos que hacen Update/Insert/Delete/Read  - Attributos solo en transacciones, se excluyen los BC.  - Se agrega Borrado de variables en toda la KB  (Gracias a Dvelop que me prestó el codigo para esto!!).  - Search and Replace en Objetos.  - Clases Faltantes en el Theme y Clases sobrantes en el Theme  - Generacion Forzada de SDT  - Tablas -> Transacciones que las generan  - Remover atributos que no estan en ninguna tabla.  - Atributos Formula  - Se agrega el CleanmyKBAsMuchAsPosible.  - Se agrega AddIN...

VUCE - Ventanilla Unica de Comercio Exterior

Imagen
La semana pasada nos notificaron que fuimos los ganadores de la licitación para implementación de la Ventanilla única de Comercio Exterior en Uruguay. Este proyecto es interesante porque va a permitir informatizar varios tramites, haciéndolos mas sencillos y rápidos para los usuarios de comercio exterior del Uruguay, colaborando a que las empresas de Uruguay sean mas competitivas en el mercado global. Vamos a tener que lidiar con la burocracia estatal para automatizar intercambios de datos entre diferentes organismos estatales, lo cual siempre es "divertido". Una de las cosas lindas de esta profesión de Ingeniero y que  nos hace sentir bien es cada vez que liquidamos alguna de estas trabas burocráticas. En este proyecto vamos a tener varias oportunidades. Además vamos a trabajar en conjunto con nuestros amigos y vecinos de GeneXus Consulting , con quienes hemos hecho varias propuestas pero por diversos motivos ninguna se había concr...

Update parcial de objetos desde GXServer

Imagen
Cuando se trabaja con KB grandes asociadas a GXServer, en algunas oportunidades hay que hacer update de miles de objetos. Esto es común, en las migraciones o cambios grandes, cuando hay necesidad de cambiar muchos objetos en forma masiva o también cuando la KB no se actualiza por periodos prolongados, como puede ser el regreso de las vacaciones. La actualización de los objetos, no siempre termina bien, y cuando son muchos el problema se agrava. Es común que se quiten todas las referencias a un objeto y se borre, pero cuando se baja los cambios, intenta hacer primero el borrado y da errores que aun tiene referencias y no puedo borrarlo. Esto se soluciona actualizando primero las actualizaciones y luego los borrados de objetos. Otro problema se da, con el PREVIEW pues consume mas memoria que el Update, por lo que es común que de problemas de OutOfMemory, cuando hay muchos objetos para actualizar, haciendo que los updates cancelen y tenga...

Ley sobre software libre.

Este es el texto de la Ley sobre software libre en el Estado Uruguayo. No encontré información oficial si la Ley ya esta aprobada, pero debía ser tratada en estos días por la Comisión Permanente en el Parlamento y seguramente sera aprobada. Voy a poner en negrita, mis comentarios después de leerla, aclarando que los temas legales están lejos de mi interés y conocimiento. Solo expreso lo que creo que puede pasar cuando apliquen esta ley.   Proyecto de Ley: Artículo 1º.- Los Poderes Ejecutivo, Legislativo y Judicial, los entes autónomos, los organismos descentralizados, las empresas donde el Estado posea mayoría accionaria, los Gobiernos Departamentales, las Juntas Departamentales, el Tribunal de lo Contencioso Administrativo, la Corte Electoral y los organismos de contralor del Estado, deberán distribuir toda información en al menos un formato abierto, estándar y libre. Todo pedido de información deberá ser aceptado en al menos un fo...

D3 - Visualizacion de datos en Javascript.

Imagen
En D3 , hay muchas visualizaciones interesantes como para hacer una extensión para poder visualizar la relación entre los objetos de la KB. Algún día voy a tener tiempo para dedicarle... Estaría muy bueno que algún grupo de estudiantes de ingeniería de software lo tomara como proyecto de grado, estoy seguro que se podrían hacer cosas muy interesantes. Chord Diagram Dendrogram Force-Directed Graph Circle Packing Node-Link Tree Hierarchical Edge Bundling Sunburst Treemap

KBDoctor - Nuevos tratamientos para viejas enfermedades.

Imagen
Nuevos Reportes del KBDoctor.  Hace tiempo que no posteo nada y el motivo principal es que he estado haciendo algunas migraciones de KB grandes, que me han tenido divertido. Para hacer mas leves estas migraciones le agregué algunos reportes al KBDoctor. Class referenciadas por la aplicación y no están en el Theme Esto es generalmente motivo de errores en la presentación de la aplicación. Es difícil saber si una class de la aplicación esta o no el el theme porque puede estar con varios nombres influenciados por los CSS selectors. El programa aplica una heurística sencilla, para detectar los casos mas flagrantes. Para hacer esto SE TOMAN EN CUENTA TODOS LOS TEMAS de la KB. Esto es bastante mejorable, pero por ahora, lo voy a dejar asi. Class que estan en el Theme y no son referenciadas.  Estas se podrían sacar, achicando el CSS generado y haciendo mas fácil el tráfico y la personalizació...

Output inteligente (o con alguna viveza)

Imagen
En GeneXus X o superiores, la forma de identificar si tengo algún error o me falta compilar algo, es hacer un BUILD ALL. Con esto se especifica/genera/compila todo aquello que esta pendiente o fue cambiado y la salida se puede ver en la ventana OUTPUT. Cuando trabajamos con KB grandes, analizar la salida en el output es una tarea tremendamente engorrosa, porque no tenemos  se brindan buenas herramientas para su manejo. Por ejemplo, ahora estoy trabajando en una KB que tiene muchos reportes PDF, web services, exports a planillas y procesos batch, con lo que tenemos 1162 objetos main, cuya compilación sale en el output . . El output que se genera cuando no existen errores de especificación y compilación  es de mas de 500 kb, y analizar un archivo de texto de ese tamaño siempre resulta muy incomodo. Cuando hay objetos a especificar o errores, el archivo es mucho mayor, por lo que el problema es peor. Se me ocurren alg...