Content Types de Microsoft Windows SharePoint Services V3 y Office 2007

Introducción
En la nueva versión de Windows SharePoint Services v3 contamos con un nuevo mecanismo para mejorar la administración del contenido de nuestra información digital. Content Types es un mecanismo que refuerza tanto del lado del cliente como del lado servidor el establecimiento de propiedades adicionales que describan el tipo de contenido que tenemos almacenado. En este articulo veremos el valor que este mecanismo ofrece para organizaciones que requieren controlar desde el principio la generación del contenido y que además se encuentren geográficamente distribuidas.


Problemáticas de hoy
En un sistema de administración de documentos, es muy común que para efectos de categorización y organización del contenido, hagamos uso de metadatos o propiedades adicionales que representen de mejor manera la información almacenada.  En ambientes donde contamos con oficinas geográficamente distribuidas para una misma organización es común que la generación de contenido digital como archivos de documentos, presentaciones, proyectos, propuestas no se mantenga  organizada  o estructura acorde a una política de plantillas de contenido base generando con esto un descontrol en la forma de estructurar, ordenas y categorizar el contenido. Además es muy probable que cada oficina decida como organizar, almacenar y controlar la información que los empleados generan y desafortunadamente existen usuarios que con la intención de terminar rápidamente su trabajo, no le toman importancia al llenado de la información o metadatos que califiquen a un contenido para organizarlo mejor incluso hay usuario que en ocasiones capturando valores ficticios para terminar pronto y esto a la larga puede causar importantes inconsistencias de la información pero en el peor de los casos desorden en la forma que la gente trabaja, colabora y comparte información. 


Que son los Content Types
En la nueva versión de Windows SharePoint Services V3 se maneja un nuevo enfoque para reforzar el llenado de estas propiedades o metadatos, esto se debe a que cuando se inicia la creación de un nuevo documento proveniente de una biblioteca de documentos, este viaja conteniendo todas las propiedades especificadas en la plantilla y ya sea que estemos en línea conectados en nuestra intranet o fuera de línea, el documento siempre los mantiene y solicitara el llenado de dichas propiedades reforzando con ello el establecimiento de una política organizacional para controlar el contenido digital generado por los empleados de la organización.


Estas propiedades son mostradas en un panel de propiedades llamado ”Property Editor” que se muestra en la parte superior del documento cada vez que el documento es cargado en Office este panel se abre con la intención de facilitar y reforzar la captura de la información.


Los tipos de contenido o “Content Types” son una colección de características o propiedades que representan y se comportan como un objeto de tipo plantilla que puede existir en un servidor Windows SharePoint Services V3 para su asociación/utilización en las bibliotecas de documentos y calificar así cualquier documento de cualquier sub sitio de una colección de sitios. Cuando tenemos una implementación de WSS V3 y contamos con una colección de sitios en donde por cada departamento, área o incluso oficina geográficamente distribuida habilitamos sub sitios y a su vez bibliotecas de documentos públicas, es muy común que se inicie una exorbitante, desmedida y descontrolada creación de documentos, estos pueden ser de cualquier tipo como manuales de entrenamiento, descripciones de puesto, documentos legales, presentaciones, propuestas, etc. y definitivamente nos conviene promover el uso de Content Types para re forzar el establecimiento de las propiedades que califiquen de una manera estructurada cada documento creado en toda la organización, permitiéndonos controlar desde el principio el orden en que el contenido se genera. Está demás decir que con base en esta estructura de propiedades podemos entonces realizar consultas de información cada vez más interesantes.


Puedes pensar en Content Types como:



  • Una mejora importante en la infraestructura SharePoint
  • Permite un manejo de datos heterogéneos para describir y clasificar nuestro contenido
  • Permite el rehúso campos o columnas de información a través de su agrupación y asociación
  • Su administración está basado en herencia permitiendo propagar modificaciones rápidamente
  • Es aplicable a elementos, documentos y carpetas
  • Refuerza validaciones basadas en esquemas y metadatos
  • Nos permite crear políticas de generación de contenido

Un ejemplo practico
Tenemos una colección de sitios de una empresa de servicios de consultoría en donde contamos con una biblioteca de documentos llamada propuesta y es el repositorio principal que los vendedores de esta organización utilizan para almacenar toda la información relacionada con el proceso de creación propuesta.


CT01.jpg



En WSS V3 bajo el contexto que estamos hablando tenemos dos conceptos importantes, Site Columns y Content Type Template.


Site Column Templates son columnas que podemos crear a nivel colección de sitio y que por esa razón pueden ser reutilizadas en cualquier sub sitio en diversas bibliotecas de documentos. Estas columnas las puedes entender como una columna plantilla que en cualquier momento la puedes integrar a cualquier biblioteca de documentos para poder asociar información adicional. En este ejemplo hemos creado tres columnas de tipo Site Column Templates como se ve a continuación:


CT02.jpg


Dos de estas columnas son de tipo Lookup lo cual nos permite hacer que su valor provengan de cualquier lista personalizada creada en este sitio, de tal forma que la columna Cliente representa una lista de clientes que tengo registrados en una lista personalizada de sharepoint y que por crear una columna que provenga de esta lista entonces podremos usar esta columna como un cuadro desplegable que nos permita seleccionar cualquier cliente de esta lista. La lista de clientes la presento a continuación:


CT03.jpg


Los Content Type Templates simplemente son grupos de Site Columns que podemos asociar a cualquier objeto de sharepoint como a una biblioteca de documentos o a un flujo de trabajo.  Esta capacidad realmente nos permite estandarizar el contenido que las personas generan. Veamos a detalle uno de los tres Content Templates que tengo creados.


CT04.jpg


El Content Template ”Documento Propuesta” hereda de otro Content Template llamado “Document” que contiene una propiedad básica llamada “Title”. En otras palabras nuestro “Documento Propuesta” contendrá nuestras columnas y el campo “Title”.


CT05.jpg


Como vemos tenemos que nuestro Content Template “Documento Propuesta” tiene una lista de columnas asociadas a él. Al seleccionar una columna podemos especificar reglas adicionales como columna requerida u opcional como vemos a continuación:


CT06.jpg


En las propiedades avanzadas “Advanced Settings” de nuestro Content Template podemos especificar una plantilla de archivo para que una determinada biblioteca de documentos nos permita utilizar dicha plantilla cuando deseamos crear un nuevo documento de este tipo, en este caso un nuevo documento de tipo Word 2007 ya que tenemos una plantilla *.dotx.


CT08.jpg


Contamos con una interesante opción llamada “Document Information Panel Settings” que nos permite especificar qué tipo de panel de propiedades queremos utilizar.


CT09.jpg


Como vemos, podemos utilizar la plantilla predeterminada para aplicaciones de Microsoft Office en la opción “Use the template for Microsoft Office applications” la cual genera un panel de propiedades base y se presenta en cualquier producto de la familia office.  Sin embargo podemos utilizar un formulario InfoPath para extender la funcionalidad de este panel de propiedades y enriquecer su funcionalidad, reglas e incluso presentación visual, como lo vemos a continuación:


CT10.jpg


Entonces, podemos especificar una plantilla base con el contenido genérico que deseamos tener para crear nuestro contenido, pero, además, podemos asociarle un panel de propiedades basado en nuestro Content Template para extender drásticamente las propiedades que representen o identifiquen a nuestro documento. Funcionalidad interesante ya que con InfoPath podemos programar o configurar reglas, validaciones, vistas adicionales de los datos, consultas, etc. etc. 


Ahora, podemos crear Content Template que heredan el contenido de otros Content Templates así que he decido crear un nuevo Content Template llamado “Documento de Presentación” que hereda las columnas de nuestro Content Template “Documento de Propuesta” y claro podemos sobre escribir algunas de sus propiedades de configuración.


CT11.jpg



Modificaremos las propiedades “Advanced Settings” para asociarle una plantilla de presentación de tipo *.potx en otras palabras una plantilla de presentación Power Point y en la sección de “Document Information Panel Settings” especificaremos el mismo formulario InfoPath para manipulación de las propiedades del documento.


Ya para terminar, lo que vamos a hacer a continuación es asociar estos dos Content Types a nuestra biblioteca de documentos llamada “Propuestas” de tal manera que esta misma biblioteca nos servirá para crear y almacenar contenido de tipo Word y Power Point que aparte de utilizar una plantilla para cada tipo de contenido también contienen las propiedades especificadas en nuestro formulario InfoPath para reforzar la captura de información adicional del lado del cliente y del lado servidor.


CT12.jpg


El resultado que tenemos producto de configurar Content Types en nuestra biblioteca de documentos es el siguiente:


CT13.jpg



Así es,  toda una biblioteca de documento con dos tipos de contenido habilitados, cada uno de ellos con su propia plantilla base y además ambos utilizando el mismo panel de propiedades.


CT14.jpg


Es cuestión tan solo de configurar nuestros nuevos Content Templates para soportar los paquetes adicionales de la familia Office, claro todos con una propia plantilla de documento especializada y compartiendo el mismo panel de propiedades:


CT16.jpg


Es importante mencionar de nuevo que nuestro panel de propiedades funciona también del lado del servidor como lo muestro a continuación:


CT15.jpg


Ya teniendo estas propiedades de cada archivo podemos crear vistas personalizadas que nos permitan mostrar la información de una forma interesante y valiosa para la organización. A continuación vemos a nuestra biblioteca de documentos de “Propuestas” agrupada por el Proyecto y Cliente ofreciéndonos rápidamente identificar nuestro contenido generado.


CT17.jpg


Si por alguna razón deseamos guardar nuestro contenido desde el lado del cliente con Office 2007 sin especificar las propiedades que son requeridas no nos permitirá agregarlos:


CT23.jpg


Yéndonos un paso más allá vamos a guardar como plantilla a nuestra biblioteca de documentos “Propuestas” con la intención de crear sub sitios y reutilizar toda esta funcionalidad configurada. Así que en las propiedades de nuestra biblioteca de documento solamente guardamos como plantilla nuestra biblioteca en la opción “Save document library as a template” y ya con esto tendremos disponible esta plantilla de biblioteca de documentos en cualquier sub sitio de nuestra colección de sitios.


CT21.jpg


O también es factible crear una plantilla de sitio para distribuir nuestra estructura de sitio incluyendo esta biblioteca de documentos para “propuestas”.


CT20.jpg


Ya con nuestra estructura de sitio establecida podemos crear sitios que respetan las reglas y la funcionalidad del sitio base heredándola a nuestros sub sitios. De verdad que es muy poderosa esta capacidad ya que ahora tengo tres sub sitios con la misma funcionalidad de nuestra biblioteca de documentos de propuestas y de esta manera puedo mantener  y reforzar el control de todo el contenido digital generado por la fuerza de ventas de toda la organización y los más interesante es que esta empresa tiene tres oficinas regionales distribuidas geográficamente y con esta funcionalidad en WSS v3 hemos habilitando el uso de las plantillas oficiales establecidas para establecer una política de contenido para el proceso de creación de propuestas de toda esta organización.


CT22.jpg

Firma digital en documentos Office 2007

Introducción
Es un cambio radical el pensar que es factible darle valor y autenticidad a documentos electrónicos a través de la firma digital. Imagina como drásticamente pudiesen agilizar un proceso dándole validez legal al flujo y contenido digital de la información de un sistema. En este articulo hablaremos sobre como la familia de Office 2007 en sus productos Microsoft Word 2007, Microsoft Excel 2007 y Microsoft Power Point 2007 integra el uso de firmas digitales ofreciendo nuevas e interesantes capacidades al respecto.


Problemática de negocio
He tenido la oportunidad de experimentar procesos legales donde una serie de entidades geográficamente distribuidas tienen que colaborar en tiempo real para integrar todo un expediente a través de dictámenes, estudios y oficios. La mayoría de estos procesos fluyen de forma manual y su validez legal está sustentada con el uso de firmas físicas y sellos oficiales emitidos por instituciones. Imagina entonces como las tecnologías de información pudiesen mantener todo ese respaldo legal pero de manera digital, estoy seguro que tendríamos un avance importante en la rapidez y eficiencia. Aquí es donde entra el concepto de firma digital. Ahora, no es nuevo el concepto, pero hasta ahora y debido a su naturaleza ha sido complejo materializarlo ya que para darle validez legal a la firma digital se requiere modificar la ley y además el cambio cultural de lo que significa firmar digitalmente por su naturaleza no es del todo aceptado. Hoy con la familia de productos de Office 2007 este concepto tomara vuelo y gran relevancia en la industria y esperamos impulse esta tendencia en nuestro país, pero sobre todo, mejore dramáticamente a cualquier entidad que lo implemente.


¿Qué es una firma digital?
El concepto de firma digital se refiere a que un documento electrónico lo puedes firmar digitalmente tal como firmas un documento impreso. La firma digital la utilizamos para autentificar información digital, al decir autentificar hablamos del proceso que verifica que realmente eres quien dices ser y gracias a ello podemos confirmar el origen y la integridad de la información.  Las firmas digitales nos permiten garantizar la:



  • Autenticidad: que la persona que firma es quien dice ser.
  • Integridad: que el contenido no se ha cambiado y manipulado desde que se firmo digitalmente.
  • Evidencia: ayuda a probar el origen del contenido firmado. Por “evidencia” me refiero al hecho de que una persona que firmo ya no puede negar que él lo hizo o deslindarse de esa responsabilidad.

Entonces, simplemente imagina estas capacidades para mejorar tus procesos. Verdaderamente valioso.


Veamos un ejemplo
Veamos un ejemplo, en un sistema de calidad como ISO 9000 cada documento generado requiere de la firma de las personas que revisan, aprueban y autorizan una versión controlada de un documento.  Uno de los principales documentos de esta norma y que disparan su arranque es el documento de Objetivos de Calidad. Este documento resume en si el compromiso con la calidad del equipo gerencial por esa razón requiere ser firmado por ellos.


FD01.jpg 
En este caso Microsoft Word 2007 contiene un nuevo objeto llamado Línea de Firma. Este objeto inserta una línea de firma que especifique el nombre de la persona que firma un documento. Este objeto usa el certificado digital para emitido por una autoridad certificadora. Enel Ribbon “Insertar” seleccionamos la opción “Linea de Firma” ubicado en la sección “Texto”.


FD02.jpg 


Lo que haremos a continuación es agregar tres líneas de firma en las celdas de la tabla. Al dar clic sobre la opción nos aparece el siguiente cuadro de dialogo:


FD05.jpg 


Al capturar esta información nuestro documento tendrá una línea de firma configurada. 


FD06.jpg 


Agregamos dos líneas de firma en las celdas adicionales y realizamos el proceso de firmado del documento. Solo damos clic derecho sobre la línea de firma y nos aparecerá el menú contextual con la opción de Firmar.


FD07.jpg 


Al seleccionar esta opción nos aparece otro cuadro de dialogo que nos permitirá hacer varias cosas interesantes.


FD08.jpg 


Podemos cambiar la firma digital que vamos a utilizar para firmar el documento. Simplemente seleccionamos el botón Cambiar y nos aparecerá el cuadro de dialogo de Windows que muestra las firmas instaladas en nuestro equipo.


FD09.jpg 


Podemos consultar la información de nuestro certificado para ver qué entidad certificadora lo emitió y algunos metadatos adicionales como la fecha de vencimiento. 


FD10.jpg 


Además podemos seleccionar una imagen para representar nuestra firma. 


FD11.jpg 


Al dar clic en el botón firmar se crea y asocia la primer firma en el documento:


FD12.jpg 


Se notifica que la firma ha sido agregada correctamente al documento. Además se da una advertencia adicional como vemos a continuación:


FD13.jpg 


Justo al aceptar este cuadro de dialogo, Microsoft Word 2007 se encarga de mostrar un panel de propiedades con la información de las firmas que faltan de realizarse y las que ya se efectuaron:


FD14.jpg 

Al cerrar el documento y volverlo a cargar Microsoft Word 2007 se encarga de verificar todas las firmas del documento.

FD15.jpg 


Cabe mencionar que todas  las opciones de Word 2007 se bloquean impidiendo que se modifique el contenido. Cada persona encargada de plasmar su firma deberá acceder al mismo documento y utilizando su certificado digital podrá realizar el proceso de autentificación y es por ello que entonces podrá firmar. 


FD18.jpg 


Aparece la fecha de cuando se firmó el documento y en este caso las personas que faltan de firmar. Con este sencillo ejemplo vemos cómo integrar firmas digitales. En cualquier momento puedes enviar por correo electrónico este documento solicitando que la persona correspondiente. La información de las firmas viaja con el documento.


Para habilitar este tipo de funcionalidad requerimos contar con diversas tecnologías de la familia Microsoft pero resumiendo necesitamos levantar uno de los servicios de Windows Server 2003 y manejar el concepto de PKI (Public Key Infrastructure) lo cual nos permite el intercambio de información con seguridad reforzada sobre Internet, extranet y aplicaciones.


Si quires conocer como Windows Server 2003 y Windows XP puede implementar estos conceptos te recomiendo que veas este articulo llamado PKI Enhancements in Windows XP Professional and Windows Server 2003. Windows Server 2003 cuenta con el servicio llamado “Certificate Authority” el cual es un emisor de certificados digitales integrado en el sistema operativo que en conjunto con el servidor tu dominio puedes emitir para cada usuario en especifico un certificado digital el cual él puede utilizar para firmar documentos y ejecutar otras operaciones que necesiten reforzar la seguridad del intercambio de información.


Así como tu cuentas con una credencial de plástico que representa tu identidad y que otras instituciones la reconocen como una credencial oficial, en el mundo de las autoridades de certificados existe el concepto de relaciones de confianza donde un emisor de certificados puede reconocer y confiar en certificados de otras instituciones. Dado esto, imagínate el mundo de soluciones que puedes habilitar. Cabe mencionar que sobre la versión de Office System 2003 ya podemos contar con estas capacidades también.


Sabemos también que una de las tendencias del software es la adopción  y uso de la identidad digital, lo que en la actualidad tenemos ha sido un considerable esfuerzo del cual organizaciones especialmente gobiernos se han beneficiado drásticamente al agilizar procesos mediante el uso de certificados digitales y tecnologías que los soportan. En la nueva versión del sistema operativo Windows “Windows Vista” y del servidor “Windows Longhorn Server” contamos con una propuesta que indudablemente se alinea al concepto de la firma digital, hablo de “CardSpace” y te dejo el link http://cardspace.netfx3.com/

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.

C# Code Snippets

Primero busca en tu colección de code snippets para ver si cuentas con la funcionalidad que andas buscando. Y estoy seguro que una vez que instales los siguientes code snippets encontraras lo que buscas sin tener que acceder a internet, son más de 400 y todos para C#.

 

Information Worker Sales Tool

Justamente ahorita que tenemos liberados prácticamente toda una nueva plataforma de colaboración es cuando nos preguntamos las diferencias entre los productos anteriores y los nuevos. Además para los que nos dedicamos a mostrar el valor de negocio de estas tecnologías nos surgen dudas adicionales como aspectos de migración, costos y que soluciones de negocio resuelve una determinada tecnología.

El Information Worker Sales Tool es una herramienta que nos han puesto a los Partners de Microsoft para apoyarnos en el entendimiento de las potencialidades del producto y de las posibilidades de adquisición. Vale la pena descargarla y utilizarla como recurso contextual y de venta, contiene escenarios de solución, especificaciones, requerimientos, paquetes de licenciamiento en fin una buena base de contenido de venta.

Enjoy!

Centros de Recursos por Industria, excelente trabajo!

Hay que explotar al máximo la plataforma. Microsoft ha liberado al mercado su propuesta para seguir construyendo una TI que beneficie a todos los actores de la vida empresarial. Desarrolladores, administradores de infraestructura y trabajadores del conocimiento. Sin embargo, algunos esfuerzos de Microsoft están yendo más lejos ya que no nada más se están enfocando en los profesionales si no también en los sectores del negocio. Así que ha creado un conjunto de centros por sector que a mi consideración valen mucho la pena para profesionales que ofrecen soluciones de negocio. Comparto los links y estoy seguro te serán de utilidad.

Disfrútalos!!