La idea es compartir mis experiencias con las diferentes pruebas que realizo sobre Open Source aplicado a GeneXus y otras tantas cosas que me pasan a diario.
viernes, noviembre 12, 2010
La fiebre por Android
Mi interés por Android se remonta a mediados del 2008 cuando un amigo me menciono que lo que se venía era Android, en su momento me puse a investigar y el día 28/09/08 hice mi primer post en el blog haciendo referencia a Android.
Lamentablemente en su momento por cuestiones de tiempo no pude meterme a fondo con Android y lo único que hice fue un “Hola Mundo”, para esto tuve que bajar el SDK y configurar Eclipse.
En aquel momento se me fueron las ganas de seguir probando ya que al no poseer un terminal en donde probar no quería estar jugando simplemente con un emulador y decidí esperar a que llegaran a uruguay teléfonos con Android ya que si era lo que se venía seguramente no iba a pasar mucho tiempo.
En marzo del 2010 me entere que Movistar estaba trayendo los Samsung Galaxy con Android, al poco tiempo Ancel comenzó a traer los Huawei también con Android pero los dos vienen con contrato y a mí no me sirve cambiar de contrato o de proveedor por lo que busque traer algún teléfono del exterior que fuera libre.
A mediados del 2010 un amigo me consiguió un HTC Magic con Android 1.6, esto me llevo a meterme nuevamente con el desarrollo para Android y la verdad que hice muy poco ya que programar a mano lleva bastante tiempo aparte de que hay que investigar mucho para meterse en una nueva plataforma.
Por suerte hace unos días GeneXus liberó la Evolution 2 Beta 1 que me permite generar aplicaciones para Android y la verdad que ahora renové las ganas de seguir metiéndome con Android para poder sacar el mayor provecho posible a mi teléfono.
De todas formas lo primero que tengo que hacer para poder probar bien es actualizar la versión de mi teléfono ya que tengo Android 1.6 y si no me equivoco las cosas más interesantes se encuentran en la versión 2.1 de Android.
jueves, abril 29, 2010
Google App Engine Parte II
http://urulinux.appspot.com/
lunes, abril 26, 2010
Cosas que me vuelven loco en GeneXus Ev. 1
En GeneXus 9 teníamos la posibilidad de agregar los parámetros desde una lista de selección, en la imagen se muestra cómo podíamos seleccionar el componente y los parámetros sin problemas:
Esto lo pude observar desde GeneXus X y siguen en la Ev. 1, como muestra la imagen no puedo ingresar los parámetros de una forma amigable como teníamos en GeneXus 9.0.
No es nada grave pero me obliga a crear el Web Component a mano o recordar el nombre de las variables o atributos que quiero pasar por parámetro.
La segunda cosa que me vuelve loco es que no funciona la opción de definir un evento de usuario desde las propiedades, la opción existe pero luego tengo que ir a Eventos y escribirlo ya que no lo crea.
Google App Engine Parte I
Desde ese momento me metí y descubrí una buena alternativa para introducirnos en el Cloud Computing. La verdad que me gusta mucho lo que pude leer y voy a ver si me da el tiempo para realizar algunas pruebas.
Se puede arrancar con este link: Google App Engine
domingo, noviembre 08, 2009
Respaldar Bases de datos en MySQL
En lo personal estaba programando un backup y tuve que comenzar a hacer un script para que se encargara de respaldar las bases de datos aparte de mandar un mail en caso de fallo y otras cosas básicas de cualquier respaldo.
Lo que hice fue buscar en internet y encontré un Script llamado AutoMySQLBackup, el script se puede bajar del siguiente sitio: http://sourceforge.net/projects/automysqlbackup/
Algunas de las cosas interesantes:
- Respalda una o todas las bases de datos que se necesiten.
- Reporta por mail el resultado de ejecución del script
- Se pueden disparar otros scripts antes o después de ejecutar el respaldo.
- Ejecuta backups, diarios, semanales, mensuales, etc.
Lo principal es que nos ahorra un montón de trabajo y es muy sencillo de modificar para adaptarlo a nuestras necesidades.
martes, octubre 27, 2009
Replicación en MySQL Parte I
A continuación hago un resumen muy pero muy breve de lo que hice para tener un servidor con Replica en MySQL.
Para poder configurar mi servidor de replica tengo que hacer lo siguiente:
Configuración servidor MASTER:
1) Editar el my.cnf
log-bin=/var/lib/mysql/mysql-bin.log
binlog-do-db=test
server-id = 1
2) Bajar y Subier el mysql
3) Entro en el shell de mysql para darle permisos al usuario que voy a utilizar para la réplica.
mysql> GRANT REPLICATION SLAVE ON *.* TO usr_replica@'%' IDENTIFIED BY 'password_replica';
mysql> FLUSH PRIVILEGES;
4) Entro en el shell de mysql para consultar el estado del Master
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | test | |
+------------------+----------+--------------+------------------+
Estos datos son importantes para luego poder configurar el SLAVE.
5) mysqldump -u root -ppassword --opt test>test.sql
Configuración servidor SLAVE:
En el esclavo lo primero que tengo que hacer es copiar la estructura de la base de datos a replicar, existen varias formas de hacerlo pero para el ejemplo preferí hacerlo de la forma más sencilla. En el ejemplo estamos replicando solo la base de datos test por lo que usando un simple dump podemos preparar el servidor esclavo para la réplica.
1) Levanto el test.sql que generamos en el Master en el SLAVE, esto lo hago simplemente con un source o de la forma que se prefiera. Hay que tener en cuenta que la base debe existir o la tenemos que crear, en este ejemplo uso la test que viene con mysql y en el test.sql traigo la estructura que tiene el master que simplemente es una tabla para las pruebas.
2) Tengo que indicarle al servidor que es slave por lo que tengo que editar el my.cnf con los siguientes datos:
server-id=2
master-host=192.168.248.136
master-user=usr_replica
master-password=password_replica
master-connect-retry=106
replicate-do-db=test
Estos datos los saco del master tal cual se muestra arriba. Después de modificar el my.cnf debo hacer un stop y start del servicio mysql.
3) Entro en el shell de mysql y hago lo sigiuente:
mysql> CHANGE MASTER TO MASTER_HOST='192.168.248.136', MASTER_USER='usr_replica', MASTER_PASSWORD='password_replica', MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=106;
4) Dentro del shell lo que hago es inicializar el esclavo con el siguiente comando:
mysql> START SLAVE;
Con esta configuración todo dato que se modifique en la base de datos test del servidor master se replicara en la base de datos test del slave.
lunes, septiembre 28, 2009
Collaborative Projects 2.0
La verdad que me puso muy contento el enterarme de este lanzamiento y sin dudas esto es un estimulo para la comunidad de usuarios GeneXus.
Me gusta apoyar estas iniciativas ya que independientemente de los resultados todos los que participan se ven beneficiados de alguna manera.
En lo personal siempre intento participar de todo lo que tenga que ver con la comunidad pues la mayor parte de mi conocimiento sobre GeneXus lo he adquirido del intercambio con la comunidad.
En más de una oportunidad pude aprender muchísimas cosas al tener contacto con KBS que se publicaban en el gxopen, ni hablar del intercambio de conocimiento que se produce al juntar varias personas que usan GeneXus.
En esta oportunidad se ha aprendido de ediciones anteriores y se va a dar un tiempo de un año para poder finalizar los proyectos, calificandolos en tres oportunidades.
Por este y otros motivos voy a participar de esta edición de los CP 2.0 y recomiendo que todos participemos.
Link al wiki de Collaborative Projects 2.0: http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ACollaborative+Projects+2.0
Link a la Presentación del Lanzamiento de Collaborative Projects 2.0 en el XIX Encuentro Internacional GeneXus: http://www.events.genexus.com/portal/hgxpp001.aspx?16,67,1134,O,S,0,,1826
jueves, julio 16, 2009
PROYECTO COMUNIX

COMUNIX es una distribución Linux basada en Knoppix. Nace dentro de la comuna canaria y fue creada por un grupo de funcionarios municipales los cuales tenían como objetivo lograr contar con una distribución Linux que tuviera el mismo aspecto que Windows XP ya que el software que reinaba dentro de la comuna canaria era Windows XP.
La importancia de crear una distribución de estas características no solo es el abaratar costos si no que permite a los usuarios no tener que volver a capacitarse y ni que hablar que logra demostrar que se pueden crear cosas importantes dentro de ambientes públicos.
En lo personal y dada la experiencia que tengo en ambientes municipales tengo que admitir que este proyecto es una pegada de todo punto de vista ya que no solo es funcional si no que esta súper bien pensado.
Sería interesante que el resto de las intendencias tomaran esta distribución como software de escritorio y ni que hablar que si se unieran todas para colaborar esta distribución podría lograr ser un estándar dentro de las intendencias.
El sitio de COMUNIX es el siguiente:
http://www.imcanelones.gub.uy/wps/wcm/connect/Sitio%20IMC/imc/comunix/
En la sección de descargas se pueden bajar la distribución, es muy sencilla de instalar y realmente parece Windows XP, yo la probé y me pareció una muy buena opción para tener Linux en un escritorio aparte de que ya tiene toda la configuración para un usuario estándar.
La verdad que me saco el sombrero ante este proyecto ya que demuestra que con ganas se pueden hacer buenas cosas.
lunes, julio 13, 2009
La Fiebre del SMS
En realidad al inicio la idea era poder comprar varias PDA para realizar algunas de las tareas que hoy por un tema de costos se quieren hacer por SMS.
Lo primero que se me pidió fue poder consultar la deuda de un Cliente, por lo que la idea es mandar un SMS a un número dado con la palabra DEUDA + IDCliente y que este me devuelva la deuda del Cliente.
El planteo fue realizado y tenía que investigar cómo hacer esto ya que sinceramente ni idea de cómo poder recibir SMS desde mi aplicación, lo que hice fue llamar a las diferentes compañías proveedoras de telefonia celular y me hicieron varias propuestas pero en todas ellas había que programar bastante y a un costo bastante elevado, por lo menos para la prueba inicial y para este cliente en cuestión.
Todo esto me llevo a pensar como hacía Movistar con los modem inalámbricos que distribuye para darnos acceso a internet, estos modem traen un software en donde también se puede enviar y recibir SMS.
Después de investigar encontré que la aplicación llamada Escritorio Movistar almacena la información de los mensajes en una base de datos Access lamada mensajeriadirecta.mdb.
En mi PC los datos se almacenan en el siguiente directorio:
C:\Documents and Settings\Cristhian\Datos de programa\Telefónica Móviles\Escritorio movistar Latam\
Existen varios xml que no tuve tiempo de investigar para que sirven, aparte de los xmls tengo la mdb y dos archivos con extensión .db que para mi sorpresa son base de datos SQLite.
Al abrir el archivo MDB me encuentro con lo siguiente:

La tabla en la que se guarda la información de los mensajes se llama DatosMensaje.
Después de encontrar esto lo que hice fue poner el modem en el servidor y tengo una pequeña aplicación que se encuentra corriendo con un demonio en la cual se encuentra rastrillando la tabla DatosMensaje para saber si ha llegado un nuevo mensaje de texto, cuando llega un mensaje busca las palabras clave y contesta.
Es una aplicación modesta que seguramente se podría hacer de otra manera pero con un simple modem inalámbrico que se puede conseguir a bajo costo tengo una aplicación en la que puedo recibir SMS y contestarlos rápidamente.
Seguramente existen mil formas mas elegantes de hacer esto pero lo hice rápido y a un costo muy bajo.
Comparto esta experiencia por si alguien tiene una situación similar y quiere ahorrarse el tiempo de investigación.
domingo, mayo 03, 2009
Google va más rápido de lo que puedo procesar.
En el momento lo primero que se me vino a la cabeza fue hacer un applet firmado para tener permisos locales y usaba una base de datos SQLite para poder almacenar la información. Tuve que resolver varias cosas ya que no era un tema sencillo y actualmente todavía sigo ajustando la solución planteada.
Lamentablemente en la actualidad pico mucho código y tengo poco tiempo para investigar, por suerte a diario entro al planeta GeneXus ( http://blog.genexus.com ) el cual cuenta con varios blogs que me ponen al tanto de las cosas interesantes o tendencias a seguir.
El planeta GeneXus para mi es como un compañero que te pasa los apuntes y todavía resumidos, gracias al blog de Enrique Almeida me entere de uno de los proyectos de Google llamado Gears.
Después de investigar un poco Google Gears me di cuenta que Google va más rápido de lo que puedo procesar ya que casi todo lo que necesitamos o podemos llegar a necesitar ya lo tienen resuelto.
Realmente parece mentira pero lo que yo intente hacer hace un mes y me llevo un tiempo considerable la gente de Google te lo da resuelto y ni que hablar que 100 veces mejor de lo que yo puedo hacerlo.
Ahora me encuentro adaptando mi aplicación para que trabaje con uno de los módulos de Gears, la DATABASE API que utiliza SQLite para persistir los datos. Después de esto me di cuenta que voy a tener que estar más pendiente de lo que hace Google ya que esto que me paso es un ejemplo de que Google va mucho más rápido de lo que puedo procesar y seguramente me va a facilitar la vida.
miércoles, abril 29, 2009
SQLite Manager

Navegando en internet encontre este complemento de FireFox llamado SQLite Manager. La verdad que me soluciono los problemas que tenía para poder administrar bases de datos SQLite ya que hasta el momento hacía todo por línea de comandos.
viernes, octubre 17, 2008
MySQL InnoDB y Raw Devices
Del punto de vista de GeneXus tenemos todo bajo control pero en ocasiones los proyectos son tan grandes que también hay que prestar mucha atención al hardware sobre el cual se va a montar la aplicación y también al “tunning” que se le haga al DBMS.
En la mayoría de los casos no tengo la oportunidad de dedicarme al “tunning” del DBMS pero en este caso quise hacerlo ya que vamos a utilizar MySQL y nos entregaron un servidor con la instalación por defecto.
Lo primero que hice fue actualizar la versión de MySQL ya que el servidor tenía MySQL 5.0 por lo que me baje el rpm para RedHat de la 5.1.28. Desinstale la versión 5.0 mediante rpm y levante la versión nueva.
Tenía un disco de 408 GB para el MySQL por lo que decidí utilizar raw devices para montar los innodb, la idea era crear un Tablespace de 408 GB para MySQL. Lamentablemente después de probar varias veces si creaba un solo archivo de 408 GB se me partía y no me levantaba el servicio, por cuestiones de tiempo no pude investigar mucho mas por lo que decidí crear 4 raw devices de 95 GB cada uno y tener 4 innodb.
Tuve que tocar el my.cnf con todos los parámetros que pongo habitualmente para trabajar con innodb solo que cambie la parte de innodb_data_file_path para montar los raw devices.
Actualmente el my.cnf lo tengo así:
innodb_data_file_path = /dev/raw/raw1:95Graw;/dev/raw/raw2:95Graw;/dev/raw/raw3:95Graw;/dev/raw/raw4:95Graw
Lo interesante fue que tuve que particionar el disco y crear los raw devices, a pesar de mi nick no soy experto en linux por lo que tuve que apoyarme en mi amigo “google” para poder cumplir esta tarea.
Las particiones las hice con fdisk y me quedo de la siguiente manera:
Device Boot Start End Blocks Id System
/dev/sdb1 1 12405 99643131 83 Linux
/dev/sdb2 12406 24808 99627097+ 83 Linux
/dev/sdb3 24809 37214 99651195 83 Linux
/dev/sdb4 37215 49605 99530707+ 83 Linux
Para crear los raw devices tuve que hacer lo siguiente:
Editar el /etc/udev/rules.d/60-raw.rules y escribir las siguientes líneas:
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
Editar el archivo /etc/udev/rules.d/ 41-local-permissions-rules y agregar las siguientes líneas:
KERNEL=="sdb1" GROUP="mysql"
KERNEL=="sdb2" GROUP="mysql"
KERNEL=="sdb3" GROUP="mysql"
KERNEL=="sdb4" GROUP="mysql"
El problema que tuve es que al re-iniciar el equipo los raw devices quedaban con el owner root por lo que MySQL no tenía permisos para usarlos. Después de unos minutos sin encontrar una solución elegante lo que hice fue emplear una solución desprolija pero que funciono. :-)
Edite el archivo /etc/init.d/mysql en donde agregue las siguientes líneas:
chown mysql /dev/raw/raw1
chown mysql /dev/raw/raw2
chown mysql /dev/raw/raw3
chown mysql /dev/raw/raw4
No se si la solución es la mas elegante pero quedo funcionando y pude seguir adelante.
Una vez que tuve los raw creados y con permisos para mysql lo que hice fue modificar el my.cnf de la siguiente manera:
innodb_data_file_path = /dev/raw/raw1:95Gnewraw;/dev/raw/raw2:95Gnewraw;/dev/raw/raw3:95Gnewraw;/dev/raw/raw4:95Gnewraw
El newraw le indica a mysql que tiene que crear el espacio de tablas por lo que una vez que tenemos el my.cnf configurado alcanza con bajar y subir el servicio mysql para que me cree el espacio de datos en los raw devices que se le indicarón.
Una vez que mysql termino hay que modificar el my.cnf para que quede de la siguiente manera:
innodb_data_file_path = /dev/raw/raw1:95Graw;/dev/raw/raw2:95Graw;/dev/raw/raw3:95Graw;/dev/raw/raw4:95Graw
Un consejo es que cuando mysql esta creando el espacio de tables nos da un Failed pero sigue trabajando por lo que una forma que tenemos de saber si todavía se encuentra trabajando es hacer un ls –l /dev/raw/ esto me tira lo siguiente:
crw------- 1 mysql root 162, 1 Oct 12 18:16 raw1
crw------- 1 mysql root 162, 2 Oct 13 11:12 raw2
crw------- 1 mysql root 162, 3 Oct 13 11:30 raw3
crw------- 1 mysql root 162, 4 Oct 13 11:49 raw4
En mi caso como el tamaño de los innodb era de 95 GB al levantar mysql después de 5 minutos me daba un Failed pero seguía trabajando y la forma que tuve de saber en que iba era haciendo el ls para consultar la hora de modificación. Un experto seguramente tenga otros métodos pero no es mi caso.
Con esto tenemos mysql utilizando particiones crudas como se dice habitualmente.
domingo, septiembre 28, 2008
SDK para teléfonos móviles
Esto no es tan sencillo como parece ya que existen 100 SDK distintos dependiendo de las características del móvil. En principio y mirando hacia adelante me puse a investigar como era el tema de desarrollar aplicaciones para el iPhone, navegando en internet encontré la siguiente página:
http://developer.apple.com/iphone/index.action
Esta página contiene todo lo necesario para desarrollar aplicaciones para el iPhone ya que desde ahí me puedo bajar un SDK. El problema es que el SDK del iPhone solo funciona en MAC OS. Esto es una tranca para mi ya que hace mucho pero mucho tiempo que no toco un MAC, de todas maneras me baje el SDK y el MAC OS X lo que me llevo a tener que instalar una Máquina virtual con el MAC OS y aprender un montón de cosas sobre el MAC OS antes de poder tocar el SDK. En sintesis todavía estoy peleando con la instalación del MAC OS y no he podido ni siquiera ver el SDK del iPhone.
En vista de la complejidad que tiene instalar todo lo necesario para poder trabajar con el SDK del iPhone recordé que Google tiene el Android y a pesar de que no e visto todavía ningún teléfono con Android es algo que seguramente no demore en llegar a Uruguay, en realidad es algo que se viene y creo va a ser importante ya que en la página de registro del iPhone dev center pregunta si se ha programado para otra plataforma móvil y en la lista ya figura Android.
Para buscar e instalar el SDK de Android demore algo así como 5 minutos, encontré la página y ya tenía la posibilidad de bajarme el SDK con todo lo necesario para desarrollar una aplicación para Android. El sitio del Android es el siguiente:
http://code.google.com/intl/es/android/
En síntesis 5 minutos después de haber bajado el SDK pude configurar mi Eclipse Europa para trabajar con Android y ejecutar el emulador:

De todas maneras voy a seguir luchando para instalar el SDK del iPhone ya que estaría cool poder intercambiar los contactos entre el iPhone y el extendedCRM.
domingo, septiembre 21, 2008
Bienvenida a los gugs en el Shannon Irish Pub
http://www.theshannon.com.uy/
La idea es darle la bienvenida en nombre del GUG Montevideo, esto fue algo improvisado pero que vale la pena. Después vemos si durante el encuentro nos volvemos a encontrar para trasnochar. :-)
Nos vemos en el Shannon
martes, septiembre 02, 2008
Chrome Browser & GeneXus X
Las instrucciones se encuentran en el siguiente link:
http://blogx.genexus.com/2008/09/google-chrome-and-genexus-sites/
En sintesis hay que bajar un ejecutable que parchea los js que tienen problemas.
Yo seguí las instrucciones y me funciona al pelo.
Esto es una imágen del resultado de haber corrido el ChromePatch.exe:
Después de esto el extendedCRM se puede ver de la siguiente manera:
Hasta el momento lo único que encontré fue un detalle con las pantallas que se ejecutan con el tipo de datos windows pero que es menor y un tema con los tabs pero todo lo que pude ver son temas menores.
La verdad que felicito al equipo de Artech que en menos de 24 horas encontró una solución al tema.
miércoles, agosto 27, 2008
Pantallas extendedCRM
Login:
ABM Contactos:
Alta de Contacto:
Ficha Contacto:
Alta de Empresa:
Tablas Básicas:
Por mas información visitar: http://www.urulinux.com
domingo, agosto 17, 2008
GeneXus X y FCKeditor
En versiones anteriores teniamos que hacer varias cosas para poder integrarlo a GeneXus, por suerte contabamos con el ejemplo del gxwiki por lo que la única complejidad se basaba en el tiempo que nos llevaba integrarlo que no era menor.
Por suerte en GeneXus X el FCKeditor es un user control por lo que podemos integrarlo a nuestra aplicación sin meter una línea de código.
El FCKeditor es un user control que se agrega en el ControlType de un atributo o variable, tan solo con hacer ese cambio ya tenemos integrado el FCKeditor. No solo es muy sencillo de integrar si no que el costo de desarrollo es de cero lineas de código.
Usar el FCKeditor es tan sencillo que decidimos agregarlo a nuestro producto extendedCRM, dentro del extendedCRM el usuario puede ingresar Notas. A continuación adjunto una imágen en donde se puede ver como quedaban las Notas antes de usar el FCKeditor.
Lo que hicimos fue modificar el ControlType del atributo en donde guardabamos el contenido de las notas. Solo tuvimos que modificar la propiedad tal cual muestra la imágen:
Lo interesante es que solo cambiando una propiedad de un atributo logre que mi producto tenga un editor html lo cual enriquece mi aplicación y todo esto con cero línea de código.
La siguiente imágen muestra como quedo el ingreso de notas después de agregar el FCKeditor:
Este un pequeño ejemplo de como GeneXus X nos permite aumentar la productividad y tener aplicaciones mas potentes con el mínimo esfuerzo.
sábado, agosto 16, 2008
Reunión del GUG MVD
* 11:00 hs Grappamiel on site.
* 11:30 hs Taller web for dummies - Javier Cruchaga.
* 12:15 hs Almuerzo.
* 13:15 hs GeneXus X in Action, extended CRM un caso práctico - Cristhian Gómez.
* 14:00 hs Presentacion de producto Freepassport.net v2.0 - Daniel Monza.
* 14:45 hs Mesa redonda: Trabajo en grupos con GeneXus X - Moderador Enrique Almeida.
* 15:30 hs Evaluacion y cierre de la jornada.
En esta oportunidad voy a estar dando la charla "GeneXus X in Action, extendedCRM un caso práctico."
La idea de esta charla es comentar la experiencia de haber utilizado GeneXus X para desarrollar un producto real, no me considero un experto pero creo interesante poder compartir las experiencias obtenidas en los ultimos 8 meses de utilización de la herramienta.
Los esperamos...
domingo, julio 20, 2008
Redescrubriendo GeneXus X ... Otra de tantas.
Hoy en la tarde estaba trabajando y me di cuenta de que el Insert Function muestra las funciones que se pueden agregar pero ordenadas de forma alfabética, en versiones anteriores las funciones se ordenaban por uso o según la aplicación o algo así. jeje
Insert Function GeneXus 9:
Insert Function GeneXus X:
Estaría 10 puntos si se pudiera mostrar el Insert Function como en GeneXus X pero brindando la información que nos daba en las versiones anteriores, me refiero a que en GeneXus 9 se podía ver los parámetros y el tipo de datos que nos devolvía cada versión.
Otra cosa que me gusta de la nueva versión es que si le damos doble click sobre un botón nos lleva directo al evento y no como antes que teníamos que dar dos o tres click para poder ver el código del evento asociado al botón.
La última del día de hoy es que estaba haciendo un código en donde tenía que hacer un new de casi todos los atributos de una tabla. Por costumbre para poder hacer esto y no olvidarme de ningún atributo iba al inert atribute y filtraba por tabla, seleccionaba todos los atributos que me mostraba y eso me insertaba en el código todos los atributos.
En GeneXus 9 me quedaban los atributos de la siguiente manera:
new
CobNro, CobFecha, CobHora, CobUsuario, CobTerminal, CobCaja, CobCajLin
endnew
Lo que hacía era ir quitando las comillas y le daba un enter para que el atributo me fuera quedando abajo y ordenado.
En GeneXus X sin tocar nada ya que queda de la forma que quiero:
Ej:
new
CobNro
CobFecha
CobHora
CobUsuario
CobTerminal
CobCaja
CobCajLin
endnew
Esto puede parecer una tontería pero nos ayuda mucho cuando tenemos que hacer este tipo de trabajo y no podemos usar un BC.
En el día de hoy se me dio por escribir tres ejemplos de la cantidad de cosas que voy encontrando a diario al usar GeneXus X, sin duda que la nueva versión de GeneXus tiene muchos cambios buenos que nos van a ayudar a mejorar nuestra performance aparte de hacernos mas fácil el trabajo. jejee
miércoles, julio 09, 2008
Auto Desafió GeneXus Extensions
Las extensions son algo realmente interesante que nos trae la nueva versión de genexus, básicamente podemos extender las funcionalidades del IDE. Lo interesante es que podemos personalizar nuestro IDE por decirlo de una manera simple.
Desde las primeras CTP´s de GeneXus X estuve siguiendo los diferentes comentarios que se mandaron a los foros y me quede con la impresión que para poder realizar una extension hay que ser una especie de “guru” en C#.
Por otro lado si revisamos las extensiones que se encuentran disponibles digamos que el 95% son desarrolladas por desarrolladores de Artech. Esto se puede dar por falta de interés de parte de la comunidad de extender el IDE o por que realmente es complejo realizar una extension. Nota: Gracias al comentario de Marcos, me di cuenta que el % que puse no es el correcto ya que estuve contando los user controls. Digamos que lo correcto es un 50%.
Hace tiempo que tengo un par de ideas para realizar un par de extensions con algo que traía la vieja versión de GeneXus y aparentemente en GeneXus X no van a estar, en realidad es una especie de capricho personal. jeje
En síntesis me puse como desafió construir aunque mas no sea una extension, al no tener mucho tiempo me puse como plazo un año. Hay que tener en cuenta que mis conocimientos de C# son básicos y que hace muy poco tiempo me puse a leer la información necesaria para poder realizar este desafió.
Quiero quitarme la duda que tengo en cuanto a las extenions y es una buena prueba intentar realizar una ya que mis conocimientos sobre el tema son casi nulos.
Información relacionada:
GXPlatform Gallery - Extensions
GeneXus Extensions
martes, julio 01, 2008
Window Data Type, Drag and Drop y otras yerbas
Hace aproximadamente tres meses que estamos trabajando en serio con GeneXus X desarrollando una aplicación que en breve saldrá en producción, por lo menos la versión Beta. jeje
En estos tres meses puede aprender bastante del nuevo IDE aparte de quedarme con muchas dudas de en donde aplicar las nuevas funcionalidades ya que son muy lindas cuando las vemos en los ejemplos pero ponerlas en una aplicación real no siempre es tan fácil.
Lo más fácil de aplicar son los user controls ya que creo que casi todas las aplicaciones tienen que contar con un menú y por suerte tenemos varios para elegir, en mi caso estoy usando el User Control Slide Down Menu.
Por otro lado le encontré un uso interesante para el nuevo tipo de datos Windows y el famoso Drag and Drop. En realidad quiero que mi desarrollo sea GeneXus X oriented por lo que estoy buscando meter algo de GeneXus X en cada funcionalidad de mi aplicación. :-)
El sistema que estamos desarrollando es un manejador de las relaciones sociales de la empresa y un poco mas, hablando en criollo es un CRM extendido por lo que el nombre que le pusimos es extendedCRM. Una funcionalidad es la posibilidad de importar direcciones desde Microsoft Outlook ya que este programa nos brinda la posibilidad de exportar en un formato separado por comas por lo que me quedo fácil hacer el programa de importación, lo interesante de esto es que uso un tipo de datos Windows para desplegar una especie de Wizard que comienza pidiendo el archivo a importar y luego nos muestra otra pantalla en donde en una grilla nos muestra los cabezales de los campos (Títulos) y tiene otra grilla al lado donde utilizando Drag and Drop puedo mover los campos de la Grilla que contiene los campos del archivo a la otra grilla que contiene los campos que realmente quiero migrar ya que no todos los campos que usa Outlook tienen correspondencia en el sistema.
La verdad que lo podía haber realizado de otra forma pero me gusto tener la posibilidad de darle un buen uso al tipo de datos Windows y al Drag and Drop.
El código es bastante sencillo, por ej. para el tipo de datos Windows el código que estoy usando es el siguiente:
Event 'Importar Libreta de Direcciones'
&MiVentana.Height = 400
&MiVentana.Width = 540
&MiVentana.Object = AuxArchivo.Create()
&MiVentana.Open()
EndEvent
El código para el drop es el siguiente:
Event GrillaDrop.Drop(&AuxFechaHora,&AuxTextoPosCabezal,&AuxTextoCabezal)
MarcaCampoAImportar.Call(&AuxFechaHora_Usados, &AuxTextoPosCabezal)
GrillaDrop.Load()
EndEvent
Para que esto funcione hay que habilitar las propiedades AllowDrop y AllowDrag de las grillas o de los objetos que intervengan.
Lo del Drag and Drop se encuentra bien explicado en el wiki de la comunidad ya que no quiero marear a los lectores de este blog por lo que prefiero que lean la documentación sobre el tema en el wiki: Drag and Drop in Applications
Hoy en día tengo una versión mejorada pero dejo un pequeño video que hice hace un tiempito para mostrarle a un amigo las cosas que se podían hacer con GeneXus X.
Creo que esto es un ejemplo muy pequeño de las cosas que se pueden llegar a realizar con GeneXus X. A medida que voy encontrando aplicación de las nuevas cosas las voy a ir subiendo al blog. Hasta la próxima. :-)
jueves, junio 19, 2008
El mito de la performance en GeneXus X
Todo esto viene a que en la charla que di en el III encuentro de usuarios GeneXus de Rosario alguién me pregunto la configuración de mi equipo. La verdad que me llamo la atención la pregunta pero la persona había quedado asombrada cuando en la demo pude abrir dos instancias de GeneXus X. Durante la charla lo que hice fue mostrar que ahora con GeneXus X podemos abrir mas de una instancia con la misma KB, para mi esto esta buenisimo.
Volviendo a la persona que me hizo la pregunta el pensaba que se iba a colgar el equipo ya que según tenía entendido GeneXus X es muy pesado, de ahí que me pregunto la configuración de mi equipo.
Mi equipo es un notebook Toshiba Tecra A4, Procesador Centrino Mobile 1.73 con 2GB de ram y 60 GB de disco. Hasta el momento estoy trabajando con GeneXus X sin problemas, la kb con la que estoy trabajando tiene 220 objetos y 45 tablas aunque espero que al final de la primer etapa de desarrollo voy a llegar a 1000 objetos y 80 tablas. Por ahora creo que mi equipo sigue tirando y cuando este por finalizar el desarrollo voy a informar de como se ha comportado GeneXus X con el tema de la performance.
Creo que entre todos tenemos que matar el mito ya que entre las diferentes betas de GeneXus Rocha y GeneXus X han mejorado mucho la performance del IDE.
Redescrubriendo GeneXus X ... Una de tantas.
El IDE trae muchas cosas interesantes aparte de las nuevas funcionalidades que nos permiten mejorar nuestra productividad aparte de lograr aplicaciones mucho mas lindas con menor esfuerzo.
Entiendo que hay cosas que para algúnos puedan estar en la tapa del libro pero yo las voy descubriendo y me ponen muy contento.
En esta oportunidad encontré lo que antes usaba mucho y en GeneXus 9 se encontraba en:
Tools/Explore Model Target Path
En GeneXus X no lo encontraba, obviamente que no había buscado mucho pero durante el evento que asistimos en Rosario pude revisar todos los menúes del nuevo IDE y encontre lo mismo con otro nombre. En realidad ahora tenemos algo que nos brinda mucha mas información, para acceder hay que ir al menú:
View/Knowledge Base Information
En la imágen se puede mostrar toda la información que nos muestra esta opción, en la misma tenemos dos links que nos llevan al directorio web y al directorio raíz de la kb.
También tengo otra información estadística importante.
Con GeneXus X me pasa que con cada día que sumo de experiencia me doy cuenta lo lejos que estoy de conocer todo lo que nos tiene preparado.
Gracias GUG Rosario por el evento.
Desde Uruguay y en representación de Artech asistieron Armin Bachmann y Eugenio García quienes brindaron dos muy buenas charlas.
En lo personal el evento me pareció 10 puntos y creo que la organización se porto muy bien ya que todos nos sentimos muy a gusto, en todo momento nos estuvieron acompañando y nos hicieron conocer parte de la maravillosa ciudad de Rosario.
El día viernes se hizo una pequeña reunión que podría llamarse de bienvenida en la que carlos Lucatti paso a buscarnos por el hotel para ir a pasear por la peatonal y luego tomar un café en un bar del centro, después llegaron German y Martín Rampo que habían ido a buscar a Javier Cruchaga a su hotel. Antes de la llegada de los hermanos Rampo se había sumado a la mesa Elías Eblagón, la charla que pudimos tener en ese bar estuvo 10 puntos aparte de lograr interiorizarnos en las costumbres de la gente de Rosario. En la mesa Carlos Lucatti nos enseño las reglas gramaticales del Rosarigasino aparte de explicarnos de que consta un "Carlito".
Luego de esa reunión que tuvimos en el bar fuimos al hotel a bañarnos ya que en la noche nos pasaron a buscar nuevamente para ir a comer algo, en ese bar nos encontramos con la gente que iba llegando como Daniel Monza, Gabriel Medina y Javier Smaldone con su novia. Luego de comer muy bien en ese boliche fuimos a tomar una cerveza y a escuchar músca en vivo, la verdad que la salida estuvo cool ya que es mundialmente conocido el humor de los Cordobeses (Javier Smaldone). En lo personal nunca había estado en una reunión con gente de tantos lugares y que compartíamos algo en común (GeneXUs).
El día sábado comenzó el evento y lo que me llamo la atención es la buena organización que tuvo el evento. La agenda fue respetada y comenzó con las acreditaciones, luego se dio la charla de Apertura. La primer charla estuvo a manos de Armin Bachmann y por lo que pude ver estuvo 10 puntos, me quede con un poco de lastima por no haber podido estar en toda la charla ya que tenía que terminar de ajustar algunos detalles de nuestra charla. Después del primer break dimos la charla "Desarrollando desde el vamos con GeneXus X" junto a Gabriel Icasuriaga, la charla supero mis expectativas ya que la repercusión que tuvo en la gente fue mucho mayor a la que esperaba. La agenda continuo con un Lunch que fue muy disfrutado por todos los asistentes, después del lunch tuvimos la charla "GXflow X, una nueva generación de aplicaciones más potentes y flexibles" dictada por Eugenio García. Gracias a esta charla tengo que admitir que le pude agarrar un poco mas la mano a GxFlow, en ese momento me di cuenta que GxFlow podría ser mucho mas usado si lograra tener un alcance mayor a los desarrolladores aunque ahora al tenerlo dentro de GeneXus X creo que vamos a dejar de programar máquinas de estado para usar de una vez por todas GxFlow.
La agenda continúo de la siguiente manera:
15:15 - Freepassport.net - Un acercamiento a Single Sign On con GeneXus - Daniel Monza - GUG Montevideo
16:00 - Coffee break
16:30 - Software libre: un modelo de distribución de software con ventajas para (casi) todos -Javier Smaldone - GUG GxRioCuarto
17:00 - GeneXus 9.0 y Web 2.0 - Gabriel Medina - GUG GxRioCuarto
17:30 - Cierre - RosarioGx
En esta segunda parte estuve muy atento a la charla de Daniel que sin dudas estuvo muy buena seguida por la de Javier Smaldone pero la que causo sensación general fue la charla de Gabriel Medina quien comenzó de una manera que no pensé lograra cautivar al público. El secreto del éxito de la charla de Gabriel Medina fue que mezclo: Humor, Calidad técnica y críticas constructivas.
Después del Cierre fuimos todos al hotel para luego ir a una cena que brindo la gente del GUG Rosario a los extranjeros y otros gugs. La cena da para escribir otro post ya que fue muy disfrutada por todo el mundo.
Para cerrar creo que el encuentro fue muy positivo y la gente de Rosario hizo todo lo posible para que nos sintiéramos como en casa. Lo único negativo creo que fue el poco apoyo de algúnas empresas que utilizan GeneXus, no soy quien para meterme en estos asuntos pero estaría bueno que emprendimientos de este estilo tengan todo el apoyo que se pueda ya que sin dudas el evento lo que hace es fomentar el uso de GeneXus en Argentina.
Muy destacable el apoyo de algunas empresas ya que por ej. una empresa que ahora no recuerdo el nombre mando a 20 personas al evento. Esto es simplemente una opinión a nivel personal y no quiero ofender a nadie pero se podría apoyar un poquito mas a la gente que hace cosas emprendedoras y en especial para fomentar el uso de GeneXus.
Gracias Rosario por todo y nos vemos el año que viene.
viernes, mayo 30, 2008
Encuentro de Usuarios GeneXus en Rosario
Del GUG Montevideo somos varios los que vamos por lo que si te interesa estar presente ponte en contacto con nosotros para ir ya que estaría bueno que seamos varios los que estemos en Rosario. La persona que esta organizando la caravana es Gabriel Icasuriaga (masternet@adinet.com.uy).
Por mas información sobre el evento puedes entrar en el siguiente link:
http://rosariogx.blogspot.com/2008/05/inscribirse-al-iii-encuentro-de.html
lunes, marzo 24, 2008
Kit de herramientas de SQL Server 2005 Express Edition
En mi equipo tengo instalado SQL Server 2005 Express Edition pero no contaba con un administrador que me permitiera poder acceder a las bases de datos de mi SQL Server, buscando en el sitio de Microsoft encontré el Kit de herramientas de SQL Server 2005 Express Edition.
viernes, marzo 07, 2008
Pequeñas cosas que hacen grande a GX-Rocha…
Desde hace unos días me estoy desayunando de las cosas buenas de la nueva versión de GeneXus, algúnas ya las había visto cuando hice el laboratorio de la nueva versión que se dicto en el encuentro GeneXus y que se encuentra disponible para bajar en el siguiente link: http://www.gxtechnical.com/rocha/lab
Desde hace meses venimos escuchando y recibiendo noticias sobre los avances que tiene la nueva versión de GeneXus, en mí experiencia creo que hasta que no nos enfrentamos con GX-Rocha no nos damos cuenta de las buenas cosas. Lo que quiero decir con esto es que podemos leer en el wiki que la Rocha tiene tal o cual cosa pero hasta que no la vemos por nosotros mismos no notamos la importancia de la nueva versión.
En este caso una de las cosas que me encanto fue la posibilidad de crear diagramas de tablas y tratarlos como un objeto GeneXus, esto en versiones anteriores era imposible aparte de que no eran del todo amigables. En la Rocha alcanza con crear un nuevo objeto del tipo “Diagram” y luego arrastramos desde el Fólder View las tablas o trn sobre el diagrama y se me dibujan las relaciones. Otra cosa interesante es que si le doy botón derecho sobre el objeto “Diagram” se me despliega un menú con opciones entre las cuales destaco la posibilidad de salvar el diagrama como una imagen o la de copiar el bitmap al portapapeles.
Ej. de exportación del diagrama a imágen:

Tengo la suerte de haber comenzado con GX 5.6 y uno de los problemas que teníamos los desarrolladores para documentar era la falta de ayuda que teníamos de la herramienta GeneXus, hoy en día creo que no nos podemos quejar ya que GeneXus Rocha nos ayuda muchísimo con la posibilidad de crear Diagramas de tablas de forma fácil y amigable.
jueves, marzo 06, 2008
Mis primeros quince minutos con GX-Rocha
Los primeros quince minutos con el nuevo IDE fueron para encontrar las cosas ya que a pesar de que hice el taller en el encuentro genexus pasado no encontraba las cosas. En realidad tuve que acostumbrarme un poco a la nueva organización de menues y de pantallas que nos ofrece el nuevo IDE.
El primer día tengo que admitir que mi productividad no fue mucha ya que me estuve acostumbrando al IDE y tratando de leer en el wiki la documentación sobre la versión ya que la idea es usar las nuevas funcionalidades de la Rocha.
Después de un par de días tengo que admitir que me acostumbre al nuevo IDE sin problemas aunque extraño las siguientes cosas:
1)CTRL + A
2)CTRL + W
3)Tools – Explore Model Target Path
4)Run (F5)
Son pequeñas cosas que extraño enormemente. Jeje
Quitando esas pequeñas cosas “Rocha y yo somos amigos”, por lo menos en los pocos días que llevo desarrollando con la rocha quede muy conforme ya que pensé que iba a demorar más para adaptarme al nuevo IDE.
lunes, diciembre 03, 2007
Asado de la comunidad...
El asado estuvo muy bueno, compartimos bebidas asado y buenas charlas. En lo personal llegue tarde pero justo para la “comida”, parece como si tuviera un detector prendido ya que llegue justo cuando iban a servir el asado.
Pasando en limpio la jornada tengo dos cosas a destacar:
En primer lugar la buena organización de Gabriel (masternet), no solo organizo el asado si no que también estuvo en la parrilla y atendiendo a los asistentes. Sin duda que masternet es sinónimo de comunidad.
Lo conozco hace varios años y siempre le destaco que tiene un perfil especial para generar comunidad. En mas de una oportunidad le pregunte como hace para estar pendiente de todos y de todo lo relacionado a la comunidad, realmente algún secreto tiene ya que en cada reunión suma gente y logra una buena asistencia que no es poco. jeje
En segundo lugar si no me equivoco estuve conversando con el más joven de la reunión, lo primero que me llamo la atención es que es una persona muy interesada en la comunidad y se preocupa mucho por estar en las reuniones y por todo lo relacionado con GeneXus. En las reuniones anteriores no había podido conversar con el pero hablando me comento que estuvo en las tres reuniones organizadas en el Lobizón aparte de que viene desde Colonia, otra cosa interesante que me comento es que la empresa para la que trabaja corre con todos los gastos cada ves que asiste a una reunión de la comunidad.
Esto me deja contento ya que esta bueno que las empresas le brinden los medios a sus empleados para poder asistir a las reuniones de la comunidad. También me deja muy contento de que gente joven se acerque a la comunidad ya que si observamos el promedio de edad de la comunidad GX es bastante alta y creo que la clave esta en poder contagiar a los jóvenes a que se acerquen y formen parte activa de la comunidad.
miércoles, noviembre 28, 2007
Asado Sincronizado Diciembre 2007 GUG Montevideo

"Asado Sincronizado
Este sabado 1 de diciembre, junto a otros gugs, nos reunimos para compartir un asado y trataremos de estar conectados en el resto de las ciudades." Esto es parte de lo que subio Gabriel Icasuriaga al wiki de la comunidad: Asado Sincronizado Página Wiki
Gabriel es el principal organizador y por suerte pude conversar sobre el tema en mas de una oportunidad. La idea esta buena ya que se va a intentar estar conectados con otros gugs todos al mismo tiempo.
El lugar elegido para el asado esta buenísimo ya que existe lugar para estacionar y es muy amplio. Desde ya descarto de que nos vamos a divertir mucho y pienso participar en algunas actividades programadas. por ej. “campeonato de truco”. :-)
Están todos invitados y para obtener mas información pueden entrar al sitio del wiki o escribir directamente a info@gxopen.com.
domingo, octubre 28, 2007
El Planeta GeneXus es un éxito...
En lo personal tengo un rss apuntando al planeta genexus y cada ves que hay algún cambio entro a leer ya que en la mayoría de los casos son temas interesantes. Para mi se ha vuelto muy interesante poder leer los distintos blog ya que en mas de una oportunidad me entero de algún tema al que si no fuera por los blog no me enteraría.
Por otro lado creo que el planeta genexus (http://blog.genexus.com/) es otro canal de comunicación para la comunidad que esta dando sus frutos, en lo personal tengo un blog desde diciembre del 2005 pero desde que mi blog participa del planeta genexus las visitas han aumentado casi un 500 %.
Es increíble el alcance que tiene el planeta y como fomenta la comunicación entre los distintos miembros de la comunidad, gracias a esto he recibido mails de varios países comentándome que habían encontrado mi blog a partir del planeta genexus.
Felicito nuevamente a los creadores del Planeta GeneXus e invito a todos los miembros de la comunidad genexus que todavía no hayan anotado su blog en el Planeta a que lo hagan.
Si quieren mas información de cómo formar parte del Planeta GeneXus pueden leer el siguiente artículo: Planeta GeneXus
lunes, octubre 22, 2007
Una idea interesante propuesta por la GXOTF
Ellos plantearon mil ejemplos de cosas interesantes tipo spots publicitarios que estaban buenísimos, cuando me preguntaron a mí no se me ocurría nada pero después que llegue a casa hice el siguiente video: video , hay que tener en cuenta que es un video casero y fue para divertirme con mi hija.
Después de charlar durante varios minutos a Gabriel se le ocurrió que se podría hacer un concurso con los mejores videos. Creo que la idea está buena por lo que si les interesa saber mas sobre este emprendimiento pueden ponerse en contacto con masternet (masternet@adinet.com.uy) o con franja (franja@adinet.com.uy).
Felicito a mis compañeros por la buena idea.
sábado, octubre 06, 2007
Que hay de nuevo GXWiki?
Uno de los wikis que se encuentra en producción es el wiki de la comunidad genexus (commwiki), a continuación voy a listar algunas de las mejoras realizadas tanto al producto gxwiki como al wiki de la comunidad.
Hago la diferencia entre gxwiki y wiki de la comunidad ya que gxwiki es el producto de código abierto que cualquier usuario puede bajarse y modificar, el wiki de la comunidad puede contener Wiki Extensión que no necesariamente deben pertenecer al core del gxwiki.
En otro artículo voy a intentar explicar mejor el tema ya que me quedo bastante entreverado.
Cambios realizados:
- Se cambio la estética del sitio a un estilo web 2.0
- Se arreglaron algunos bugs pequeños reportados por usuarios
- Se recuerda la url al loguearse, antes si un usuario hacia un clic sobre un link al wiki que necesitara login nos mandaba al Home después de logearnos. Ahora esto quedo solucionado y nos manda a la url que queríamos acceder antes de logearnos.
- La información del wiki de la comunidad utiliza el gxsearch para las búsquedas fulltext. Esto permite poder buscar información del commwiki desde el gxsearch o desde el mismo commwiki.
- WikiApi, son una serie de WS que nos permiten intercambiar páginas del wiki y poder sincronizar documentación desde GeneXus Rocha a un wiki externo.
- Group, en esta versión se agrego el concepto de Grupo. Los grupos están compuestos por usuarios a los cuales se le dan permisos de RW (Read/Write) o solo R (Read), la idea es asociar grupos a las paginas para poder lograr grupos de lectura o de colaboración. Mediante los grupos puedo lograr que una pagina pueda ser modificada solo por los usuarios que pertenecen a un grupo, lo mismo para la lectura ya que puedo tener una pagina cerrada a la lectura pero que tenga asociado un grupo con permisos de lectura. Por mas información puede entrar en el siguiente link http://www.gxopen.com/commwiki/servlet/hwiki?Grupo+de+usuarios
La versión que contiene estos cambios se puede ver en producción en el wiki de la comunidad, todavía no se encuentra disponible para bajar el código fuente del gxopen ya que nos falta hacer unos pequeños ajustes para que quede disponible.
Por cualquier consulta sobre este articulo o cualquier tema relacionado con el gxwiki puede escribirnos a gxwiki@gxtechnical.com
miércoles, julio 25, 2007
Java Open Single Sign-On
Tengo como tarea para un futuro no muy lejano implementar algo del estilo Single Sign-On y la verdad que estuve investigando un poco como debería hacerlo para que sea algo serio. En un principio quise hacerlo a mano con GX y alguna cosa mas ya que GX soporta LDAP. La verdad que estuve mirando varias cosas entre ellas me entere de que hay algo llamado Web Single Sign-On y mil cosas más.
Por un lado no tengo mucho tiempo y mis conocimientos sobre el tema como para desarrollar algo desde cero no son muchos por lo que voy a tener que adoptar alguna implementación open source, lamentablemente no puedo usar Gxportal si no ya tenía resuelto el tema. J
Actualmente me encuentro haciendo un curso de J2EE y el profesor me recomendó el siguiente proyecto: JOSSO (Java Open Single Sign-On).
El link al sitio del proyecto es el siguiente: http://www.josso.org, por lo que estuve viendo está bueno y fácil de configurar. Ahora me encuentro investigando como usar este proyecto con mis aplicaciones GX ya que tengo varias aplicaciones que tienen que usar el Single Sign-On.
Espero tener noticias sobre esta integración lo antes posible.
lunes, julio 23, 2007
Configurar CUPS en openSuse 10.0 + Applets y Java 1.6 sobre Linux
un cliente Linux.
Tengo instalado un openSuse 10.0 con GNOME como escritorio, hasta ese
momento no tenía ningún problema ya que la aplicación al estar generada con
java no debería tener problemas.
La única particularidad es que necesitaba tener una impresora con un nombre
especifico ya que mi aplicación busca entre la lista de impresoras
instaladas una que se llame "geoimpresora".
A pesar de mi gusto por Linux como todo desarrollador que trabaja la mayor
parte del tiempo sobre un Windows hay detalles que se escapan o en mi caso
se me "olvidan". En estos casos recuerdo la frase que dice "La práctica hace
al maestro..."
Desde el yast instale la impresora sin problemas pero no encontré en donde
cambiarle el nombre por lo que tuve que "googlear" un rato para ver como se
modificaba el nombre de una impresora. Obviamente tenía que ser algo
sencillo pero al no estar en "la pomada" me costo mas de lo que esperaba.
Encontré el sistema de impresión llamado cups (http://www.cups.org/), este
sistema me permite administrar todas las impresoras del sistema, lo
interesante es que me permite modificar el nombre o lo que quiera de una
manera muy fácil y con una administración web que levanta en
http://localhost:631. Después que pude levantar cups el mismo me pedía un
usuario y password por lo que tuve que volver a "googlear" hasta que
encontré la forma de configurarlo sin problemas para que no me pidiera
usuario y password. Lo que hice fue lo siguiente:
useradd cups
lppasswd -a cups
Con eso pude solucionar el problema de las impresoras, esto es algo que
puedo parecer muy sencillo pero en mi caso la falta de conocimiento sobre un
escritorio como GNOME me hizo pasar un rato para hacer algo tan tonto como
configurar una impresora. :-)
El segundo problema que tuve es que mi aplicación utiliza un applet para
leer la lista de impresoras instaladas en el sistema, este applet no me
funcionaba en Linux ya que existe un bug en el JRE que fue solucionado en el
JRE 1.6.02.
La experiencia de instalar una impresora me sirvió para estar un rato sobre
un Linux ya que lamentablemente al trabajar sobre Windows uno olvida la
mayoría de las cosas interesantes de Linux. A la prueba está que en
ocasiones hasta las cosas más sencillas sobre un Linux pueden llevar un
rato. :-)
jueves, junio 07, 2007
HL7 (Health Level Seven)
martes, junio 05, 2007
La tercer reunión de la comunidad de usuarios genexus en Montevideo estuvo 10 puntos....
martes, mayo 22, 2007
Integrando Firma Digital a GeneXus
lunes, mayo 21, 2007
III Reunión de la Comunidad GeneXus en Montevideo
viernes, mayo 11, 2007
Planeta GeneXus
Anoche dejamos funcionando el Planeta GeneXus, un sindicador de blogs.
Lo pueden ver en: http://blog.genexus.com
La idea es que el planeta es una herramienta de comunidad más en el cual
pueden públicar los miembros de la comunidad GeneXus.
Aquellos que quieran participar de este emprendimiento me tienen que
enviar un mail (en privado) con los datos de su blog. Necesito que me
pasen el FEED y una foto de 100px de altura y 85px de ancho.
Saludos
Federico Wagner"