Entradas

Mostrando las entradas con la etiqueta Rocha

Pequeñas cosas que me ponen contento.

Imagen
Cuando bajé la versión de GXWiki de GXOpen hace unos dias, vi que tenia la Catagoria " KBDoctor.Unreacheables " definida. Esta categoria se crea al ejecutar un reporte de todos los objetos que no pueden ser alcanzados por un objeto main, por lo que serian objetos nunca ejecutados. Esto quiere decir que en la interna de Artech para desarrollar con GeneXus X están usando el KBDoctor , lo cual me pone contento. Es una tranquilidad saber que lo que hicimos, alguien lo considera útil. También me sirvió para detectar un error que se da con las referencias de Webcomponents, con lo que termina mostrando mas objetos no alcanzables que los deseados. Creo que esto se da pues no esta tomando como ejecutables a los webcomponents en algunos casos. Cuando tenga tiempo voy a revisarlo. Por otro lado, en los ultimos dias me han llagado varios pedidos (varios = mas de 2 :) ) de gente que quiere usar el KBdoctor con GeneXus 9.0. La versión que tenemos que funciona para GX 9.0, es para uso...

HTMLClean - Arreglando html mal formado en GeneXus X.

Imagen
En las aplicaciones WEB actuales, cada vez es mas comun tener atributos HTML, para guardar textos con formatos, tablas y colores. Esto es muy util y muchas veces se permte que los usuarios puedan ingresar dichos contenidos. Luego estos campos se muestran como HTML en los webpanels o transacciones GeneXus. El problema que puede ocasionar esto, es que si un ingresa un HTML mal formado puede lograr que algunos elementos de nuestras pantallas no se vean . Por ejemplo si se pone un codigo < / TD > puedo lograr terminar una tabla, aunque no se lo correcto. Tambien se puede jugar con < DIV > y < / DIV > para lograr efectos interesantes.   Es comun tambien encontrar ejemplos de HTML mal formado, cuando se hace copiar y pegar desde aplicaciones de office. En particular Microsoft Word, es especialista en lograr codigo HTML muy complejo para textos sencillos. Para solucionar este posible problema, en GeneXus X se incorporó una funcion llamada HTMLClean que permite detectar y c...

Usabilizando GeneXus: Category en GeneXus X

Imagen
La semana pasada se liberó la version 10 de GeneXus . Tiene muchos cambios y mejoras que facilitan y aceleran el desarrollo de aplicaciones WEB. Vale la pena probarla. Como toda versión nueva tiene algunos temas de usabilidad que me gustaría que cambiaran. Uno de ellos es un problema de nomenclatura que creo que puede confundir, en el caso del editor de Transacciones. Por un lado, se tiene un pattern que se llama Category, que al aplicarlo, permite clasificar las registros de una tabla en diferentes categorias. Por otro lado, la transaccion puede estan en diferentes categorias, dentro de la KB. Ambas cosas se llaman Category y creo que esto puede confundir al usuario desprevenido. La forma de mostrar los patterns como una oreja (TAB) mas de la transaccion no me convence demasiado, pues pienso que cuando tengamos muchos patterns aplicables a transacciones, puede hacerse muy pesado. A mi me gustaria tener solo una orejita que diga Patterns y ahi dentro poder tener todos los patterns apl...

GXUnit - Implementaciones de GeneXus Extension en GXOpen.

Subi a GXOpen , los proyectos GXUnit del Grupo I y Grupo II de Facultad de Ingenieria de la Universidad de la Republica. Son el resultado del trabajo de algunos meses de estudiantes de la carrera de ingeniero de sistemas en computación, del cual participé como tutor (o cliente) junto con Alejandro Araujo y Uruguay Larreborges. Para hacerlos funcionar, hay que bajarse el proyecto, leer la documentacion y hacerle CAMBIOS, para adaptarse a los cambios que surgieron desde diciembre a la fecha. Hay algunos namespaces que cambiaron y tambien se agregaron unos controles a las GeneXus extensions. A pesar de no ser un desarrolo mio, lo subo para que quede disponible por si alguien quiere seguir la tarea. Los links son: Grupo I Download del Proyecto Video de uso de la extension Grupo II Download del Proyecto Video de uso de la extension UPDATE: En menos de 2 horas, se consumió todo el ancho de banda que brinda (1GB) screencast.com, para todo un mes, para ver los videos. Si alguien esta interesad...

