domingo 22 de febrero de 2009

Modificando el WorkWith en la XEv1

Primero que nada, para que no se pierda la costumbre y aunque parezca tarde, un feliz y próspero 2009 a los genuxianos de Chile.

Parece que durante el 2008 todos estuvimos bastante ocupados, lo que se tradujo en que no organizamos actividad alguna y ni siquiera escribimos en el blog.
La falta de participación y de entusiasmo, seguramente tiene que ver también con la utilidad que el GUGXChile brinde a los genuxianos en su labor diaria y que hasta ahora no ha sido tal. O sea, falta que esto sea una instancia de colaboración más efectiva.
Puede haber otras cosas, pero ahora quiero ir al motivo del post.


Desde GeneXus 9 contamos con la posibilidad de trabajar con Patterns, que por decirlo de una manera simple se trata de "moldes" o "plantillas" inteligentes con las cuales hacemos automáticamente un montón de trabajo que normalmente haríamos "a mano".

Probablemente el pattern más utilizado es el WorkWith que viene con GeneXus, por lo cual asumo que muchos habrán experimentado un poco creando algunas transactions y viendo como, en segundos, se obtiene una aplicación completa con las pantallas de "trabajar con" y los tabs con vistas según las relaciones dadas por los atributos en las transactions.
A pesar de toda la maravilla, es probable que muchos (fue mi caso) hayan echado de menos alguna forma de control de acceso y permisos y quizás otras cosas más.
¿Por qué ARTech no lo hizo más completo? ¿Será que luego viene otra versión mejorada?
No. La idea es que cada uno haga sus propios patterns y el WorkWith es sólo un buen ejemplo de la potencia de esta herramienta.

ww2
Quise embarcarme en este tema, pero no creando un pattern desde cero, sino que modificando el WorkWith de Artech (GXXEv1 Beta1). A partir de ese trabajo preparé una versión que denominé ww2 y que está disponible en GXOpen.
Esta versión considera:
- Creación de transacciones de Usuarios, Módulos y Permisos.
- Procedimiento de inicialización del usuario admin.
- Procedimientos de validación de accesos y permisos.
- Login en el webpanel Home.
- Adición de rutinas de seguridad en los webpanels generados.

Vista del Login en webpanel Home

La funcionalidad esperada es algo así:
- el usuario sólo tendrá disponibles, en el menú, aquellos módulos para los que está registrado
- en la pantalla de "trabajar con" sólo tendrá disponibles las opciones según permisos (Insert, Update, etc.)
- el usuario podrá tener accesos y permisos individualmente o por formar parte de un grupo de usuarios

Vista del Menu en webpanel Home

Modificar el WorkWith
No pretendo detallar en extenso los cambios, pues sería demasiado largo y la idea es que descubran cosas por si mismos, con un poco de guía, mirando los archivos XML y DKT del ww2.

Modificar el proyecto CSharp
En el caso del WorkWith, los fuentes vienen con el Platform SDK.
Esto es un poco avanzado y orientado a programadores CSharp, más que a usuarios GeneXus.
En el caso del pattern ww2, fue necesario tocar el código csharp para cambiar el nombre de WorkWith a ww2.

Modificar el archivo de recursos
El archivo de recursos es un xml con la definición de los objetos que se consolidan en la KB la primera vez que se aplica el pattern.
Para agregar objetos al archivo de recursos basta con hacer una exportación, abrir el xpz y copiar el elemento Object que nos interesa.
De esta forma agregué las transactions y procedures al archivo de resources del ww2.

Modificar los templates DKT
Los templates DKT son archivos de texto con una programación CSharp embebida que GeneXus interpreta al momento de aplicar el pattern. La ejecución de cada template retorna las partes (Events, Variables, etc.) de los nuevos objetos.
Podría decirse que se trata de una consolidación (importación) especial, no desde un xpz, sino que desde la interpretación de los templates.
En estos templates se puede apreciar con facilidad, por ejemplo, las partes del código GeneXus que son fijas y aquellas que se construyen dinámicamente con la interpretación del csharp.
Un buen ejemplo es el código de la rutina Permissions en el archivo GridEvents.dkt del pattern ww2.

Eso por ahora.

jueves 10 de enero de 2008

UCPN en Chile !!!

Primero que nada les manifiesto a todos los genuxianos mis deseos de que este 2008 esté re-bueno, que tengamos exito en lo personal y en lo profesional.

Me animé a escribir este post un poco empujado por la envidia que me causa ver cosas que ocurren en otros lados y que ya quisiera ver en Chile. Son ese tipo de cosas que nos llevan a preguntar: ¿Y NOSOTROS CUANDO?. Así mismo, con mayúsculas.

Estaba mirando el sitio técnico de GeneXus y me encontré con un link a una noticia que debe llevar un tiempo ahí (data de Noviembre): Quanta inició la fabricación masiva del laptop XO de la iniciativa OLPC y los primeros países destinatarios son Mongolia y Uruguay!!!


Entre la envidia y la frustración seguí navegando a ver que encontraba relacionado con el tema, y una que estuve mirando un buen rato fue una galería fotográfica de una entrega de laptops en una escuelita uruguaya, en Mayo pasado, creo que en el contexto del plan piloto del OLPC en ese país.

¿En qué estamos los chilenos?. Bueno, por suerte hay alguien que está haciendo algo. Se trata de la campaña de carácter ciudadano UCPN (Un Computador Por Niño).

¿Por qué puede ser que Chile no esté involucrado firmemente en esta iniciativa?
Puede haber razones de tipo técnico, financiera y otras:

- los laptops podrían quedar rápidamente obsoletos (eso pasa con todos los PCs)
- su tecnología no es tan de avanzada como quisiéramos (para escolares es más que suficiente)
- no tienen disco duro (esteeee, ¿y para qué sería?)
- vienen con Linux (entiendo que pronto habrá Windows XP)
- cuestan mucho más que US$100 (el dolar está barato y el cobre sigue alto)
- distorsionarían el mercado (seguramente, para bien del país)
- sería una burda intervención del estado en la educación y la economía (siempre está el problema del sesgo ideológico...)
- se trata de mero populismo (quién podría decir algo así?, desgraciadamente, varios)
- los hijos de familias pobres no sabrían cuidarlos ni usarlos (claro, y son malos desde que nacen...)
- estos niños después van a querer universidad gratis...

Entre estas alternativas algunas son terribles, pero si hay algo que me aterra de verdad es la posibilidad de que no sean esas implicancias las que impidan UCPN en Chile, sino que simplemente nuestros gobernantes no tengan una pizca de visión, que ni siquiera sepan de las posibilidades que pierde el país, que simplemente no se les ocurra pensar o que andan tras los "problemas reales de la gente".

Que tiene que ver esto con el GUGXSCL? Para mí: todo.

Los invito a visitar el sitio http://www.ucpn.cl/ y a buscar alguna forma de apoyar esta causa.

jueves 14 de junio de 2007

Academia Aprender Haciendo AAH

Desde hace algún tiempo el grupo de usuarios GeneXus Santiago Chile está organizando conjuntamente con INACAP la Academia Aprender Haciendo (AAH).

El objetivo de esta alianza estratégica entre el GUGX Santiago Chile e Inacap es:

Para Inacap: Obtener apoyo para sus alumnos y ex alumnos de esa casa de estudios profesionales en el ámbito de la herramienta Case GX.

Para GuGXSCL: Realizar una de tantas actividades que nos permitan posicionarnos como grupo de usuarios bien constituido, con metas y actividades relevantes en el ámbito que nos compete; dar a conocer la herramienta mostrando (en la medida de lo posible) todas las bondades y beneficios de su utilización y por ende masificar su uso, con todos los beneficios que ello implica para nosotros como profesionales expertos en GX; conocernos e integrarnos como grupo; aprender enseñando; generar lazos y muchos mas.

Hemos distribuido toda la información a los participantes del grupo, indicándoles el cronograma de las actividades que se realizarán durante los 4 sábados que durará la AAH, comenzando el 16 de Junio del 2007 (falta poco).

Mi reflexión respecto a la respuesta que hemos tenido de parte de los integrantes del grupo (hayan participado antes o no) es que algo nos falta para motivarlos. No hemos recibido las respuestas que esperabamos (hablo a título de coordinador de gugxscl en esta etapa). ¿Es que algo no ha quedado claro?, ¿Acaso no se entendió desde el comienzo el objetivo de esta actividad?, ya se había comentado en nuestro primer encuentro y se notó un entusiasmo mayor al que se nota ahora.
Luego se realizará el segundo encuentro del GUGXSCL y la AAH es parte de ello.

Participa, envia tus comentarios, manifiesta tu opinión, solo así lograremos concretar un GUGXSCL al que dé gusto y satisfacción pertenecer.

Tenemos el foro, este blog, el mail de los coordinadores, elije tu opción, te necesitamos!!!.

Un abrazo,
Juan Carlos Báez







viernes 11 de mayo de 2007

Bienvenidos al blog del GUGX-Chile

Bienvenidos amigos de GX, amigos del GUGX-Chile, todo el mundo.

Voy a partir contándole a los que no sepan (y a los que ya están enterados, da igual) que este blog está dentro del contexto de la iniciativa de crear el GUGX-Chile, que pretende ser una instancia de participación, de discusión, de consulta, de colaboración de los usuarios GX en Chile.

ARTech está impulsando el surgimiento de los GUG, como una forma de fortalecer la comunidad GeneXus (http://www.gxtechnical.com/gug/).

Estamos partiendo con el GUGX desde el 19 de Abril, fecha en que nos reunimos en el Auditorio del Inacap Santiago-Sur (http://picasaweb.google.es/gugxchile), un poco a palpar de qué se trataba esto, de cómo participar y a ver quién llegaba. En esa ocasión se definió un grupo de coordinadores, entre los que me cuento, encargados de darle continuidad a la iniciativa organizando las siguientes actividades.
En esa misma ocasión, gracias al apoyo de Sebastian Agurto, se levantó un foro (http://www.foco.cl/forogx/index.php) que tuvo un inicio bastante movido.

Luego de eso tuvimos un encuentro de coordinadores (no es cerrado, si alguien quisiera asistir alguna vez) y acordamos algunas iniciativas, tales como soportar la continuidad del foro, encuestas para conocer un poco el perfil del desarrollador GX en Chile, iniciar el blog, e ir preparando un segundo encuentro ampliado.



Primera reunión de coordinadores:
Rafael Díaz, Rodrigo Díaz, Juan Carlos Báez y Alejandro Viveros.


En general, la idea es que nos reunamos con cierta periodicidad (una vez al mes, podría ser) a compartir en cualquier actividad y que dos o tres veces en el año hagamos un encuentro más grande, con presentaciones técnicas de interés, por ejemplo: una revisión a fondo a la nueva versión que se nos viene (Rocha, que es un cambio de proporciones) y la siempre necesaria introducción a las aplicaciones web y todos los tips para java y net.

Quién puede participar del blog?
Cualquiera que esté dispuesto a redactar un artículo, un comentario, copiar una foto o un link interesante, poner algunos tips útiles, etc.. Es decir, cualquier usuario GX en Chile que tenga algo que expresar.

Salud, genuxianos!!