Hola de nuevo a todos, hoy quiero enseñaros uno de los aspectos de integración disponibles en Microsoft Office Infopath 2007 (si, ese gran desconocido) con entornos de colaboración web.
Durante este artículo pretendo enseñaros cual sería la idea de cómo podéis construir formularios y conectar los controles que utilicéis en vuestras plantillas de formulario para que, mediante el uso de fuentes de datos externas, podías visualizar datos que se encuentran en servidores de colaboración.
Microsoft Office Infopath 2007, como bien sabéis, es una aplicación que se encarga de la generación de formularios basados en XML y sigue la idea de diseñar plantillas de formulario con extensión *.xsn para más tarde rellenar dichas plantillas y almacenar los formularios en formato *.xml. Dicho esto, procedamos con el ejemplo.
Para dicho fin, lo primero es proceder a diseñarnos una plantilla de formulario (*.xsn) partiendo de un diseño en blanco. Para ello, nos situamos en el menú File > Design a Form Template y a continuación seleccionamos plantilla de formulario en blanco.

Una vez realizado este paso y con el diseño de la plantilla en blanco abierto, vamos a proceder a situar un menú de lista desplegable (Drow-Down List Box) en nuestro formulario para, posteriormente, enlazar dicho control mediante una conexión de datos externa, con los datos que tengamos en nuestro entorno web (en este caso, un sitio de colaboración de Sharepoint).
Para ello, nos situaremos en el menú Tools > Data Connections… y pulsar en el botón Add. Una vez seguido este paso, aparecerá un asistente que os permitirá seleccionar si quereis crear una fuente de datos para recibir o para enviar datos, donde seleccionaremos la opción de Receive data.

En el siguiente paso del asistente vamos a disponer de varias opciones para recibir información, optando por coger Sharepoint library or list en nuestro caso, que es la específica para una librería o lista de Sharepoint.
El siguiente paso del asistente, nos preguntará a que sitio deseáis conectaros para extraer la información. Aquí tendréis que disponer de un sitio de Sharepoint. Yo para mi ejemplo, he utilizado mi sitio: http://www.puntocompartido.com/sharepoint, donde me he creado una lista personalizada llamada Empresas de Transporte como la siguiente.

A continuación, el asistente te mostrará las listas o bibliotecas disponibles y procederemos a seleccionar dicha lista:

Ya estamos acabando. El siguiente paso del asistente nos servirá para indicar cuáles son los campos de la lista personalizada que queremos dejar disponibles a través de nuestra conexión para que podamos usarlos en los campos de formulario de Microsoft Office Infopath 2007. Optamos por dejar todos los que aparecen marcados de serie, para poder disponer de ellos de la manera que consideremos más conveniente:

El siguiente paso del asistente es muy curioso, ya que nos pregunta si deseamos almacenar en local (dentro de la plantilla de formulario de Infopath) una copia de los datos del origen (en nuestro caso, la lista personalizada.
Este hecho nos proveerá de la posibilidad de trabajar con el formulario de Infopath cuando estemos en entornos "desconectados" de la fuente, favoreciendo así la movilidad y la facilidad de trabajo. Si no me creeís, proceder a renombrar mas tarde la plantilla de diseño echa por nosotros de extensio *.xsn a *.cab, y veréis la composición de dicha plantilla. Optamos por chequear la opción en dicho paso.

Por último, el asistente nos pide que le demos un nombre a la conexión o fuente de datos. En mi ejemplo la he llamado RincondelExperto.

Una vez finalizado el asistente, sólo nos quedaría situarnos en el panel de tareas de diseño y en la sección de los controles, seleccionar el control indicado anteriormente y arrastrarlo a nuestro formulario. Si no teneis visible el panel de tareas de diseño situaros en el menú View > opción Design Task y a continuación pulsar en Controls. Una vez hayáis situado el control en el formulario, realizaremos un clic sobre dicho control, botón derecho, y en el menú contextual que aparece, seleccionaremos Drow-Down List Properties.

A continuación, en las propiedades del combo, desde la primera pestaña denominada Data, nos situaremos en la sección List Box Entries y escogeremos la tercera opción denominada Look up values from an external data source, permitiéndonos seleccionar desde el campo de texto Entries, la columna de metadata de nuestra lista de Sharepoint que queremos asociar al combo. En el ejemplo, se ha optado por coger el nombre de la empresa de transporte quedando configurado como se muestra en la siguiente imagen:

Y ya está, solamente quedaría comprobar si se reciben correctamente los datos. Para ello, podemos probar utilizando el botón de Preview, situado en la barra de herramientas estándar. Ojo, porque puede que cuando hagáis la previsualización no os encontréis conectados en ese momento, pero siempre dispondréis de la opción Work Offline en la ventana de advertencia que os aparecerá, desde la que podréis comprobar que funciona correctamente.

Hasta la próxima amigos, y ya saben, como decía superratón, no olviden de vitaminizarse y supermineralizarse.