mis cinco de la Rocha

Imagen
iRoqueta publicó que le gustaría conocer cuales son los las 5 funcionalidades principales de GeneXus Rocha . Aca van mis cinco. 1) Versionado Los objetos tienen versiones y se puede saber quien modificó que cosa y se pueden ver las diferencias entre las diferentes versiones. Es fundamental, para poder manejar grupo de trabajo grandes sobre bases de conocimiento importantes. 2) Data Selectors Nuevo objeto que va a permitir tener codigo mas claro y mejor reutilizacion de lo mismo. 3) Full Text Search Tanto en la KB, como en las aplicaciones generadas, se puede buscar por textos de una forma fácil. 4) Wiki interno Podemos tener documentacion y archivos adicionales dentro de la misma KB. Es algo que nos va ayudar muchisimo para mantener la documentacion sincronizada con el codigo. 5) Mejoras en la Reorganizaciones Van a facilitar la relacion desarrolladores/DBA y haran mas faciles las instalaciones. 6) GeneXus Extensions Con las extensiones vamos a poder personalizar GeneXus a nuestro gu...

GeneXus Rocha - Estado de mis pruebas.

En una jugada tan inesperada (por mi) como bienvenida, la nueva versión de GeneXus Rocha empezó a guardar los datos en SQLserver 2005. Creo que es una buena jugada pues le da mayor robustez (habra menos indices desincronizados) y también va a facilitar varias tareas. El tener herramientas nativas para poder consultar las "tablas del sistema" de GeneXus, es algo muy bueno para poder detectar algunos problemas. También se agrega la posibilidad de auditoria o de registros de accesos, mas facil que la solucion anterior. Me daba un poco de miedo la performance de trabajar con SQLServer pero en las pruebas que he realizado me quede contento de ver que la performance es muy buena. Ventajas de tener GeneXus en SQLServer. * Herramientas de monitoreo y profiler * Mejor Backup y menos problemas con indices * Buena performance * Se pueden hacer consultas a las tablas del sistema de forma mas facil Algunas desventajas * No es tan facil como antes copiar una KB (antes alcanzaba con copiar ...

PiensoPienso - Genexus Data Provider

Imagen
Este es un problema para resolverlo con GeneXus Rocha. Tengo las tablas ==Clientes *ClienteId ClienteNombre ==Facturas *FacturaId ClienteId Fecha (*ProductoId Precio Cantidad TotalLineaFactura = Cantidad * Precio ) TotalFactura = Sum(TotalLineaFactura) Tengo que hacer un ranking de total vendido por cliente en un periodo. Se necesita hacer un Data Provider que devuelva un SDT que tenga ClienteId ClienteNombre TotalFacturado ordenado por TotalFacturado descendente. Como seria dicho Data Provider?. Yo tengo mas de una solución y ninguna me convence del todo. Los Data Providers, tienen un potencial maravilloso, pero vamos (o al menos voy) a necesitar un tiempo para poder entender todo su polenta.

GeneXus Rocha Data Selectors- algunas reflexiones.

Imagen
En Genexus Rocha (la próxima versión de GeneXus, que sera GX 10, o GX 2008) tiene algunos objetos nuevos, entre los cuales estan los Data Selectors. Un Data Selector , es una forma de poder reutilizar navegaciones de forma facil. Ejemplo: Tengo una aplicación de Contabilidad, voy a tener una entidad Asientos (que estará formada por dos o mas tablas, Asientos y AsientosLineas). La entidad Asientos, va a tener un atributo AsientoEstado (indica si esta contabilizado o no). Luego, en mi aplicación, cuando quiera trabajar con Asientos, me va a interesar trabajar únicamente con los asientos que están contabilizados en la inmensa mayoria de los reportes y pantallas que tenga. Por lo tanto, la navegacion for each where AsientoEstado=EstadosAsiento.Contabilizado ..... endfor ahora puede escribirse de la forma: for each USING AsientosContabilizados( ) ..... endfor lo cual queda mucho mas claro, necesita menos código y además permite centralizar la definición del criterio de selección de asiento...

GENEXUS ROCHA: Lista de funcionalidades que incluira la Beta 3

Imagen
Después de la reunión de planificación del grupo de desarrollo de Artech , se realizó una lista de las funcionalidades que va a contener las próximas versiones de GeneXus Rocha. Fuentes generalmente bien informadas , filtraron la información a la blogsfera con el pedido de no divulgarla. Fieles al lema de este blog: "Que la verdad no se interponga entre una buena noticia y vos " difundimos la misma: Lista TOP Secret - No divulgar Generadores Generador Desktop Se tendrá un generador para desktop y las aplicaciones podran instalarse a través de internet. El mismo generador podrán generarse aplicaciones Flex/Air y Silverlight Generador Android. Es un generador para la plataforma de celulares de Google. Al ser algo similar a java, su lanzamiento seria muy rapido pues todas las pruebas han funcionado muy bien. Generador Erlang (solo batch) Esta pensado para poder generar codigo que sea altamente paralelizable con este lenguaje open source. Funcionalidades en el IDE Debug Integrad...

GeneXus y sincronización de objetos

Imagen
Estaba leyendo SSE , que es un protocolo parecido a RSS que permite sincronización en ambos sentidos y se me ocurrió una idea sencilla que puede funcionar. Si todos los objetos GeneXus, tienen una propiedad adicional, que contiene la url del feed de donde fue generada, podría implementarse algo bastante sencillo para mantener sincronizados objetos que se desarrollan en diferentes KB. Escenario 1: KBCore: Objetos principales del sistema KBMdl: Tiene todos los objetos de KBCore y algunos objetos adicionales. Entonces todos los objetos de KBCore, tendrían una propiedad que podría tener el valor "https://servidor/kbcore/kbrss.aspx? , , , ", que es la URL que debería llamarse para recuperar un RSS (o SSE) que (opcionalmente) incluye el distribute de dicho objeto. Cuando exporto objetos de KBcore y los importo en KBMdl, estos se importan con dicha propiedad, por lo tanto esos objetos van a quedar "marcados" como que no son mantenidos desde la KBMdl. Que ventajas tiene est...

Wiki de la Comunidad GeneXus

Imagen
Hoy el Wiki de la Comunidad GeneXus estuvo muerto por un largo rato. Se que es (o era) un tomcat con problemas de memoria y consumo de CPU. Le avise a su webmaster y sigue caído... Este tipo de cosas me joroba, porque no me deja avanzar en el trabajo pues la mayoría de la documentación de la Rocha esta únicamente ahí. Creo que seria bueno poder tener la opción de bajarse el Wiki local u otro wiki replicado para casos de emergencias. Ojo, no descarto que el problema no sea el servidor sino que yo no pueda verlo o vea otro servidor distinto que otros (por lios de DNS) que no son la primera vez que me suceden, pero de cualquier forma no pude consultar la documentacion.

GXUnit - Presentaciones finales de proyecto

Imagen
Hoy (26/11/2007) a las 18:00 y a las 19:30 horas en el Salon Rojo de Facultad de Ingeniería ( UdeLaR ) se estarán haciendo las presentaciones finales de los dos proyectos de GXUnit . Son dos grupos, que realizaron extensiones de GeneXus Rocha y dos implementaciones diferentes (unos agregando partes a los objetos y otros creando objetos nuevos) para la realización de pruebas unitarias en objetos (por ahora solo procedimientos) de una KB Genexus. Aún falta trabajo para que sea un producto terminado y usable, pero es un punto de partida excelente para continuar en el futuro. Quedé contento con el resultado de dichos trabajos. En los próximos días deberían subir los proyectos a GXOpen. UPDATE: Ambos grupos aprobaron el curso y la presentación con felicitaciones del tribunal examinador. Ahora hay plazo hasta fin de Febrero, para evaluar el producto, donde podremos probarlo un poco mas. Por mis pruebas, ya cumple con lo que se habia planteado en el alcance primario. Uno de los grupos implem...

Etiquetas y Categorias

Imagen
En GeneXus Rocha , hay una funcionalidad "nueva" que es la de poder tener objetos en categorías. Esta muy buena. Esto es algo que veníamos pidiendo desde hace tiempo (**) , por ejemplo en el wiki de la comunidad habia escrito: User Properties in Objects(Enrique Almeida) Poder establecer propiedades del usuario, en los objetos GeneXus . Poder tener TAGS asociados a los objetos, de forma de poder clasificar los objetos por TAGS creados por el usuario. ESta funcionalidad permitiria que los usuarios definan TAGs por ejemplo. DELETED - Objeto que no se utiliza mas, pero que no se puede borrar, pues debe ser distribuido para borrarse SSL - Para los objetos que se deben instalar en un directorio que tengan SSL habilitado. ERROR - Objeto que tiene errores REVISAR - Objeto aun no testeado Deberia poder agregarse y modificarse con GXPublic, sin necesidad de consolidar, sino hacerlo con un UPDATE. Si el habia pedido algo, y lo implementaron, porque este post?. Porque creo que la impleme...

Historia de reorganizaciones

En el foro de la rocha, se està conversando sobre la conveniencia o no de guardar dentro de la KB la historia de las reorganizaciones. Gustavo escribio un buen post sobre el tema. Justamente me encuentro trabajando en un proyecto de un cliente, en el cual han perdido alguna(s) reorganizaciones y mi tarea es reconstruir lo perdido y a lo mejor por eso el tema me tiene mas sensibilizado. Basicamete existen dos posiciones. a) Guardar la historia de las reorganizaciones y poder ejecutar las reorganizaciones secuencialmente. b) Tener algun mecanismo de guardar versiones y poder generar la reorganizacion necesaria para que se sincronicen dichas versiones. Desde mi punto de vista, ambas son validas y ambas necesarias. La historia de las reorganizaciones, son NECESARIAS. En muchos lugares es obligatorio guardar dichas reorganizaciones, para saber cuando se cambio algo. Por lo tanto si GeneXus no ayuda a guardar la historia de las reorganizaciones, cada quien que lo necesite lo seguirà haciendo...

ARTech Nearly Done with 'Rocha' Rewrite of GeneXus 4GL

We're still about three months away from seeing the general availability of "Rocha," the codename for the 10th version of the fourth-generation language (4GL) development tool, GeneXus, from ARTech. But to hear company executives talk about it from last week's North American user conference in Chicago, Rocha is ready for users to start using to develop next-generation Web 2.0-style applications, and even to put them into production on System i machines. http://www.itjungle.com/fhs/fhs110607-story03.html

GeneXus Rocha Beta 1

Estuve probando el fin de semana la version Rocha. Me dediqué a dejar funcionando el generador Ruby y tambien a probar un poco la generacion la usabilidad con una KB medianita (poco menos de 100 tablas) que uso para hacer pruebas. Estando en Beta1 ya se pueden hacer cosas que se aproximan a una aplicación completa. NO es un análisis completo, pero me quedo con algunas cosas. Performance: Sigue siendo mala. Me cambie de notebook y a pesar de eso, la performance sigue no siendo buena. Ahora tengo un Core 2 Duo (2.20GHz) y 2Gb de RAM y ahora esta mucho mas trabajable que con mi anterior notebook, pero aún es pesado. Se que se van a tener muchas mejoras en este aspecto (muchas ya se notan). Cada vez que miro algo que demora, trato de estudiar los pasos que está haciendo y ver si ha algo evitable. Algunas cosas se podrían optimizar, pero creo que hemos llegado a un punto que se hace imprescindible "paralelizar" algunos procesos para hacerlos mas ágiles. Hoy en dia, tenemos muchas...

Yo reorganizo, tu reorganizas, el reorganiza

Imagen
Las reorganizaciones de las bases de datos en la versión Genexus Rocha, han tenido varias mejoras espectaculares . Las principales son: 1) Se ejecuta la reorg por módulos, que ejecutan en paralelo 2) Se mejoró mucho el SQL generado y muchos casos que antes generaban tablas temporarias ahora se resuelven con sentencias SQL. 3) Se generan los scripts SQL y se puede tener scripts para correr antes y después de reorganizar 4) Se pueden ver la cantidad de registros que tienen las tablas que serán reorganizadas 5) Cuando una reorganización falla, si la corro nuevamente se retoma desde el ultimo punto que falló 6) Se verifica la estructura base de datos para prever algunos casos que hacen cancelar reorganizaciones. Con todas estas mejoras, estamos mucho mejor que antes para utilizar Genexus para la realización de las reorganizaciones con bases de datos grandes. Lo que falta Con el fin de poder ejecutar la reorganización en un periodo de varios días (en realidad, de varias noches) estaría b...

XVII Encuentro de Usuarios GeneXus (dia 1 1/2)

Fui a las siguientes charlas: "Desarrollo de generadores de lenguajes dinámicos para ambiente de código abierto", Daniel Mendez. Me gustó, aunque fue mas teórico de lo que esperaba, Me quedé con ganas de ver al generador Ruby funcionando. "Transformaciones: El caso de los Data Providers", Ana Berta, Gustavo Brown Creo que fue una buena charla, aunque los ejemplos que pueden mostrarse son muy sencillos aun. Le tengo mucha fe a los DP, pero aun tengo que verlos en "la cancha", generando xml de varios niveles complejos. "RIA: Un paseo por las diferentes tecnologías disponibles", Andres Levin Dio un pantallazo de las diferentes alternativas que existen en el mercado y dio a entender que van a mirar con cariño Flex/Air y Silverlight. Es seguro que GX va a tener que hacer algun generador con Silverlight, para mantenerse en Windows y lo que entendí es que van a adoptar el esquema de separar la capa de presentación de la de logica para hacer mas facil e...

