Una de las características más relevantes de MOSS es la integración con todo la suite de Microsoft Office. En partícular, destaca la integración con Microsoft Excel 2007 e Infopath 2007 a través de dos piezas fundamentales: Excel Services e Infopath Form Services. De este modo, tenemos integración desde el lado del cliente, pero también tenemos la posibilidad de ver documentos excel y formularios infopath renderizados en nuestro navegador.
La idea de este post es realizar un primer ejemplo sencillo de publicación de un formulario diseñado con Microsoft Infopath 2007 en un site de MOSS. En dicho formulario realizaremos una integración de datos de una lista de un sitio de MOSS, y posteriormente visualizaremos el formulario utilizando la web part XmlFormView. Otras posibilidades de visualizar el formulario son:
- Directamente a través de una librería de formularios de WSS 3.0 / MOSS, que nos permitirá crear nuevos formularios de acuerdo a la plantilla publicada. Estos formularios los podremos abrir con Infopath 2007 o verlos renderizados en el navegador para lo que es necesario configurar la librería de formularios.
- Crearnos una página aspx personaliza que nos permita renderizar el formulario. Esta opción es similar a la que realizaremos con la web part XmlFormView. Aquí tenéis un ejemplo de creación de la web part personalizada en la que se utiliza el control XmlFormView para visualizar un formulario Infopath 2007.
Diseño del formulario
Lo primero paso es diseñar el formulario Infopath utilizando las facilidades que nos da Microsoft Office Infopath 2007. En este caso vamos a crear un formulario que nos sirva como buzón de sugerencias para la Intranet de nuestra organización. Para crear el formulario, partimos de una plantilla en blanco de tipo Form Template:
Nota: En el diseño del formulario también podríamos partir de una de las plantillas disponibles en Infopath 2007 y modificarla para lograr el aspecto deseado.
A partir de aqui, crear el formulario es tan sencillo como seleccionar los controles que deseemos y arrastrarlos a la superficie de diseño, organizarlos mediante tablas, etc. En nuestro caso, este es el aspecto final del buzón de sugerencias:
Integración de datos con una lista de WSS 3.0
Una vez diseñado el formulario, vamos a modificarlo para que el combo Tipo de Sugerencia se rellene con los datos de una lista de WSS 3.0. Creamos una lista customizada en la que almacenamos el listado de sugerencias que queremos mostrar en el combo.
Una vez creada la lista, tenemos que conectar el combo Tipo de Sugerencia con el campo título de la misma (pues almacena las sugerencias que hemos dado de alta). Los pasos para realizar esta conexión son los siguientes:
- Seleccionamos el combo y en el menú contextual que se ofrece al pulsar el botón derecho del ratón seleccionamos la opción Propiedades de Cuadro de lista desplegable.
La ventana que se abre nos permite configurar distintos parámetros para el combo. En particular, nos interesan los referentes a añadir una conexión a un origen de datos externo.
- Para crear la conexión de datos, lo primero es agregar la conexión de datos deseada (en este caso, el origen de datos está en una lista de WSS 3.0, por lo que es de tipo externo tal y como aparece marcado en la figura anterior). Para agregar la conexión, Infopath 2007 nos proporciona un sencillo wizard que nos va guiando en el proceso:
- Creamos una nueva conexión pare recibir datos:
- Especificamos que los datos se lean de una biblioteca o lista de Sharepoint:
- En la siguiente pantalla especificamos la lista en cuestión:
Al pulsar el botón Siguiente Infopath se intentará conectar con el sitio de Sharepoint especificado, por lo que se nos pedirán las credenciales de conexión. Una vez validados con exito en el servidor, nos aparecerá una pantalla con todas las listas y librerías de Sharepoint que están disponibles para hacer una conexión de datos entre el formulario Infopath y Sharepoint. Lógicamente, aparece seleccionada por defecto la lista que hemos indicado en el paso anterior.
- Especificamos que campo de la lista vamos a visualizar en el combo Tipo de Sugerencia. En este caso, el campo es Título.
A continuación, se especifica que se cree una copia local de los datos en la plantilla (recomendable si se trabaja con la plantilla sin conexión). Finalmente, indicamos el nombre para la conexión y ya la podemos utilizar en nuestros formularios.
- Una vez configurada la conexión de datos, se realiza el mapeo entre el combo del formulario y el campo que nos interesa de la lista de WSS 3.0 / MOSS. Para ello, y desde la pestaña Datos de la ventana Propiedades de Cuadro de lista desplegable pulsamos el botón Seleccionar XPath.
Si hacemos una vista previa del formulario, podremos comprobar que la conexión de datos funciona correctamente y que el combo se rellena con los datos de la lista de Sharepoint.
Configuración y Publicación del Formulario
Una vez añadida la conexión de datos, el siguiente paso es configurar como se va a comportar el formulario cuando se abra. Esta configuración se realiza a través de Herramientas -> Opciones de formulario, en la opción Examinar configuramos que barra de herramientas queremos que aparezca en el formulario.
Una vez configurado el comportamiento del formulario, procedemos a publicarlo en una librería de tipo formulario que se ha creada dentro del sitio de Sharepoint dónde estemos realizando todo el proceso (esta librería puede estar creada de antemano o se puede crear en el momento de publicación). Para publicar el formulario, utilizamos las características de publicación de Microsoft Office Infopath 2007:
- Especificamos que se publique en un servidor de Sharepoint:
- Especificamos que el formulario se va a publicar en una biblioteca de documentos y y si permitimos que se pueda rellenar desde el navegador:
- Especificamos que se cree una nueva biblioteca de formularios:
- Finalmente, seleccionamos que campos del formulario nos parecen relevantes para que aparezcan en la biblioteca de formularios que acabamos de crear, pulsamos Publicar en la pantalla siguiente y ya tenemos disponible la plantilla de formulario en el sitio de sharepoint lista para usar y poder crear sugerencias.
Uso del formulario en una web part XmlFormView
Para concluir el post, vamos a ver como podemos exponer el formulario creado en una web part de tipo XmlFormView. En mi caso, he creado una página de elementos web dentro de la bilblioteca Documentos Compartidos del sitio de Sharepoint de pruebas. Entramos en el modo edición de dicha página y en una de las zonas dónde podemos añadir web parts, añadimos una web part de tipo XmlFormView que habrá que configurar con los parámetros adecuados:

Con todos los pasos anteriores, el buzón de sugerencias creado tendría el siguiente aspecto:
Espero que este primer post que hemos hecho sobre Infopath 2007 y MOSS os resulte interesante.