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!

domingo, 11 de mayo de 2008

Google Gadget Control

El google gadget control permite incluir cualquier gadget de google en un webpanel con solo hacer drag and drop del control y especificando en la propiedad Gadget Url la ubicacion del control.


Se se pueden incluir news, calendar, clock, art gallery, chat o cualquier gadget de http://www.google.com/ig/directory?synd=open
Para obtener el control se puede ir al gxopen. La primer version (1.0) incluye un edit para ingresar la Url (por defecto es el clock). La segunda version (1.1) permite seleccionar entre un conjunto de gadget sugeridos en un combo (para agregar un nuevo control editando el archivo de especificacion del control GadgetGControl.control)
La implementacion del control se basa en la propiedad Referenced File de los user control que permiten incluir cualquier script pasandole un valor en runtime, algo como:
http://gmodules.com/ig/ifr?url=[!GGParmURL!]



En breve estara disponible los Google Analytics y Adsense y .. que en principio se basan en la misma idea de incluir un script variable

martes, 29 de abril de 2008

Map control

Sin duda la extensibilidad, es una de las funcionalidades mas interesantes de la nueva version de genexus. Los user control en particular permiten de una forma facil incluir nuevos controles para ser utilizasdos en los objetos web.
Es bien facil incluir un user control, se debe bajar el folder con la implementacion y copiarlo bajo el directorio Genexus path\User control, despues abrir genexus ( ejecutando un /install antes) y ya esta disponible el nuevo control desde la toolbar de controles de los objetos web.
Por mas informacion User control y para bajar controles podes ir a gxopen

Este control en particular permite incluir un mapa de algun proveedor (google, yahoo o un proveedor local de montevideo - Ica)). Google y yahoo son los mas populares y la eleccion entre ambos puede estar dada por la calidad de las imagenes o mapas de una zona especifica. El proveedor local de montevideo, si bien esta en construccion y con algunas limitaciones en la performance es muy interesante pues disponibiliza funcionalidades que no tienen los otros providers como mejor detalle de calles y barrios de la ciudad, busquedas o ruteos entre dos puntos.

Para bajar el control desde aqui, para ver un ejemplo en runtime desde los samples genexus
La documentacion se encuentra en el wiki
Este proyecto surge de un collaborative project que armamos junto a Marcos y Martin, gracias a los dos.

miércoles, 16 de abril de 2008

Me jubilo

En el ultimo almuerzo surgio el tema de "la jubilación" y ¿Con cuanto nos vamos a jubilar con la maldita caja ? ¿conviene moverse de categoria o no?
Lo que suponiamos es que tendremos una jubilacion de mas o menos 15mil pesos y no estaba claro si conviene moverse o no,

Gracias a gusmar pudimos aclarar un poco el tema
a los 60 años sera un 50% del sueldo "ficto" de la categoria que aportaste en los ultimos tres años
mas de 60 años se va sumando un porcentaje que nunca superara el 80% del sueldo ficto de tu categoria

Al dia de hoy consultando los valores de http://www.cjppu.org.uy/escala_aportes_enero_2008.htm

Con 60 años te jubilas en categoria 10 (estando los ultimos tres años ahi ) cobras $17185
sio lo haces con mas de 60 años, aumenta el porcentaje pero tiene un techo de 80% de la categoria 10 unos $ 27496
Si con 60 años te jubilas en categoria 4 estas cobrando algo menos de $11mil

Estrategia 1) no la pienso me dejo llevar, le hago pagar a los nenes las ultimas cuotas y me jubilo con lo maximo
Estrategia 2) La pienso un poco y me voy aguantando de categoria pero siempre con la idea de no estar mas de tres años en la ultima
Estrategia 3) juego a menos, me cuelgo en segunda hasta que me quede poco y en los ultimos seis años paso hastra 4ta ( o como mucho a quinta)
cual es el raznomiento de esta estrategia: las primeras categorias saltan rapido, (por ejemplo de 2 a 3 - 900$ y de 3 a 4 - 800$ y de 9 a 10 - 100$
Analogo el porcentaje de lo que cobras, entonces si llegaste a sexta creo que te conviene seguir pa delante porque te fumaste los saltos grandes

notas importantes
1. SI despues de quemarte el bocho con esto salis a la calle y te pisa un auto o cualquier otra descgracia , merecido porque no podes tener tanta mala suerte
2. con nombre y apellido , JJM (alias Mastropietro) si llegas a leer este mail te pido que no me cagues el razonamiento, que yo soy feliz en mi ignorancia , gracias
3. quiero notiifcar que tambien acabo de crear mi propio fondo previsional y si alguna/o quiere que le administre su jubilacion me avisa.


Este tema da para rato asi que seguro habra mas info

martes, 1 de abril de 2008

Arrancandonga

Arrancando en el cyber espacio, tecnisismos informaticos, cuentos, datos, comentarios, etc
Por fotos sigue el http://merilu-negro-mauro.blogspot.com/