SharePoint Latin Rotating Header Image

Form Services

Y si funciona ¿qué?

Durante una reunión se me pidió mi opinión sobre la factibilidad de automatizar un proceso que actualmente se lleva en papel y su ejecución es literalmente a mano por un proceso electrónico y digital utilizando a SharePoint como la plataforma para lograrlo y ciertamente podríamos decir que en SharePoint se tienen las características necesarias para hacer frente con éxito a un escenarios de captura electrónica de datos y gestión de aprobaciones mediante flujos de trabajo. Sin embargo antes de emitir mi recomendación hice las siguientes preguntas:

  • Cuál sería la meta de este esfuerzo y podríamos enlistar algunos objetivos
  • Aproximadamente ¿cuantas personas estaríamos tocando con la automatización de este proceso?
  • En cuanto a tiempo se refiere, la duración de una instancia del proceso es de ¿cuánto tiempo?
  • El volumen de solicitudes y aprobaciones que se dan por cada instancia del proceso en promedio al mes ¿es de?

Después de escuchar las respuestas y de entender un poco más el contexto de este cliente “el cual busca posicionar a SharePoint para buscan financiamiento” procedí a comentar mi punto de vista el cual describo a continuación:

Estoy seguro que SharePoint puede soportar a gran escala una solución como la que están buscando con la infraestructura y procedimientos adecuados sin embargo, ¿podría el negocio soportarlo también? Mejorar un proceso que actualmente se lleva a mano por uno electrónico o digital requiere mucho más que una infraestructura de servidores, requiere del soporte y compromiso del negocio por las siguientes razones:

  • Necesitaras definir si las autorizaciones que actualmente se llevan en papel y son la causa de la lentitud del proceso se transformaran a autorizaciones digitales las cuales reducirán el tiempo de la gestión. ¿Podrá el negocio darle validez a la autorización digital o electrónica?
  • Una vez reconociendo la autorización digital entonces el resguardo de los registros electrónicos también deberá ser gestionado por la política actual de retención de la información la cual hoy se lleva en papel y cuenta con todo un departamento de archivo. ¿Podría el negocio darle validez legal por así decirlo a los registros electrónicos producidos por el proceso? ¿Cómo entonces podríamos describir una auditoria?
  • De pronto en menos de seis meses podrás identificar la reducción del uso de impresoras y papel, ¿se tienen contratos celebrados con proveedores tanto de soporte técnico y/o fabricantes que se tengan que revisar?
  • Qué pasaría si al ver el impacto y valor de la automatización de un proceso manual a un proceso digital resulta en una demanda mayor por parte del usuario final en la automatización de otros procesos. ¿Estamos listos para soportar una demanda mayor de trabajo? ¿tenemos en claro cómo podríamos evolucionar de forma gradual de un negocio basado en papel a un negocio basado en formas electrónicas?
  • ¿Cuáles serían otros procesos candidatos que por orden natural pudiera seguir a este esfuerzo?

En resumen hay que preguntarnos qué pasara si sale mal pero también que pasara si sale bien la iniciativa. No es que sea un aguafiestas pero para poder hacer un enfoque de solución integral al problema y las expectativas de negocio hay que preguntar ¿Y qué pasaría si es exitoso el proyecto?

Reseña de El Día del Flujo de Trabajo de SharePoint 2010 para Desarrolladores

El pasado miércoles 15 de diciembre del presente año Misael Monterroca, Haaron Gonzalez, Gerardo Reyes y Fabian Imaz estuvimos celebrando el día del flujo de trabajo SharePoint 2010 para desarrolladores mediante presentaciones abiertas en línea de forma continua durante el transcurso del día que hoy ponemos a disposicion.

Gracias a los expositores y asistentes!

NOTA: Para ver la sesion en linea, solo da clic en la imagen.

Conociendo los Flujos de Trabajo Pre Construidos en SharePoint 2010
PDF
Conociendo los Flujos de Trabajo Pre Construidos en SharePoint 2010
En esta sesión conoceremos la propuesta de flujos de trabajo que SharePoint 2010 pone en la mesa y las características de cada uno de los flujos de trabajo pre construidos en el producto. Cuando y donde genera valor utilizarlo para automatizar algún proceso u operación empresarial y mejor aún cómo es posible extenderlos para personalizar algún proceso.

