Entradas

Mostrando las entradas de marzo, 2014

Veinte años de Petroglifo

Hace mas o menos 20 años, hicimos la primer publicación de PetroGlifo. Era un pasquín de pocas hojas donde contábamos que es lo que estábamos haciendo en cómputos (en es momento, se decía COMPUTOS a quienes hacían las tareas de programación e informática).

Me preguntaron varias veces, porque el nombre de Petroglifo, y  en realidad se lo puse yo porque me gustaba.  Tuvo una repercusión mucho mayor que la esperada.

Dicha publicación, paso por varias etapas:

La primera fue en papel, se hacían unas 100 copias y se distribuían en los escritorios en un grupo de empresas.

La segunda etapa, fue con una implementación de noticias propias en paginas web, hechas con GeneXus. Aún tenemos en linea dichas noticias.

La tercera etapa, es un blog, en el cual publicamos menos de lo que deberíamos pero tiene algún trafico interesante.

Les dejo los primeros tres números de Petroglifo en papel, es lindo ver como hace 20 años trabajamos con VAX (en el numero 1 ) y explicábamos como conectarnos a Intern…

Webinar: Migrando a versiones mas nuevas de GeneXus

Imagen
Este martes 11 de marzo de 2014, a las 13:00 estaré brindando el Webinar: Migrando a versiones mas nuevas de GeneXus. 

Quiero comentar la importancia de mantener nuestras KB actualizadas en las versiones mas nuevas y las ventajas que estos proyectos traen a las empresas.

Si quieren inscribirse haga click aqui


UPDATE: El Video del Webinar puede verse aqui: 

Security Scanner #125 - XMLWriter WriteRawText method used in source

Imagen
Cuando ejecuto el Security Scanner en una KB Genexus, lista aquellos objetos que utilicen WriteRawText cuando graban XML con el XMLWriter.

Que problema puede dar esto?

Comparemos estos dos casos

 1)   &strAux =  '<tag>'+&String+'</tag>'   &XMLWriter.WriteRawText(&strAux)

2) &XMLWriter.WriteElement('tag',&String)
Ambas formas de programar son equivalentes cuando la variable &String no tiene caracteres especiales, pues generan el mismo archivo xml, que tendrá la forma

<tag>ContenidoDelSting</tag>
Ahora hagamos las pruebas con otros valores:
&String = "<otroTag>Valor</otroTag>"
El caso 1) generará el xml 
1) <tag>
<otroTag>Valor</otroTag>
   </tag>
Queda el XML con nuevos nodos. otroTag que no estaba en el XML original
2) <tag>&lt;otroTag&gt;Valor&lt;/otroTag&gt;</tag> 
Las diferencia es que el WriteElement sustituye los caracteres especi…