sábado 12 de septiembre de 2009

Problemas ...entonces trace, monitor, profile, debug

usas el Debug?
Que es el profiling de GX?
Para que sirve un monitor WMI/JMX?
Que hay en http://public.genexusserver.com/GxServer/home.aspx?Log4NetAnalyzer, ?


Martes 15 de setiembre 15:15hs Sala 2b - XIX Genexus Meeting - Radisson Victoria Plaza - Montevideo

Mas info: www.genexus.com/encuentro o
http://www.events.genexus.com/portal/hgxpp001.aspx?16,67,1133,O,S,0,,1739:P:0

viernes 31 de octubre de 2008

kick off del api de facebook en Genexus X

Subimos, con Alejandro, un control que permite utilizar el acceso del api de facebook desde un objeto Genexus. Al hacer el drag & Drop del control se crea un External object (Csharp nativo) que accede a una dll que se encarga de comunicarse con Facebook. El ejemplo inicial resuelve el login a facebook y ofrece una rutina para obtener los amigos del usuario logeado.

De momento esta solo disponible para .Net pero se puede incluir en java o ruby buscando algun otro wrapper o programando el acceso con REST.
Este ejemplo es el resultado del trabajo presentado en el XVIII Evento Genexus, del cual en breve incluiremos ejemplo de Google API y de Flickr
Para descargar el control: gallery
Por mas información: getting started

jueves 4 de septiembre de 2008

Testeando Google Blogger API

...POST creado desde un webpanel Genexus que usa un External Object para conectarse a la Google Blogger APi. Si queres ver mas detalles de la potencia de los External Object no te pierdas la charla "Integrar es Potenciar: External Object en acción" del XVIII Genexus International Meeting.

miércoles 23 de julio de 2008

Guardar la session en el sqlserver

En una aplicacion .Net se puede guardar la session en un Sqlserver (AspnetsessionState). Para esto alcanza con correr un script y configurar el acceso a la base (creada por el script) en el config. Los pasos estan bien detallados aca.

Me paso en un W2003 server, que la ejecución del wizard del aspnet_regsql.exe, no me creaba la base de datos (ASPSTATE). Llamando al script directamente InstallSqlState.sql, tampoco tenia los permisos necesarios. Corriendolo por linea de comando me funciono:

aspnet_regsql.exe -S SERVER -U USER -P pssw -ssadd -sstype p

Si no se setea sstype persisted hay que darle permisos a la base de datos tempdb con el usuario que se esta accediendo

El seteo del web.config en la seccion system web hay que especificar el string de conexion de la session, esto es:
< mode="SQLServer" sqlconnectionstring="data source=SERVER INSTANCE;Integrated Security=yes;" cookieless="false" timeout="20">

Dependiendo de si se use Impersonate o no, hay que agregar el usuario DOMAIN/USER o NT AUTHORITY\NETWORK SERVICE a la base de datos

jueves 10 de julio de 2008

Cambiar autenticacion para un objeto con IIS

La letra del problema era modificar solo la authenticacion de un objeto de mi sitio web .Net hosteado en el IIS.
Nuestro caso era evitar la authentication NTLM que estaba configurada en el dir virtual, solo para un objeto, pero esencialmente es lo mismo que el caso canónico del login bajo https y el resto de los objetos no (la otra posibilidad para resolver el login en https era tener dos dir virtuales, pero esto implica otras cosas como por ejemplo guardar la session en el sqlserver o alguna otra forma de compartir entre los dos dir virtuales).
Buscabamos la solución escribiendo una entrada en el web.config para configurar esto, pero ahi no encontramos seteos para authentication, solo algunos para la autorization, pero no evitaban que se levantara el dialogo de autenticación. Claudia nos paso un tip para resolverlo que alcanza con crear un archivo aspx en el directorio web con el nombre del assembly y desde el IIS configurar la authentication de este archivo, o sea solo creando un objeto dummy funciono.

lunes 23 de junio de 2008

Mas [exprsion]+\s[regulas]+

La semana pasada despues de tener un curso de actualizacion y ver el post de mini , conoci un poco mas de expresiones regulares y su potencia. Basicamente permiten representar un conjunto de string y por ejemplo, con la operacion de "matches" validar si un string pertenece a dicho conjunto. En la implementacion genexus permite invocar al Matches tanto en la definicion del atributo (creando el js para validarlo en runtime) , o como metodo de una variable o atributo (muy útil para validar un campo como email, Url,IP, path , etc)
El metodo replace me simplifico bastante para obtener un dato de un xml, que en este caso me lo retorna un dataset de un webservice (y dicho xml tiene el schema lo cual complica un poco leerlo con xmlreader). o sea un xml del tipo




Puedo leer solo el contenido de clientname con una expresion regular del tipo: "TagName (.*?) / TagName".
El código seria algo asi:


En ejecución el msg me retorna "Juan" y "Jose"
Gracias Toto por los aportes

lunes 26 de mayo de 2008

Abrooo!

El sabado verifique que un alto porcentaje ( el 87,43% ) de los socios hombres del club cuando abren la ducha elevan la voz y dicen "ABROO! y al irse CIERROOO!
Obviamente que el abrir una ducha deberia afectar la temperatura de las otras abiertas.Esto no es totalmente cierto porque al principio cuando no entendia que decian, me continuaba duchando, y no note ninguna alteracion.Este supuesto problema del sistema hidraulico, oficializo este metodo, costumbre ritual. Para mi es un imaginario colectivo, pero igualmente para no ser menos, pongo voz gruesa y digo "ABRO!!".
Mmmm bueno ... cierrooo el post!