Infopath 2007 & MOSS: Publicación de formularios e integración de datos

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.


Post_MOSS_Infopath2007_1


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.

Post_MOSS_Infopath2007_2



  • 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:


Post_MOSS_Infopath2007_3


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:


Post_MOSS_Infopath2007_4


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.


Post_MOSS_Infopath2007_5


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.

Post_MOSS_Infopath2007_6



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.


Post_MOSS_Infopath2007_7



  • 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:

Post_MOSS_Infopath2007_8




    • Especificamos que los datos se lean de una biblioteca o lista de Sharepoint:

Post_MOSS_Infopath2007_9




    • En la siguiente pantalla especificamos la lista en cuestión:

Post_MOSS_Infopath2007_10



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.


Post_MOSS_Infopath2007_11




    • Especificamos que campo de la lista vamos a visualizar en el combo Tipo de Sugerencia. En este caso, el campo es Título.

Post_MOSS_Infopath2007_12




      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.

Post_MOSS_Infopath2007_13



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.


Post_MOSS_Infopath2007_14


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.


Post_MOSS_Infopath2007_15


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:

Post_MOSS_Infopath2007_16



  • Especificamos que el formulario se va a publicar en una biblioteca de documentos y  y si permitimos que se pueda rellenar desde el navegador:

Post_MOSS_Infopath2007_17



  • Especificamos que se cree una nueva biblioteca de formularios:

Post_MOSS_Infopath2007_18



  • 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.

Post_MOSS_Infopath2007_19


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:



  • Ubicación de la plantilla de formulario a utilizar, parámetro XsnLocation que en este caso es: http://<servidor_MOSS>/sitios/intranet/Buzn de Sugerencias/Forms/template.xsn
  • Ubicación dónde se van a guardar las sugerencias creadas, parámetro SaveLocation que en este caso es: Post_MOSS_Infopath2007_20


    Con todos los pasos anteriores, el buzón de sugerencias creado tendría el siguiente aspecto:

     Post_MOSS_Infopath2007_21

    Espero que este primer post que hemos hecho sobre Infopath 2007 y MOSS os resulte interesante.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

17 comentarios en “Infopath 2007 & MOSS: Publicación de formularios e integración de datos”

  1. Hola Juan Carlos, sensacional entrada.

    Me has pisado una entrada que llevaba preparando desde hace poco tiempo y que justamente trataba lo mismo, pero entre la tuya y la mía, me quedo con la tuya porque está muy bien explicada.

    Muchas gracias por compartir esto.

    Un saludo.

  2. Hola Jorge!
    Gracias por tu comentario, estoy seguro que tu también tienes cosas interesantes que contarnos sobre Infopath 2007 y MOSS…hay muchas cosas que contar y hay pocos blogs en español que cuenten cosas sobre ello, a ver si a partir de esta entrada se anima más gente a escribir…nosotros intentaremos ir aportando cosillas que vayamos experimentando y probando.

    Como siempre, un placer compartir lo que aprendo con todo aquel que esté interesado en el apasionante mundo de la tecnología. Gracias de nuevo Jorge.

    Un saludo

    JC

  3. Necesito un favor, tengo un formulario que en una sección tiene un código que necesito pasarlo a otra sección del formulario para realizar unos calculos. COmo puedo hacer esto? Gracias

  4. Hola, soy programado y quiciera ver si me pueden apoyar, tengo un MOSS el cual publica vistas con InfoPath Form Server, quiciera obtener el XML que compone cada vista y poder transformarla con algun XSL, ya que estoy usando un navegador viejo (Netscape 4x) y me topo con problemas de seguridad, alguno me podria ayudar, de ante mano gracias

  5. el tema esta muy interesante, miren tengo infopath 2007 mi pregunta es que version de share point necesito y como es que se instala sharepoint y otra más como es esto de la integracion de sharepoint , infopath y sharepoint

  6. Hola Jesús,
    Si hablamos de versión de SharePoint con formularios que se rendericen en el navegador, estaríamos hablando de un MOSS Enterprise. Otra posibilidad, no estoy seguro al 100 % de que sea válida, es que tengas WSS 3.0 y le añadas Infopath Form Services.

    Un saludo

    JC’s

  7. Buen día amigo, antes que todo quiero felicitarte por tu blog el cual mucho nos ayuda y en especial a mi que apenas estoy aprendiendo a combinar InfoPath con SharePoint, sin embargo me e topado con un problema, al momento de intentar conectar los datos, he puesto la ruta al sitios, la ruta directa de la lista, sin embargo me manda el error,

    InfoPath no puede conectarse al sitio. Puede que el sitio no disponga de conexión temporalmente o que su equipo no tenga conexión a internet.

    Cabe mencionar que si me solicita usuario y contraseña, tengo sharepoint enterprise.

    Tendre que realizar algunas configuraciones adicionales en el Servidor SharePoint? o algo a tomar en cuenta adicional.

    Mucho te agradecia alguna orientación!

    Sin mas, me despido agradeciendote.

  8. Hola a todos,
    He seguido al pie de la letra todos los pasos pero no me logra funcionar, es decir, todo funciona bien en el formulario web pero en el momento de Guardar me da un error que “Hubo un error mientras procesa el formulario” y no hay mas remedio que “Salir”.
    Alguna solución?

  9. Hola buen día, me parece genial el artículo publicado, yo voy bien hasta que llego a seleccionar el web part XmlFormView, cuando lo trato de agregar no lo encuentro, esto se debe a que no lo tengo instalado?

    Gracias y saludos,

  10. Buenas Gonzalo,
    Si tienes una instalación en español revisa que la Web Part tenga ese nombre ya que estará traducido. Otra posibilidad es que vayas a la galería de Web Parts y mires si la tienes disponible para cargar.

    Un saludo

  11. Hola, quisiera diseñar un formulario infopath, donde un conjunto de controles se repita cuando se seleccione un boton, por ejemplo:
    En un sitio web escolar, para añadir estudiantes a un determinado curso,los estudiantes tendrian nombre, año que cursan, carnet de identidad, la idea es que en el mismo formilario se puedan añadir todos los estudiantes que se deseen, cuando el usuario seleccione el boton Añadir estudiante, que se repitan los controles en los que se recogen los datos del estudiante.
    Este formualrio es para utilizarlo en un flujo de trabajo en SharePoint 2007, he estado investigando y he encontrado algunos controles como seccion repetitiva o tabla repetitiva, pero cuando en Herramientas, opciones de formularios, selecciono la opcion Compatibilidad y eligo que el formulario se pueda ver en una navegador web, estos controles se deshabilitan.
    Esto es posible realizarlo o tendré que hacer los formularios con páginas .ASPX?
    Gracias por adelantado por la respuesta.
    Saludos, puedes escribirme a mi e-mail.

  12. Hola.
    Necesitaría saber como indicar desde infopath la audencia de destino del formulario que se crea en la biblioteca de documentos.
    Si alguien me puede ayudar se lo agradecería.
    Muchas gracias.

  13. Hola

    Tengo un problemita espero que me pueda ayudar, trabajo con SharePoint 3.0 cree una biblioteca de documentos con un formulario de Infopaq 2007, esta a su ves utiliza una base de datos Access 2007, y todo me funciona muy bien en mis maquinas XP pero en una maquina donde mi sistema operativo es 7 ultimate no puedo abrir el formulario, no tengo idea de porque? sera que usted sabe?

Deja un comentario

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