martes, 19 de junio de 2012

Actualizar el InfoPath de edición de ListItems en Sharepoint 2010

Cuando customizamos los formularios de alta y modificacion de un listItem una de las opciones mas cómodas es hacerlo usando Infopath 2010.

Todo es muy bonito al desarrollarlo y ponerlo en un entorno de pruebas, cuando lo ponemos en producción es fácil, hacemos un paquete STP de la lista customizada, desplegamos y listo, tenemos una lista Vacia preparada para comenzar a recoger elementos a traves del Infopath.

Los problemas aparecen cuando tras ponerlo en producción ... pasa el tiempo y claro ahora la lista esta repleta de datos, entonces es cuando las modificaciones se convierten en un "dolor" ya que no podemos borrarla y desplegar de nuevo el STP actualizado.

A simple vista y desde Infopath no se puede modificar la URL de la lista a la que esta modificando los formularios de  View y Edit
Un usuario avispado puede rebuscar un poco en el apartado conexiones de datos, pero sin éxito ya que todo apunta a que por aquí tendría que estar la cosa, pero va a ser que no.

Problema:
Sustituir/Actualizar el formulario de edición de List Items de una lista customizada con Infopath 2010.

Solución:
1º Si hemos creado campos nuevos en Desarrollo los creamos también en producción.
2º Abrimos 2 Sharepoint designer uno contra Desarrollo y otra contra Producción. 
3º Mediante Sharepoint Designer 2010 podemos acceder a la lista en cuestión en ambos entornos.
4º Abrimos la carpeta "Item" en la que podemos ver un fichero llamado template.xsn
5º Con hacer un COPY-PASTE de este fichero desde Desarrollo a Produccion y ya esta todo listo.


Solución Pro:
Creamos un modulo de aprovisionamiento que despliegue (y reemplace) el fichero en cuestión con nuestro paquete WSP
Recuerda marcarlo con GhostableInLibrary para evitar problemas.
image
Si hay que crear campos nuevos... en el feature activate es donde tendríamos que hacerlo.


Nota:
Los infopath tienen una importante limitación cuando los usamos para customizar listas...no pueden usar grupos (o parent child con otras listas) a grandes rasgos solo pueden crear/editar elementos en una sola lista a la vez.

Mis Agradecimientos a Lynton Titus que me ilustró en este tema.
Esperamos que os sea de ayuda.


No hay comentarios:

Publicar un comentario