9/10/08

Infopath: Cambiar las cadenas de conexión en caliente

Uno de los problemas que podemos encontrarnos cuando trabajamos con Infopath es que cada vez que realizamos una modificación en el formulario, para poder ver los cambios realizados tenemos que volver a publicarlo, con lo que ello conlleva: (tiempo, hacer un IISRESET en el servidor, etc.)
Para poder evitar eso lo que se hace es utilizar una biblioteca de conexiones, de manera que nuestro formulario accederá al fichero de conexión para ver donde tiene que hacerse el submit, cargar datos de un combo, etc, etc.
Pero iremos paso a paso.
Lo primero que debemos hacer es crearnos dos librerías de Infopath: “Infopath” e “Infopath 2”, que serán las librerías donde iremos guardando los formularios sin necesidad de tener que recompilar el formulario. Y también crearemos una librería de conexiones llamada “Conexiones”. Las librerías quedarían tal que así:


Ahora lo siguiente que tenemos que hacer es crearnos nuestro formulario de Infopath, el cual para este ejemplo será muy sencillo:La idea es que cuando hagamos submit podamos guardar el formulario en una librería o en otra sin tener que recompilar el formulario. El siguiente paso es configurar las conexiones. Para eso pincharemos en Tools --> Data Connections
Nos creamos la conexión a la librería que queramos. Será la primera y no nos importa el contenido que tenga. En mi caso la he creado para que inserte el formulario en la librería “Infopath”.
A continuación le daremos a ‘Convert’ para indicarle el fichero de conexión.
Cogemos la URL de la librería de Conexiones, en mi caso http://server1:10000/Docs/Conexiones
Pegamos la URL en la casilla correspondiente, tal que así:

Pinchamos en ‘Browse’ y guardamos el fichero UDCX que contiene los datos de la conexión en la librería de Conexiones. Cerramos el asistente de conexiones. En la lista veremos el fichero listo para ser aprobado:

Ya tenemos nuestro fichero de conexión configurado para que guarde los formularios en la librería “Infopath”.
Editamos el fichero y pinchamos en “Aprobar o Rechazar”. El fichero lo tiene que aprobar el administrador para que la conexión se pueda utilizar. Una vez aprobado, editamos un formulario, le hacemos el submit y comprobamos que lo guarda en la librería por defecto:


Ahora lo que haremos será editar el fichero UDCX y cambiar a la otra librería. Tendremos que descargar el fichero y editarlo. Recomiendo el notepad ya que el fichero no es muy grande y nos garantizamos que no se inserten caracteres extraños. Tiene este aspecto:
NOTA: He subrayado la URL que tendremos que cambiar. Ahora cambio a la URL de mi otra librería: http://server1:10000/Docs/Infopath%202/ Guardamos el fichero y lo subimos a la librería, sobreescribiendo el que tenemos. (Es posible que se renombre automáticamente a udcx.xml. Dejar la extensión UDCX unicamente)
Lo aprobamos de nuevo.
Cualquier cambio requerirá la aprobación por parte del administrador.

Lanzamos de nuevo el formulario y al hacer submit comprobamos donde guarda el formulario:


Las bibliotecas de conexiones son muy útiles en estos casos porque nos permiten no tener que estar reinicializando el servidor cada dos por tres.

No hay comentarios: