Check-out múltiple automático en SharePoint 2007

Uno de los múltiples usos que ofrece la plataforma SharePoint es el de gestor documental. Si en nuestra empresa vamos a trabajar con SharePoint con esta finalidad, es necesario tener claro cuales son las características, y funcionalidades que queremos que presenten nuestras bibliotecas. Uno de los aspectos a tener en cuenta, es la posibilidad de realizar versionado de documentos, y la protección/desprotección de los mismos. Si esto último no es algo que nos preocupe excesivamente, lo primero que debemos hacer es desactivar dicha opción, de esta forma evitaremos trabajo “manual” posterior.

image

Sin embargo, si queremos que la característica de protección/desprotección este activada, ya que aporta integridad a nuestros documentos, debemos tener cuidado con una acción que realizamos de forma cotidiana. Cuando trabajamos con gran cantidad de documentos, tendemos a usar herramientas que simplifican el cargado de los mismos en nuestra plataforma(intranet, extranet, sitio web…) como puede ser la “subida masiva” mediante la opción Abrir en Windows Explorer.

image 

Cuando realizamos esta operación, los documentos adjuntados se encuentran desprotegidos, y por lo tanto inaccesibles al resto de los usuarios. De forma que para que sean visibles, sería necesario ir protegiéndolos uno a uno, por lo tanto el tiempo que hemos ahorrado con la subida masiva…ya no es tanto. Entonces  ¿cómo podemos hacer este proceso de forma automática?  Una de las opciones sería utilizar un flujo de trabajo, que se lance cada vez que añadamos un elemento a nuestra biblioteca y que se encargue de realizar el check in de manera automática. Esto se podría implementar mediante un flujo diseñado con SharePoint Designer:

image

O a través de un elemento web personalizado, usando la librería propia de SharePoint(Microsoft.SharePoint), donde podemos encontrar la clase SPFile, que nos permite trabajar con archivos. Esta, cuenta con el método CheckIn, que nos permite realizar la protección de archivos programáticamente. El código a implementar sería el siguiente:

image 

*Este código se puede adaptar indicando la colección de sitios, los sitios, o las bibliotecas específicas, en función de cada caso concreto.

Aunque es algo sencillito, espero que os sirva de ayuda, ya que es una duda que se repite bastante:)