Integrando Dynamics Mobile con Outlook Mobile

Hoy voy a contar algo que me han preguntado ya varias personas, y es como integrar Outlook Mobile dentro de una aplicación desarrollada con el framework de Microsoft Dynamics Mobile.



Y es que una de las tareas que más comúnmente debemos introducir en nuestras aplicaciones es poder gestionar una agenda, manejar tareas y controlar avisos… todo eso ya está incluido en nuestros dispositivos gracias a las funcionalidades que nos da Outlook Mobile, por lo que… ¿para que vamos a reacer todo eso de nuevo? 



Como ya sabréis muchos, Outlook puede ser integrado dentro de nuestros desarrollos, y con Dynamics Mobile no es diferente, de hecho, nos permite utilizar la interfaz propia de Outlook, y de un modo tan sencillo como el agregar la llamada al Tasklet correspondiente en nuestra aplicación.


Vamos a ver a continuación como agregar esta funcionalidad a nuestros propios desarrollos para Dynamics Mobile.



1. Integrar Outlook Mobile:
1.1.        Prerrequisitos

Para poder seguir este tutorial necesitaremos:




  • Visual Studio 2005 standard o profesional


  • Compact Framework 2.0


  • SDK Windows Mobile 5.0 o 6.0


  • Microsoft Dynamics Mobile Tools

1.2. Creando nuestra aplicación
Abrimos el visual Studio 2005 y creamos un nuevo proyecto.
Seleccionamos en tipo de proyecto Visual C#, Smart Device y solución para Windows Mobile 5.0 o 6.0 (esto último es independiente).
En la parte de plantillas (ver figura 1) seleccionamos la plantilla de Tipo Tasklet



Figura 1


Para nuestro ejemplo llamaremos a nuestro Tasklet “TaskletOutlook”.
Pulsaremos en Aceptar y se nos creará un proyecto con estos contenidos (Ver figura 2)



Figura 2


Hasta aquí sencillo ¿no? pues continuemos, ahora sobre este mismo proyecto vamos a agregar un nuevo proyecto, esta vez del tipo RolePad.
 
Para ello, en nuestro Visual Studio iremos a: 
Archivo–>Agregar–>Nuevo proyecto y seleccionaremos en las plantillas, la plantilla de RolePad (ver figura 3)



 
Figura 3
 


Pulsaremos en aceptar y se nos agregara el proyecto del tipo RolePad a nuestra aplicación.



Figura 4


Como podéis ver en el explorador de soluciones (Figura 4) ahora tenemos dos proyectos nuestro TaskletOutlook y el proyecto DemoOutlook. 
 
En este último es donde podemos encontrar el archivo UserRole.xml y el archivo app.config (entre otros que para este ejemplo no son relevantes)



Aún nos queda un poquito antes de empezar a entrar en la integración con Outlook.


Debemos establecer la carpeta de resultados de nuestros dos proyectos a una misma ubicación.


Sobre cada uno de los proyectos haremos clic con el botón derecho del ratón y pulsaremos en propiedades, iremos a la pestaña Dispositivo y modificaremos la “Carpeta de archivo de resultados:” por “DemoDynamics” (Ver figura 5) 
 



 
Figura 5



Esto lo debemos hacer en los dos proyectos. 


Una vez hecho esto, iremos al proyecto DemoOutlook  y agregaremos como referencia el proyecto TaskletOutlook.
 
Para hacerlo pulsar con el botón derecho sobre el proyecto y pulsar en “Agregar referencia…” seleccionamos la pestaña Proyectos y ahí (figura 6) encontraremos nuestro Tasklet, lo seleccionamos y pulsamos en aceptar.



Figura 6
 
NOTA: Estos pasos que estás siguiendo son los básicos para crear una aplicación sobre Dynamics Mobile.
 
Ya tenemos nuestro primer Tasklet y la aplicación RolePad.
 
Ahora vamos a comenzar a trabajar para enlazar Outlook con nuestra aplicación.


Sobre nuestra aplicación RolePad agregaremos las siguientes referencias, repetiremos el proceso, botón derecho sobre el proyecto y seleccionaremos “Agregar referencia…”
 
Una vez se muestre la ventana pulsaremos en la pestaña “Examinar” e iremos a la carpeta donde hayamos instalado el Mobile Framework de Dynamics, la ruta por defecto es:


C:Archivos de programaMicrosoft Dynamics MobileMobile FrameworkDeploy


Una vez en la carpeta Deploy debemos seleccionar varias referencias:
– Interop.PocketOutlook.dll
– Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService.dll
– Microsoft.Dynamics.Mobile.Components.Tasklets.Outlook.dll
 
1.3. Modificando el archivo UserRole.xml
 
Una vez agregadas las referencias abriremos el archivo UserRole.xml y deberemos copiar el siguiente código.(sobreescribiendo TODO el contenido)
 
 
<?xml version=»1.0″ encoding=»utf-8″ ?>
  <userRole minimize=»true» xmlns=»http://schemas.microsoft.com/Dynamics/Mobile/2007/04/Flow«>
    <orchestrations>
      <orchestration name=»startup»>
        <tasklets>
          <tasklet name=»TaskletOutlook» type=»TaskletOutlook.Tasklet1, TaskletOutlook» >
            <actions >
              <open tasklet =»Task.Create»
                    text =»Nueva Tarea»
                    name =»MnuNuevaTarea»
                    priority =»1″/>
              <exitOrchestration text =»Cerrar» priority =»2″ />
            </actions>
          </tasklet>
          <tasklet name=»Task.Create»
                  type=»Microsoft.Dynamics.Mobile.Components.Tasklets.NewTaskTasklet,
                        Microsoft.Dynamics.Mobile.Components.Tasklets.Outlook» />
        </tasklets>

      </orchestration>
    </orchestrations>
</userRole>
 
 
La parte que más nos interesa para este ejemplo es la parte resaltada.
(Para más información sobre el archivo UserRole acudir al artículo “Diseccionando el archivo UserRole Parte II”)
 
En esa parte hemos declarado el tasklet que utilizaremos para integrar Outlook Mobile <tasklet name=»Task.Create…»
 


1.4. Agregando servicios a app.config 
Una vez agregado este texto, guardaremos y abriremos el archivo app.config. Debemos agregar el servicio que nos dará acceso a trabajar con Outlook, para ello debemos agregar el siguiente elemento <add> dentro de <services>
 
<services>

<add type=»Microsoft.Dynamics.Mobile.Components.Services.IPocketOutlookService,
           Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService» 
     implementation=»Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService,
                     Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService»/>

</services>  


Cuando ya hayamos agregado este elemento, guardamos nuestro archivo app.config y ya estamos lístos, para probar!!!
 
1.5. Probando nuestra aplicación
Lo primero es asegurarnos de establecer como proyecto de inicio el proyecto DemoOutlook.
Esto lo puedes hacer seleccionando el proyecto, botón derecho y en el menú contextual marcarlo como proyecto de inicio.
 
En Visual Studio pulsa F5, selecciona el Emulador de Windows Mobile 5.0 o 6.0 según corresponda (si te pregunta el programa) y VS abrirá automáticamente el emulador y desplegará nuestra aplicación, la cual tendrá una apariencia similar a esta. (Ver imagenes)



 
 
 
Para probar la parte de crear una nueva tarea pulsamos sobre el menú “Nueva Tarea” y tachaaaa, ya tenemos nuestro enlace a crear tareas en Outlook Mobile sin haber escrito NI UNA SOLA LÍNEA de codigo en nuestro Tasklet.
 
Epilogo:


Acabamos de ver como enlazar la creación de tareas en Outlook Mobile desde nuestra aplicación Dynamics Mobile, por supuesto es posible acceder a nuestras tareas, a nuestros calendarios, revisar alertas… pero eso ya lo iremos viendo en la próxima entrega, tiempo al tiempo. 



Podréis descargar la solución completa para Visual Studio 2005 y el SDK de Windows Mobile 5.0 en el siguiente enlace.
 
http://www.mobilenug.com/descargas/Descarga%20de%20soluciones/[DM]DemoTaskletOutlook.zip 
 
Si queréis este tutorial en PDF lo encontrareis en:
 
http://www.mobilenug.com/dynamics/Archivos/Integrando%20Dynamics%20Mobile%20con%20Outlook.pdf 
 
Saludos a todos
José Antonio Gallego
  


Mobile .NET Users Group

2 comentarios sobre “Integrando Dynamics Mobile con Outlook Mobile”

  1. Para eso que me estás comentando lo puedes hacer directamente desde código con compact framework.

    Aquí puedes encontrar una solución (Código fuente incluido) de ejemplo de como ver, crear y editar contactos de outlook desde código.

    http://www.mobilenug.com/desarrollo/Lists/Desarrollo%20WM/DispForm.aspx?ID=7&Source=http%3A%2F%2Fwww%2Emobilenug%2Ecom%2Fdesarrollo%2FLists%2FDesarrollo%2520WM%2FAllItems%2Easpx

    Incluye alguna cosilla mas como envíar sms y emails.

    Un slaudo Jorge

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *