SharePoint 2010. Personalizando formularios con InfoPath

Una de las nuevas características de SharePoint 2010, es la capacidad de poder personalizar los formularios de las listas (New Form, Edit Form and View Form) con InfoPath 2010.

Con la versión actual (MOSS 2007) tenemos la posibilidad de personalizar los formularios de nuestros Workflows con InfoPath, podíamos tener una biblioteca de formularios en la que los usuarios rellenan los datos de una lista utilizando un documento InfoPath, pero no tenemos la posibilidad que nos ofrece SharePoint 2010 en la que un usuario, con conocimientos de InfoPath, puedo con no más de dos clicks de ratón personalizar el formulario de la una lista.

Os lo muestro con un ejemplo, que será más fácil ver las diferencias.

Vamos a crearnos una lista de Contacts en SharePoint 2010 para personalizar el formulario. Para quien no conozca de InfoPath, comentarles que es una aplicación para desarrollar formularios basados en XML, incluyendo validadores de campos, consultas a orígenes de datos externos, formateo de campos, etc.

SharePoint2010_InfoPathCustomForm1

En la pestaña de List, tenemos una opción con el icono de InfoPath llamada Customize Form. Cuando seleccionamos esta opción, se nos abrirá InfoPath 2010, con un formulario que se ha creado con los elementos de la lista de Contacts.

SharePoint2010_InfoPathCustomForm2

Validación de campos con reglas de InfoPath

Las listas de SharePoint 2010 permiten la validación de los campos utilizando formulas, estas validaciones son del tipo comparación (con valores u otros campos), sin embargo, no podemos realizar validaciones con expresiones regulares. InfoPath 2010, además de este tipo de validaciones, incluye algunas algunas más, como las de expresiones regulares. Por ejemplo, en el formulario de Contacts, vamos a poner una validador para que el usuario tenga que escribir un email correctamente.

SharePoint2010_InfoPathCustomForm3

InfoPath incluye algunas expresiones regulares comunes (email, código postal, url), pero también podemos escribir nuestras expresiones para realizar la validación.

SharePoint2010_InfoPathCustomForm4

Estas reglas pueden ser de Validación, Formateo o Acción. Para nuestro ejemplo, utilizaremos una regla de validación.

SharePoint2010_InfoPathCustomForm5

También vamos a crear una regla de Formateo para que el campo Company se ponga en amarillo cuando se escriba una empresa llamada Contoso.

SharePoint2010_InfoPathCustomForm6

Filtrar Lookups

También podemos realizar filtros de los campos Lookups de la lista. Por ejemplo, hemos modificado la lista de Contacts, para que el Job Title sea un campo Lookup. Vamos a ver como podemos filtrar ese campo para que sólo salgan los Job Title de Internal Use.

En las propiedades del Drop-Down List del campo Job Title, vemos que está conectado a un origen de datos externos, llamado Job Title y en el Entries se ha seleccionado todos los elementos de la lista de SharePoint.

SharePoint2010_InfoPathCustomForm7

Para filtrar, tenemos que cambiar el Entries para que no nos devuelva toda la lista de elementos, si no que nos devuelva los elementos que tengan un ‘FALSE’ en el campo Internal use. Si nuestro origen de datos a filtrar no incluye este campo, podemos añadir una nueva conexión a una lista de SharePoint e incluir este campo.

SharePoint2010_InfoPathCustomForm8

Ahora nuestro Entries contiene la consulta filtrada (/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW[d:Internal_x0020_use = string(false())]).

Nos queda publicar el formulario a la lista de SharePoint y listo. Hemos personalizado el formulario de la lista, sin necesidad de programación.

SharePoint2010_InfoPathCustomForm9

Ahora hemos pasado de tener un formulario estándar como este…

SharePoint2010_InfoPathCustomForm

a este otro con las reglas de InfoPath, el Lookup filtrado y algún cambio en el diseño…

SharePoint2010_InfoPathCustomForm10

Uno de los valores que siempre he defendido de SharePoint, es que, dentro de las posibilidades, ofrezca variedad en el Self-Service. Que los usuarios de SharePoint puedan crear listas, añadir campos, les ofrece muchas posibilidades. Ahora con esta nueva versión, hemos ampliado el menú del Self-Service y los usuarios podrán crear más elementos, más profesionales y sin necesidad de programación.

 

Saludos a todos…

3 pensamientos en “SharePoint 2010. Personalizando formularios con InfoPath”

  1. Hola!

    Tengo una pregunta, estoy iniciando en esto, y ya tengo creado mi encuesta en infopath con imagen y todo, esto es, como quiero que aparezca en mi sitio de sharepoint, pero mi duda es cómo lo subo al sitio de sharepoint 2010 porque me aparece que no puedo modificar el formulario en sharepoint.

    Después lo trate de hacer directamente en sharepoint 2010 y resulta que no me deja personalizarlo o como debo hacerlo.

    Y por último, si tienes enlaces en español de cómo manejar la herramienta.

    Gracias

  2. Hola Tais,

    cuando creas un formulario de InfoPath tiene una plantilla que te guía para seleccionar la lista. Si no lo has utilizado, tendrás que crear un Origen de datos y enlazar tus campos de InfoPath a los de la lista y programar el submit del formulario para que guarde los valores.

Deja un comentario

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