15 de Diciembre 2010 a las 10:00 AM Tiempo de México – Ver aqui
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando SharePoint Designer 2010
PDF | Ejemplo
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando SharePoint Designer 2010
En esta sesión veremos el soporte que SharePoint Designer 2010 tiene para la creación y manipulación de flujos de trabajo para SharePoint. Conozca el nuevo diseñador de flujos de trabajo, las actividades y condiciones disponibles en esta versión y como programar tus propias condiciones y acciones para SharePoint Designer 2010.

15 de Diciembre 2010 a las 11:30 AM Tiempo de México – Ver aqui
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visio Services Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visio Services
En esta sesión veremos el valor que Visio Services aporta al mundo de los flujos de trabajo. Al fin contamos con una alternativa mucho más rica para poder mostrar de forma gráfica el estado de los flujos en ejecución y brindar opciones al usuario para consultar información contextual de una instancia en ejecución del flujo de trabajo.

15 de Diciembre 2010 a las 3:00 PM Tiempo de México – Ver aqui
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visual Studio 2010
PDF | Ejemplo
Construyendo Flujos de Trabajo en SharePoint 2010 utilizando Visual Studio 2010
Esta es una sesión para desarrolladores .NET que construyen flujos de trabajo para SharePoint 2007 y buscan conocer cómo construir flujos de trabajo en SharePoint 2010. Exploraremos las nuevas características relacionadas con flujos dentro de SharePoint 2010 y el soporte simplificado Visual Studio 2010 aporta para facilitar su construcción y despliegue.

15 de Diciembre 2010 a las 4:30 PM Tiempo de México – Ver aqui

Siguebois

InfoPath Form Services en ambiente SharePoint con NLB (Network Load Balancing) configurado

GenericSHAREPOINTfarm2_smUn buen amigo me preguntó como le voy a hacer para realizar el despliegue de una solución InfoPath Form Services en un ambiente SharPoint con  NLB (Network Load Balancing) configurado, esto se debe a que el formulario InfoPath cuenta con conexiones a fuentes de datos externas y cuando utilizamos NLB se configura un IP virtual asociado al FQDN que determinara hacia que WFE se direcciona la petición  con base en las reglas de balanceo y en la demanda.

Y bueno la respuesta es agregar en el archivo Host el IP local de cada WFE apuntando al mismo FQDN de tal manera cuando InfoPath hace una petición al recurso externo mediante un DNS apuntando a un IP virtual, este es transferido al WFE a través del NLB usando el mismo FQDN sin embargo por contar con el IP local asociado al FQDN en el archivos Host, quien responde es el mismo WFE donde llego la petición.

Después de la respuesta citada, este mismo buen amigo ahora comentó que hay que buscar otra solución mas elegante para  no editar manualmente el archivo Host de cada WFE.

Estos amigitos!

Smile

Como deshabilitar el uso predeterminado de marca de InfoPath Form Services

Seguro lo has visto y hasta tus usuarios te han preguntado por qué razón en los formularios electrónicos se cuenta con el logotipo de InfoPath Form Services. Yo me pregunto cuál fue el argumento del equipo de producto de Microsoft para dejar habilitada esta opción de manera automática.  

image
La realidad es que posiblemente este sería un buen lugar para colocar nuestro logotipo de empresa, sin embargo, no se cuenta con ninguna opción disponible o soportada para modificar este logotipo. Incluso cuando contamos con un control para subir un archivos se tiene la misma imagen de InfoPath Form Serivces.

Si quieres deshabilitar estas imágenes puedes utilizar la siguiente instrucción:

stsadm -o setformsserviceproperty -pn AllowBranding -pv false


Y el resultado es que se deshabilita el uso de la imagen de marca de InfoPath Form Services en nuestra barra de opciones.

image
Así como también en la ventana para adjuntar archivos y algunas otras mas.
 

image

Para mas informacion sobre los comandos disponibles para manipulación de Form Services puedes ver aquí:  http://blogs.msdn.com/b/michael_yeager/archive/2008/12/01/using-stsadm-to-set-form-services-properties.aspx

Llenado programatico de tablas repetibles en formularios InfoPath Form Services

Aquí una técnica que resulta interesante cuando trabajamos con formularios InfoPath Form Services de SharePoint Server 2007. Resulta que cuando usamos InfoPath 2007 combinado con Forms Services perdemos un tanto de funcionalidad como controles, opciones de filtrado y de conexión a datos externos es por ello que en ocasiones debemos de utilizar alternativas un tanto artesanal para simular el comportamiento esperado. Hoy quiero compartir una alternativa para poder presentar un listado de cuadros de verificación para permitir al usuario seleccionar más de una opción dentro de sus formularios InfoPath Form Services.

Una lista repetible en InfoPath es una especie de tabla de información vinculada a alguna fuente de datos que permite mostrar un arreglo de renglones con columnas y con sus correspondientes controles para el llenado o captura tabular, esta lista ya incluye la funcionalidad para agregar o eliminar renglones de forma automática. Bajo este contexto, el de mostrar una lista de cuadros de verificación para multi selección usaremos una lista para mostrar en una columna el  cuadro de verificación y en la otra su descripción, deshabilitaremos las opciones de edición de la lista para crear un efecto de despliegue.

image

Tomamos la lita repetible y la arrastramos sobre nuestro formulario, al hacerlo nos solicita que seleccionemos de cuantas columnas  requerimos la lista y seleccionamos dos.

image

El resultado es una lista repetible de forma tabular. Analisemos el esquema que InfoPath ha generado para representar esta lista con la finalidad de apreciar los nombres de los campos que estaremos utilizando en este ejemplo. group2 es un campo de tipo Grupo con la capacidad de auto repetir su contenido que en este caso son los campos field1 y field2

image

A continuacion dentro de nuestro fomulario transformamos a feld1 en cuadro de verificacion.

image

Realizamos el mismo procedimiento para la siguiente columna field2 solo que la cambiaremos a cuadro de expresion. Tambien podemos jugar con las propiedades de la lista repetible para esconder el encabezado y eliminar los bordes para generar el efecto deseado. Esto lo hacemos seleccionando las propiedades del objeto y accediendo a la pestaña de Display para deshabilitar la opcon de incluir el encabezado o Include Header. Asi mismo dentro de la pestaña Data deshabilitamos las opciones por defecto Default Settings y la de mostrar botón de inserción. Esto nos quita la opción de agregar soporte para agregar, modificar y eliminar elementos de forma automática..

image

Ya tenemos la estructura lista para poder codificar y cargar sobre ella una lista de datos que puede provenir de cualquier otra fuente de información.
A continuación desde InfoPath cargamos Visual Studio for Applications seleccionando del menú de herramientas la opción de programación y evento de carga.

image

No olvidemos primeramente guardar nuestro formulario y configurar un par de opciones dentro de la configuración de formulario o Form Options. En primer lugar dentro de Security and Trust especificamos nuestro formulario como Full Trust, esto se debe a que estaremos ejecutando código.

image

Y dentro de la sección programming seleccionemos que lenguaje de programación deseamos usar y en que carpeta guardaremos el código.

image 

Ya dentro de Visual Studio for Applications tenemos el código correspondiente al evento de carga del formulario. Es aquí donde puedes conectarte a otra fuente de datos ya sea de forma programática o directamente desde InfoPath.

De momento haremos el llenado manual de la lista repetible mediante el siguiente código de programación.

private const string STR_XPATH_Grupo = "/my:myFields/my:group1/my:group2";
        private const string STR_XPATH_Nodo = "/my:myFields/my:group1/my:group2/my:field2";
      
        private void CargaLista()
        {     
            // creamos una instancia de nuestro esquema principal
            XPathNavigator DOM = MainDataSource.CreateNavigator();

            // obtenemos una referencia del nodo repetible 
            XPathNavigator tableItem = DOM.SelectSingleNode(STR_XPATH_Grupo, this.NamespaceManager);
            XPathNavigator tableItemNode = null;
            
            // clonamos un elemento y lo asignamos a otra variable
            tableItemNode = tableItem.Clone();

            // obtenemos la ruta de donde estaremos actualizando la informacion dentro del elemento clonado          
            XPathNavigator target = tableItemNode.SelectSingleNode(STR_XPATH_Nodo, this.NamespaceManager);

            // establecemos la informacion a desplegar dentro del elemento clonado
            target.SetValue("hola");

            // insertamos el elemento clonado en la lista repetible
            tableItem.InsertAfter(tableItemNode);

            target = null;
            tableItemNode = null;


        }


 


El resultado:.



image



 



A continuación dejo una rutina un poco más elaborada donde se muestra como cargar una lista repetible que proviene de una fuente de datos externa configurada dentro de InfoPath.



  • En dataSource enviamos el nombre de nuestra conexión a otra fuente de datos configurada en InfoPath.
  • En tableRow enviamos la ruta XPath que apunta a grupo repetible de una lista repetible.
  • En fieldName especificamos el nombre del campo que deseamos mostrar en la descripción de la lista repetible.
  • En targetXPath especificamos la ruta XPath del nodo descripción de nuestra lista repetible.


 private void LoadSPListToRepeatingTable(string dataSource, string tableRow, string fieldName, string targetXPath)
        {       


            XPathNodeIterator list = DataSources[dataSource].CreateNavigator().Select("/xml/rs:data/z:row", this.NamespaceManager);
            XPathNavigator DOM = MainDataSource.CreateNavigator();
            XPathNavigator tableItem = DOM.SelectSingleNode(tableRow, this.NamespaceManager);
            XPathNavigator tableItemNode = null;
          

            foreach (XPathNavigator listItem in list)
            {

                if (tableItem != null)
                    tableItemNode = tableItem.Clone();


                string value = listItem.SelectSingleNode(fieldName, NamespaceManager).Value;
                XPathNavigator target = tableItemNode.SelectSingleNode(targetXPath, this.NamespaceManager);
                target.SetValue(value);
                tableItem.InsertAfter(tableItemNode);

                target = null;
                tableItemNode = null;


            }
            tableItem.DeleteSelf();
            tableItem = null;
            DOM = null;

        }


 



La invocación de esta rutina es:



           LoadSPListToRepeatingTable("Areas", "/my:myFields/my:Inicio/my:areas/my:areaRow", "@ows_LinkTitle", "/my:myFields/my:Inicio/my:areas/my:areaRow/my:areaDescripcion");



 



EL resultado seria algo asi:



image

Ya instalé SharePoint ¿y ahora qué?

20080712-pensar_mono El año pasado tuve la oportunidad de grabar una sesión especial para la iniciativa CILCLO DE CONOCIMIENTO SHAREPOINT de Colombia y hoy quiero compartir en mi blog la plática “Ya instalé SharePoint ¿y ahora qué?” donde describo las funcionalidades de la plataforma SharePoint desde el punto de vista tomador de decisiones.

Si andas buscando que tiene SharePoint para tu organización este es un webcast donde pueden empezar a
ver que hay en la plataforma.

How to enable a enterprise collaboration platform with Microsoft Technologies WebCast

In this September, I will have the opportunity to share information about how Microsoft technologies can help your business and IT people to establish a collaboration strategy for all the enterprise. In this session How to enable a enterprise collaboration platform with Microsoft Technologies we will discuss the big issues that people like you and my have to solve just for promote the agility and a digital approach to consolidate enterprise information, enhance communication and dramatically reduce cost.

This webcast will be in Spanish language and base on Office 2007 Beta 2 server and client products. My friend Luis Du Solier a SharePoint MVP in Mexico also is doing a webcast Microsoft SharePoint Architecture and Implementation.

Join us here!!

Entendiendo el uso de Formatos Electronicos con InfoPath 2007 y Forms Services de MOSS 2007

Parece que no, pero sí que lo es. Seguro te preguntaras de qué estoy hablando pero en un segundo lo sabrás. Todas las organizaciones que tú y yo conocemos hacen uso de formatos en papel para solicitar el llenado de información. Lo vivimos todos los días en todas partes. En el banco cuando solicitamos un crédito, en la recepción cuando nos registramos en las oficinas del cliente, en la universidad cuando solicitamos alguna asignatura o en cualquier oficina de gobierno donde requerimos atención o solicitar algún servicio. Seguramente contralores o jefes de departamentos financieros de cualquier institución nos podrán decir el costo total anual que el papel representa para una organización.

Claro, el papel sigue siendo un documento que para ciertos procesos tiene una validez legal, hablo de contratos, cheques, dictámenes y comprobantes. Sin embargo, en organizaciones, empresas y gobiernos, existen procesos que a pesar de no tener un impacto de misión crítica para la organización, al año, estos demandan y consumen grandes cantidades de papel que terminan almacenados en un espacio físico donde clasificarlos, buscarlos y encontrarlos a veces no es de lo más sencillo.

El concepto de digitalizar información ha venido a revolucionar la forma en que se captura la misma, hoy en día, para algunos procesos hacemos uso de sistemas de información y páginas dinámicas en Internet para realizar la captura de datos y consolidar la información de manera electrónica. Desafortunadamente el costo de evaluar, diseñar, desarrollar, implementar y operar este tipo de soluciones es potencialmente costoso y la mayoría de las veces exponencialmente más caro.

Introducción a Microsoft Office InfoPath

Microsoft Office InfoPath es un producto de software que facilita la captura de información de manera electrónica, auxilia a los equipos y organizaciones en la creación e implementación de formularios dinámicos que conectan a las personas con tus aplicaciones internas o de línea de negocio y a procesos empresariales con la finalidad de recolectar de manera clara y eficiente la información, utilizando los estándares o metadatos definidos acorde a tus requerimientos. En otras palabras combinar la versatilidad de un software de tipo procesador de palabras con la estructura definida en cualquier formato, nos da la posibilidad de habilitar el uso de formatos electrónicos que su información pueda fácilmente integrarse a otros sistemas, procesos empresariales automatizados o escenarios de colaboración. El formato nativo con el que InfoPath trabaja es XML de tal manera que cualquier formato que diseñas y del cual recolectes información lo tendrás disponible en formato XML para su sencilla distribución y conexión con cualquier otra aplicación de negocio que soporte comunicación vía servicios web y soporte XML.

  • Desarrolla y administra soluciones de manera más fácil: InfoPath ofrece todo un ambiente de desarrollo robusto para crear y adaptar rápidamente formularios de captura de información. Cabe mencionar que no estamos hablando de un cambio radical en cuanto a lenguajes de programación, sino más bien hablamos de todo un ambiente de desarrollo enfocado en facilitar la creación de formularios de captura que permita a tu organización un cierto nivel de flexibilidad para construir rápidamente soluciones que te permitan recopilar información de cualquier tipo y en algunos casos integrarla a tus procesos o sistemas, como consecuencia tu organización tendrá una tecnología que le permitirá ser más flexible a la hora de responder con agilidad a los cambios que el entorno demanda.
  • Conecta personas, información y sistemas: InfoPath ofrece soporte para habilitar escenarios de integración y comunicación con sistemas mediante el uso de servicios Web, ofreciendo la capacidad de obtener de otras fuentes de datos información para reforzar la integridad de los datos y también para integrar en los sistemas actuales nueva información recopilada.
  • Captura información de manera flexible y clara: InfoPath provee de una experiencia de captura muy similar a la de Microsoft Word con el valor adicional de mantener una estructura de datos para la captura que puede contener validaciones de datos, comparaciones, filtrados, eventos, conexiones, búsquedas, etc. sin tener que escribir una sola línea de código de programación.

Debido a que InfoPath es un producto de la suite de Office encontramos un conjunto de funcionalidad adicional que nos permite enriquecer y facilitar la integración de tecnologías adicionales de la plataforma Microsoft. Por ejemplo en la nueva versión de InfoPath 2007 actualmente Beta encontramos una mayor integración con los mismos productos de la familia Office 2007 como el “Document Information Panel” (ver este post) de Word, Power Point o Excel, el llenado y envío de formularios utilizando Outlook 2007. Productos SharePoint Server 2003, 2007 Beta, Windows Rights Management Services (ver este post) , Firma Digital con Windows Certificate Autority (ver este post) por ejemplo nos permiten extender funcionalidad y construir una solución rápidamente integrando poderosas capacidades existentes en los productos adicionales de la plataforma Microsoft.

Veamos un ejemplo práctico

