martes, marzo 21, 2017

Lanzamiento 2017 del GUG Montevideo

El sábado pasado estuve en el Lanzamiento 2017 del GUG Montevideo después de estar mucho tiempo sin asistir a un evento de la comunidad. Creo que en el pasado Gabriel Icasuriaga me empujaba o me contagiaba las ganas de participar y al no estar me sentía un poco perdido. En principio creo que hice mi duelo y pude volver con ganas y reencontrarme con esto tan lindo que es la comunidad de usuarios GeneXus o "GUG"  como se conoce desde hace 10 años, (me gustaba mas llamarla comunidad de usuarios).

En cuanto a la reunión contó con mucha asistencia la cual me desconcertó un poco ya que soy de la época que a los encuentros asistían 10 o 20 personas como mucho y en este lanzamiento se podría decir que se superaron las 50 personas. Entre los oradores estuvo Gaston Milano quien hablo del foco que tiene GeneXus para este 2017 el cual no podía ser otro que GX15 y me llamo la atención que los mails de "Crash de GeneXus" le llegaran a el, no tengo claro si fue en broma o realmente le llegan a el estos mail por lo que de ahora en adelante voy a enviar todos los informes de error que hasta el momento los cancelaba.

Después también hablaron los organizadores y plantearon el plan de trabajo para el 2017 entre lo que se destaca realizar una aplicación o algo interesante que pueda quedar para una causa social por lo que nos invitaron a participar cuando se ponga en marcha, aparte de las charlas se hablo de un concepto nuevo llamado "Destrancate". El "Destrancate" (creo que era así) tiene como idea ayudar a los miembros de la comunidad a destrancarse con problemas que puedan tener con GeneXus o con ideas de como seguir en determinados proyectos o simples temas de trabajo diario, básicamente en cada reunión que se haga por parte del GUG se podrá ir antes a quitarse dudas o solicitar ayuda con temas de GeneXus. Lo que si se solicito es que antes de ir se envié un mail comentando el tema para estar preparados y que siempre este un referente con conocimientos sobre el tema.

En síntesis invito a todo el mundo a participar del GUG dado que es el ambiente donde se puede reunir la comunidad con referentes de GeneXus y aportar a la mejora de la herramienta que usamos a diario.




jueves, marzo 16, 2017

Table storage engine for "MiTabla" doesn't have this option... migrando MySQL

Estoy migrando una KB de GeneXus 9.0 a GeneXus 15 por lo que aproveche a realizar un rediseño de la aplicación y cambiando todo lo que se pueda. Aprovechando me instale una versión nueva de MySQL para dejar de usar la 5.1 que tenía funcionando en producción. Para esto hice un dump como lo hago siempre y al querer levantar el archivo me da el siguiente error: "Table storage engine for punc.examenodontologico doesn't have this option..."
Buscando en google encontré que el problema se debe al ROW_FORMAT que se estaba usando en la creación de las tablas.

"ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs ROW_FORMAT=FIXED;" 

La solución es cambiar el valor del ROW_FORMAT=DYNAMIC

"ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs ROW_FORMAT=FIXED;" 

Con esto pude levantar mi dump sin problemas, dado que el sistema tiene muchas tablas hice el replace usando el "VI" que es el editor que uso. La sentencia en VI es muy sencilla:
":%s/ROW_FORMAT=FIXED/ROW_FORMAT=DYNAMIC/g"

Dejo este pique por si les pasa ya que yo por distraído perdí un buen rato antes de poder resolverlo.






miércoles, febrero 22, 2017

'GeneXus' version 1.2.8.108986 cannot be downloaded

Estuve haciendo pruebas con los módulos de GeneXus y haciendo limpieza borre toda la carpeta Modules_v1.0 que es donde se almacenan todos los módulos de GeneXus mas los que estamos creando. Básicamente ahí están toda la información de la diferentes versiones de los paquetes que vamos creando.

Al hacer esto para poder generar nuevamente mis paquetes me da el siguiente error:

========== Rebuild All started ==========
========== Deploying Module 'GeneXus' started ==========
error: 'GeneXus' version 1.2.8.108986 cannot be downloaded. Is it a built-in module? Try execute "genexus.exe /install" command. Otherwise, you need to update the module version to an accessible one.
Deploying Module 'GeneXus' Success
========== Target Environment update started ==========
Target Environment update Success
Building changed objects list
========== Specification started ==========
Processing subtype groups ...

En un equipo me funciono haciendo el "genexus.exe /install" y en otro equipo tuve que copiar a mano el archivo: GeneXus_1.2.8.108986.opc que se encuentra en la carpeta de instalación de GeneXus ("C:\GeneXus\GeneXus15\Modules")  a la carpeta: "C:\Users\urulinux_win7\AppData\Roaming\GeneXus\GeneXus\15\Modules_v1.0\GeneXus_4f454e73-7d8f-4a0f-908a-1a355f3634a5\1.2.8.108986\Platforms\JavaWeb\".

Les dejo este pique ya que me enloquecí para solucionar este problema, sin dudas que el equipo en que no funcionaba tendría algún problema con la instalación pero haciendo eso quedo funcionando.
 
 
 

jueves, febrero 09, 2017

Mi Primer error en GeneXus 15

Desde este año estoy con el objetivo de migrar varias KBs a GeneXus 15 dado que estoy convencido que esta versión es muy potente y me brinda herramientas que antes no las tenía. Estoy comenzando con una kb nueva y ya tuve mi primer error a la hora de hacer un "Rebuild All":


***********************************************************************************
======== DeveloperMenu Compilation for Default (Java Web) started ========
callmake.bat "C:\KBS\GeneXus15\PUNC\PUNC\JavaModel\web\GXJMake.exe" "C:\softgxjava\jdk18\bin\javac.exe" developermenu com\punc\ options: -O
GeneXus Java Make v1.0
com\punc\SdtLinkList_LinkItem.java:55: error: cannot access XMLDocumentHandler
      sTagName = oReader.getName() ;
                        ^
  class file for org.apache.xerces.xni.XMLDocumentHandler not found
com\punc\SdtLinkList_LinkItem.java:56: error: cannot access XMLErrorHandler
      if ( oReader.getIsSimple() == 0 )
                  ^
  class file for org.apache.xerces.xni.parser.XMLErrorHandler not found
com\punc\SdtLinkList_LinkItem.java:58: error: cannot access XMLDTDHandler
         GXSoapError = oReader.read() ;
                              ^
  class file for org.apache.xerces.xni.XMLDTDHandler not found
Note: com\punc\GxObjectCollection.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors

failed ( error code=1)
Build failed.
DeveloperMenu Compilation for Default (Java Web) Failed
Rebuild All Failed
***********************************************************************************
Revisando un poco me di cuenta que me faltaba agregar al Classpath el archivo xercesImpl.jar, me llama la atención que falte dado que por defecto vienen varios archivos en el classpath. En síntesis agregando este archivo al classpath pude ver el mensaje que esperaba "Buils All Success".
Seguramente esto haya sido explicado en algún foro o lo tengan documentado pero lo subo para no olvidarme o si a alguien le pasa lo mismo. Estoy usando Genexus 15 U. 2



miércoles, octubre 05, 2016

Cambiar tamaño de disco (VDI File) en VirtualBox

Desde hace un tiempo en mi notebook tengo Linux como sistema host y utilizo VirtualBox para poder correr windows que es donde tengo GeneXus instalado. Al querer instalar GeneXus 15 me di cuenta que no tenía espacio en el disco del virtual box por lo que me puse a buscar como agrandar el archivo VDI que por suerte fue bastante fácil.

>VBoxManage modifyhd Windows7.vdi --resize 64000

Con ese simple comando quedo mi disco de 64 GB, después de hacer el resize hay que entrar en windows y asignar a la partición el espacio que se crea dado que yo estuve un rato para acordarme que tenía que hacer eso.

En el caso que les de un error "VBOX_E_NOT_SUPPORTED" pueden clonar el archivo vdi y luego hacer el resize.


viernes, septiembre 30, 2016

Dos cosas que me rompieron la cabeza en el GX26.

Por distintos motivos hace unos años que no podía asistir al evento GeneXus y este fue el primer evento al que asistí sin conocer la ultima versión y casi todo lo que pude ver fue un descubrimiento. 
En la actualidad me encuentro investigando Microservicios en aplicaciones GeneXus y como disminuir la deuda técnica de nuestras aplicaciones por lo que estoy medio alejado de las últimas novedades de GeneXus. 
Lo que hice para aprovechar el evento y ponerme rápidamente a tiro fue anotarme a un taller sobre la última versión, en los talleres nos dan resumido las nuevas funcionalidades y se puede hacer una práctica en un equipo por lo que en una hora me puse a tiro de lo nuevo de GeneXus.
Hay dos cosas que me rompieron la cabeza  y me parece son las que le voy a sacar provecho rápidamente, por un lado el “Live Editing” y por otro lado las Transacciones Dinámicas.
Este evento ha sido muy bueno y me dejo satisfecho por lo que recomiendo a todos los que no han asistido ver las charlas on-line para ponerse a tiro y aprovechar al máximo la potencia de GeneXus.


miércoles, septiembre 28, 2016

GeneXus y Microservicios

Desde hace un tiempo estoy manejando la idea de tomar una aplicación desarrollada con GeneXus con una arquitectura monolítica y pasarla a una arquitectura de Microservicios. En la interna de nuestro equipo de desarrollo estuvimos discutiendo el tema y la verdad que con lo que teníamos disponible con GeneXus habían algunas cosas que se nos iban a complicar. Lo bueno es que hoy recibí por intermedio de mi amigo Diego Giusso el link a la charla de Gastón Milano en donde comentaban algunas cosas de Microservicios y que cosas tiene Genexus para el futuro. La charla esta buena y me abre un poco la cabeza para saber que independientemente de pasarme a una arquitectura de Microservicios GeneXus tiene algunas cosas interesantes que me ayudaran a realizar esta tarea. Me queda sentarme a evaluar el cambio y en que impactaría dado que es un cambio mayor para una aplicación muy grande. 

La charla la pueden ver en: GeneXus en el mediano Plazo