Ir al contenido principal

Integración con Google Calendar

En el Programa del XVIII Encuentro Genexus se puede encontrar un caso de integración con Google Calendar.



En años anteriores en el programa uno se podía agendar conferencias con la agenda "built-in" (una aplicación desarrollada internamente en Artech) y a su vez con Outlook.

El agendarlo con Outlook se mantiene y basicamente se envía un e-mail con un par archivos .VCS (uno para outlook 2003 y otro para Outlook 2007) que al abrirlos contiene el "appointment" del "calendar".

Lo que se agregó este año es que también se pueden agendar conferencias en el Google Calendar, para aquellos que lo utilicen.

Acá un video demostrativo:



Background técnico


Tecnicamente lo que se tiene es una aplicación GeneXus X que se integra al API de Google Calendar vía un External Object. En este caso es una página ASPX y se consume una DLL que encapsula el API de Google Calendar, también podría ser una aplicación generada en Java consumiendo un JAR con el mismo propósito y del mismo modo.

Primero se conecta al Google Calendar, el usuario debe "loguearse" (si no lo está), luego autorizar a la aplicación a acceder a su calendar y ahí se obtiene un "token" para la sesión del "browser", con ese token de agrega el "appointment" al Google Calendar. En adelante y durante toda la sesión del "browser" ese "token" es válido por ende no se piden más confirmaciones.

El desarrollo fue realizado inicial (el prototipo) por Alejandro y la integración con el programa del evento por Milagros y Valeria. La verdad en tiempo record, de un modo simple (claro, yo no lo hice :)) y descartamos nuestra vieja agenda "built-in" logrando una aplicación mucho mejor terminada integrandonos con otros como Outlook y Google Calendar que son especialistas en brindar esas funcionalidades.

Enjoy!

Ahhh si alguien está interesado en profundizar en los detalles de la implementación le sugiero no perderse la conferencia de Alejandro y Javier en el Encuentro donde seguramente hablarán de ese caso y otros que vi por ahí los prototipos y parecen muy "divertidos" (además de útiles como fue este).

Comentarios

  1. Muy bueno!


    ...para la gente que usa los 2 hay una herramienta barbara de sincronización...

    http://www.google.com/support/calendar/bin/answer.py?answer=89955

    saludos

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Abrir links con aplicaciones nativas y no el browser (deeplinking)

El problema que tengo con algunas aplicaciones Android/iOS es que cuando recibo un link por algún medio (mail, tweet, etc) al abrirlo me lo abre con el browser, en lugar de abrirlo con una aplicación nativa asociada a ese “contenido”. Por ejemplo, si recibo un link a un tweet espero que lo abra con alguna aplicación de twitter que tenga instalada y no con el browser. De modo análogo si recibo un mail con una nota de prensa de un medio X y tengo la aplicación de ese medio X instalada, espero que el link lo abra con la aplicación nativa y no con el browser. Lo mismo quisiera con mi aplicación de "banking" o cualquiera que tenga instalada y sepa manejar ese "contenido" (link). Los motivos son bastante obvios pero los resumo en: la experiencia de usuario es mucho mejor en la aplicación nativa que en el navegador. Parte importante del tema es que el mismo link sea válido tanto para ver el contenido en el browser como para verlo en la aplicación, porque como prove

¡A la salud de mi KB!

Es bueno, especialmente en "bases de conocimiento" (KB) que han pasado por varias versiones de Genexus, chequear su "estado de salud". En este sentido KBDoctor  es una herramienta que ayuda mucho, principalmente desde el punto de vista del "modelo" Genexus (atributos, calls, definiciones de variables, etc) representado en una KB. También es útil revisar la salud de los archivos que lo soportan. Hasta la 9.0 eran archivos C-tree (los famosos .DAT) que tenían indices (los famosos .IDX) y teníamos en "rebuild -y" que mejoraba esos archivos y sobre todo reconstruía los indices. A partir de la X las KBs se almacenan en MS SQL Server por lo cual la administración de la misma pasó de ser un "file server" a un "database server". En este sentido algo que me ha dado muy buenos resultados es el "CheckKnowledgeBase".

Rocha:Constantes tipo fecha

En la Rocha se soportan constantes del tipo fecha o fecha-hora con formato ANSI/ISO (AAAA-MM-DD HH:MM:SS).  Tecnicamente (Sintáxis): <date>::=    [0-9]{1,4}"/"[0-9]{1,2}"/"[0-9]{1,2} | [0-9]{1,4}"."[0-9]{1,2}"."[0-9]{1,2} | [0-9]{1,4}"-"[0-9]{1,2}"-"[0-9]{1,2} <hms>::=    [0-9]{1,2}[ap] | [0-9]{1,2}":"[0-9]{1,2}[ap]? | [0-9]{1,2}":"[0-9]{1,2}":"[0-9]{1,2}[ap]? <constant> ::=   "#"<date>"#" | "#"<date> <hms>"#" | "#"<hms>"#" Funcionalmente Se pueden utilizar esas constantes en las reglas, eventos, propiedades, etc (todo lugar donde se utilice el parser): Algunos ejemplos básicos: &FechaInicial=#2007-01-01# &FechaHoraInicial=#07-1-1 11:15a# &HoraInicial=#11a# Me parece bueno no tener que escribir funciones (CTOD, TTOC) sobre constantes tipo char para lograr una fecha y mucho mejor aun en