Como sabéis, una de las capacidades que vienen de serie con la versión empresarial de MOSS es la de los llamados e-forms, o lo que es lo mismo, publicar formularios Infopath en MOSS de manera que se pueda interactuar con ellos directamente a través del navegador gracias a los Infopath Forms Services de MOSS. Hace un tiempo os comenté como se realiza el proceso de publicación de estos formularios:
En estos posts veíamos como publicar los formularios de una forma manual y en total dependencia con un servidor de SharePoint concreto. Pero, ¿cómo podemos automatizar la publicación de estos formularios independientemente del servidor de SharePoint destino? La idea de este posts y los siguientes es valorar las algunas posibilidades que tenemos a la hora de automatizar la publicación de formularios Infopath. Empecemos.
Diseño del formulario
Como siempre, el primer paso que tenemos que realizar es diseñar el formulario Infopath. Por ejemplo, podéis seguir el paso a paso de este post. Una vez que tenemos diseñado el formulario, tenemos que realizar lo siguiente:
-
Comprobar la compatibilidad del formulario diseñado con Infopath Forms Services. Para ello, no tenemos más que pulsar la opción Change Compatibility Settings en el panel Design Checker de Infopath. En la ventana que se abre (sección Compatibility), especificamos la url del servidor de MOSS contra el que vamos a comprobar que el formulario se puede visualizar de forma correcta en el navegador.
- Definir el nivel de seguridad confianza del formulario a publicar.
- Deshabilitar la opción ‘Enable form merging’.
- Tras pulsar OK, simplemente comprobamos que el formulario no presenta ningún error de compatibilidad.
Publicación del formulario en una carpeta
Una vez que tenemos listo el formulario para su publicación, procedemos a realizar los siguientes pasos:
-
A través del menú File, seleccionamos la opción Publish.
-
Si no hemos guardado la plantilla del formulario, el asistente de publicación nos pedirá que guardemos dicha plantilla como paso previo.
-
Una vez guardada la plantilla, en la siguiente pantalla del asistente seleccionamos la opción To a network location.
-
En la siguiente pantalla, especificamos el nombre y path de la plantilla a publicar en Infopath Form Services.
-
La siguiente pantalla simplemente pulsamos Next (Nota: Dejad vacía la caja de texto).
-
En la siguiente pantalla pulsamos Publish, y en la pantalla final simplemente pulsamos Close.
Publicación del formulario en SharePoint
Una vez que ya tenemos publicado el formulario Infopath en la carpeta, para automatizar su publicación a cualquier servidor de SharePoint no tenemos más que ejecutar los siguientes comandos STSADM (cambiando los path según necesitemos):
echo Instalando formulario Infopath…
::Revisar que los path estén correctos
SET STSADM=C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin\stsadm.exe
SET FormPath=C:\Documents and Settings\Administrator\Desktop\Demos Workshop\Infopath Deploy\STSADM\ExpensesReportFormTemplate_v3.xsn
SET SiteUrl=http://litwaredemo
"%STSADM%" -o verifyformtemplate -filename "%FormPath%"
"%STSADM%" -o UploadFormTemplate -filename "%FormPath%"
"%STSADM%" -o execadmsvcjobs
"%STSADM%" -o ActivateFormTemplate -url %SiteUrl% -filename "%FormPath%"
echo Instalacion terminada…
|
Básicamente, lo que estamos haciendo es lo mismo que podemos hacer desde la administración central de SharePoint, pero de una forma automatizada:
-
Verificamos que el formulario Infopath está listo para poder usarlo con Infopath Form Services a través de verifyformtemplate.
-
Subimos el formulario a la galería de formularios accesible desde la administración central de SharePoint.
-
Ejecutamos los timer jobs de SharePoint.
-
Activamos el formulario a una colección de sitios concreta.

Finalmente, si todo ha ido bien no tenemos más que comprobar que:
-
La nueva plantilla aparece en la galería de plantillas de formularios de la administración central.
-
La nueva plantilla aparece en la biblioteca de formularios asociada al sitio donde la hemos activado.
-
Se ha creado un nuevo tipo de contenido asociado a esta plantilla.
Y hasta aquí llega este primer post sobre como automatizar la publicación de formularios Infopath. Espero que os haya resultado interesante.