martes, septiembre 05, 2017

Tamaño de Campos Blob en MySQL

Tenía la necesidad de poder saber cuanto pesaban los datos que se estaban guardando en un campo blobs para poder dimensionar y controlar el tamañao que iba a tener mi tabla en el futuro. 
Para esto encontré la siguiente consulta:

select length(NombreCampoBlob) as byte from Tabla;
Esta consulta me tira en bytes el tamaño de mi campo.

miércoles, agosto 02, 2017

Un comentario sobre el Deploy Aplication de GX15

Una herramienta que ha logrado un avance con respecto a las versiones anteriores es el "Deploy Aplication", con avances me refiero a que con un par de "clics" me crea el archivo war pronto para poder hacer el deploy de nuestra aplicación. Esto es bueno dado que en las versiones anteriores en ocasiones daba algunos problemas y teníamos que manipular el archivo war.

En las nuevas versiones de GeneXus y en especial en la 15 que es donde lo he estado utilizando, pude notar que el archivo queda bien pero por algún motivo hay algo que esta "Hard Code".

La pantalla del "Deploy Aplication" es muy sencilla en donde selecciono los objetos y al presionar el botón "Deploy" quedaría pronto nuestro archivo war para desplegar en nuestro servidor de aplicaciones. La pantalla es la siguiente:


Lo que me hace ruido y no me gusta es que en las propiedades de la KB: "Static content base URL" tiene la información de la carpeta donde quiero que este mi información pero a la hora de hacer el deploy siempre le pone "static". Al consultar a soporte no me quedo claro los motivos de por que crean la carpeta "Hard Code" cuando cuentan con la información para crear la carpeta al igual que la tengo en mi configuración.

Al abrir el archivo war creado puedo ver que la carpeta que se ha creado se llama "static" cuando en las propiedades de mi modelo el valor es "images".


En realidad no es algo que sea grave ya que no me cuesta nada abrir el archivo war y cambiar el nombre de esta carpeta pero no me queda claro por que la decisión de crear "hard code" el nombre de la carpeta cuando en versiones anteriores esto se podía cambiar. Es un detalle que no me cambia mucho pero que si en las versiones de GX 9 se podía manipular eso no entiendo por que ahora se genera "hard code". 

Esto es un detalle ya que estoy facinado con GeneXus 15 pero al ser un usuario que estoy por cumplir 20 años utilizando esta herramienta ya me pongo con caprichos. :-)



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