No hace mucho me encontré con un escenario donde se requería levantar un inventario de equipo de una organización con más de 300 empleados de oficina. La forma que tuvieron de atacar esta necesidad fue crear un formato electrónico en Excel solicitando la información que se requería. Se imprimieron una gran cantidad de juegos y se repartieron entre un equipo de 10 personas el trabajo para ir físicamente con cada usuario y llenar el formato a mano. Una vez realizado el inventario, procedieron a contar ahora si como acaba de suceder en México “voto por voto, casilla por casilla”, me refiero a que realizaron un conteo manual de la información recolectada y generaron los reportes necesarios para poder tener información veraz. El problema es que el proceso duro aproximadamente 6 horas.

En el siguiente ejemplo veamos como con InfoPath 2007 Beta y algunas tecnologías adicionales de la plataforma Microsoft podemos mejorar drásticamente el tiempo de este proceso.

IP01.jpg 

En pantalla vemos la superficie de diseño de InfoPath en donde contamos con una serie de controles y objetos que podemos integrar a nuestro formulario. En este caso tengo controles de tipo cuadros de texto, cajas de selección de datos, tabla de campos repetitiva y campos de tipo expresión los cuales son cálculos que solamente muestran el resultado de un cálculo.

Pero veamos que otras tareas de diseño podemos realizar con InfoPath.

 IP02.jpg

Tenemos una gran variedad de elementos que nos permiten diseñar y construir formularios muy completos. Contamos con las siguientes secciones:

  • Diseño: prácticamente nos ofrece plantillas de tablas para organizar nuestro contenido dentro de un formulario.
  • Controles: un catalogo de controles que podemos utilizar para capturar información. Los que mas utilizamos son la caja de texto, el campo de lista desplegable, tenemos el control de archivo (nos permite incluir cualquier archivo dentro de nuestro formulario), etc.
  • Orígenes de datos: aquí es donde podemos ver reflejada la estructura de datos que nuestro formulario InfoPath va almacenando. Esta estructura se puede integrar por cada control que vamos incluyendo en nuestro formulario sin embargo también podemos generar nuestro origen de datos basado en algún origen de datos como una tabla o un servicio web.
  • Vistas: tenemos la noción de múltiples vistas para visualizar la información, puedes ver a infopath como un contenedor de vistas en donde cada vista es una hoja de tu formato.
  • Verificador de diseño: es una herramienta útil porque verifica problemas de diseño de nuestra estructura de datos, nos puede informar y validar que nuestra estructura se encuentra bien ordenada y que no existan campos repetidos en ella, entre otro tipo de verificaciones.
  • Publicar plantilla de formulario: Esta es una opción que nos permite o hacer una especie de “Submmit” a mecanismos de recepción como bibliotecas de formulario en SharePoint, Bandejas de correo electrónico, servicios web, etc.

  

   

Si vemos de nuevo nuestro formulario diseñado identificaremos controles de tipo cuadros de texto, listas desplegables, imágenes, expresiones y tablas.

IP03.jpg 

Cada uno de estos controles cuenta con una extensa ventana de propiedades que podemos manualmente utilizar para definir comportamientos adicionales o validaciones requeridas. Esta ventana de propiedades varia por el tipo de control seleccionado.

IP04.jpg    

Como podemos ver para un control de tipo lista desplegable de datos podemos especificar la información manualmente o podemos conectarnos a un origen de datos externo para poder buscar valores que provengan de listas de sharepoint, tablas de una base de datos o algún método de un servicio web. Tenemos la oportunidad de asociar reglas de validación para configurar el comportamiento de nuestro control.

IP05.jpg 

Contamos también con la noción de reglas que son bloques de funcionalidad que podemos configurar dependiendo de condiciones que se puedan cumplir, esta funcionalidad son acciones muy concretas que pueden dispararse cuando nuestra regla se cumpla:

IP06.jpg   

Claro que contamos con mucha funcionalidad adicional que podemos configurar, lo importante aquí es que tratamos de omitir al máximo el escribir código. Solamente en escenarios muy concretos nos vemos en la necesidad de programar sobre InfoPath, la buena noticia es que podemos hacerlo con C# o Visual Basic .NET dándonos la ventaja de integrar todo el poder de la Plataforma .NET en nuestros formularios InfoPath.

Continuando con nuestro ejemplo InfoPath en acción:

Dado el formulario diseñado veamos como podemos utilizar el cliente de InfoPath para proveer un formulario al usuario con la finalidad de recopilar información de un equipo, supongamos que deseamos hacer un inventario de equipo computacional en toda la empresa, este formulario nos permitirá solicitarle al usuario dicha información.

InfoPath trabaja de la mano con SharePoint v2, v3 para que fácilmente pueda ser desplegado por toda la organización.

IP07.jpg 

Automáticamente se cargará una instancia del formulario InfoPath. Solicitando la captura de la información de inventario de equipo. Cabe mencionar que hay algunos campos que muestran un asterisco rojo haciendo notar que esos son campos requeridos para poder procesar el formulario. Adicional tenemos por ahí un cuadro de lista desplegable con la finalidad de seleccionar de la lista un departamento. La información de esta lista puede provenir de bases de datos externas, servicios web remotos, archivos xml o listas de SharePoint.

IP10.jpg 

Al terminar de guardar la información entonces nuestro formulario se publica automáticamente sobre la biblioteca de formularios correspondiente. Y creando las vistas pertinentes podemos contar con una visualización interesante de la información.

IP11.jpg 

Otra funcionalidad interesante es que así como cualquier otro documento de la familia office lo podemos trabajar fuera de línea, lo mismo sucede con InfoPath. Por esta razón es que se dice que InfoPath nos permite construir aplicaciones Cliente Inteligente. Imagina que tienes un complejo formulario de captura para el registro de una solicitud de crédito. Puedes durante el día llevarte una solicitud y estarla llenando en cualquier momento, cuando regresas a la oficina y te conectas a la red, entonces podrás subir tu formulario de nuevo a la biblioteca de formularios de SharePoint.

Veamos el formato base en XML producto del llenado de un formulario que se encuentra fuera de línea almacenado en mi escritorio. Cabe mencionar que InfoPath cuenta con una gran variedad de controles que podemos utilizar para habilitar una mejor captura y que a su vez, InfoPath se encarga de transformar lo capturado para registrarlo en su correspondiente nodo XML.  

IP12.jpg    

Las ventajas de este modelo es que podemos llevarnos almacenado localmente nuestro formulario InfoPath y trabajar totalmente desconectado de la red corporativa. Claro que para poder habilitar este escenario el único requisito es contar con el paquete instalado InfoPath 2003 de la familia Office System 2003. Sin embargo, en la nueva versión de SharePoint Portal Server llamada Microsoft Office SharePoint Server 2007 (MOSS2007) tenemos el concepto de Form Services.

Form Services

Form Services es un servicio de procesado y dibujado de formularios InfoPath para permitir a un navegador de Internet ser el contenedor de formularios InfoPath y utilizar toda su funcionalidad. Microsoft esta consiente que no todo mundo cuenta con InfoPath por esa razón creo la versión del lado de servidor de InfoPath. Form Services viene gratuito dentro de MOSS2007. Solamente configuramos dentro de nuestras configuración avanzada de nuestra biblioteca de formularios la opción de ver sobre el navegador nuestro formulario InfoPath:

IP13.jpg 

Veamos la diferencia cuando selecciono de la biblioteca de formularios que deseamos crear un nuevo formulario:

IP14.jpg    

Justo después de cargar se presenta sobre nuestro navegador nuestro formulario InfoPath:

IP15.jpg 

Nosotros trabajamos con el tal como lo hacemos con el paquete de office. Claro que hay funcionalidad que actualmente se queda corta, sin embargo para captura de información de texto este escenario puede ser muy factible.

Firma Digital de un Formulario InfoPath

Una de las funcionalidades interesantes de InfoPath es la posibilidad de agregar firmas digitales. El mismo concepto descrito a este post te puede dar la noción de cómo en InfoPath podemos habilitar firmado digital, flujos de trabajo con firmas digitales, etc.

IP17.jpg 

Resumen

Con la plataforma de colaboración de Microsoft podemos construir soluciones rápidamente y basadas en los productos que ya tenemos implementados en nuestra organización. El éxito radica en como combinamos las capacidades de la plataforma. InfoPath es una posibilidad muy interesante para hacer frente con éxito a escenarios de captura, validación y recopilación de información de una manera abierta y productiva.