XVII Encuentro de Usuarios GeneXus (dia 1)

El Encuentro (*) de Usuarios GeneXus 2007 esta bueno. Hay mucha gente (demasiada) y hay mucho entusiasmo. Las charlas a las que asistí hoy estuvieron buenas. Fui a casi todas las relacionadas con la Rocha. Como la vengo probando desde hace un buen tiempo no hay cosas que me resulten demasiado neuvas, pero si es llamativa la cantidad de cosas que hay para mostrar. Fui a las charlas "GeneXus Rocha: Overview", Gustavo Carriquiry Dio una recorrida general, estuvo bien. "Genexus Rocha: for Developers", Armin Bachman Mostró los nuevos objetos y el uso de la rocha para desarrolladores "GeneXus Rocha: Integrando a todo el equipo de desarrollo", Pablo Mazzilli. Dar esta charla era dificil y creo que Pablo lo mostró bien. Creo que aun nos falta aprender bastante sobre que usos se le podra dar a la integracion de mas gente al uso de las KB. "GeneXus Rocha: Interfaz de las aplicaciones a su máxima potencia", Rodrigo Alvarez Me gusta escuchar a Rodrigo pues s...

Copiando SDTs con GX Rocha

En Yo entendí "El Dirigible" y también los GeneXus Rocha Data Providers comento lo que puede ser la nueva versión del Pattern Summarized By. Una de las cosas que noté cuando diseñaba la solución, es que vamos a tener que inventar alguna forma de pasar de un SDT a otro de alguna forma. Por ejemplo, para generar la gráfica, necesitamos un SDT cargado con un formato, para generar la Tag Cloud, se necesitan un SDT parecido, pero con diferentes nombres. Alguno de esos dos, puede ser elegido para la carga de las grillas. Al menos vamos a tener un objeto que tenga que hacer algo para recorrer un SDT1 y sin demasiadas transformaciones cargar otro SDT2 con campos de diferentes nombres. A lo mejor los Data Providers, pueden usarse para esto también, aunque si es así, no se como se hace. Seguiré probando para ver si encuentro algo mejor pues debe existir.