SharePoint 2010: Introducción a los Document Sets!

Otra de las novedades de SharePoint 2010 es la posibilidad de trabajar con grupos de documentos (algo inviable en SharePoint 2007) como si se tratase de una única unidad de trabajo. Esta unidad de trabajo compuesta por varios documentos es la que en SharePoint 2010 se conoce como Document Sets (Nota: Esta característica únicamente está disponible en SharePoint Server 2010). En la práctica, los Document Sets son un tipo especial de carpetas que disponen de una interfaz de usuario especial en SharePoint 2010, metadatos, comportamientos y un modelo de objetos que facilitan el trabajo con un conjunto de documentos.

Fundamentos de los Document Sets

Para trabajar con Document Sets, SharePoint Server 2010 incorpora:

  • Un tipo de contenido Document Set que se puede configurar como cualquier otro tipo de contenido estándar.
  • Un página de uso de Document Sets.
  • Un modelo de objetos diseñado para trabajar con Document Sets.
  • Versionado de Document Sets independientes del versionado de documentos individuales.
  • Nuevas actividades de workflow para trabajar con Document Sets. Se puede asociar un workflow a un Document Set, ya que de fondo estos son una extensión el objeto SPFolder que admitía estas asociaciones.

Trabajo con Document Sets

Lo primero que tenemos que hacer es activar la característica de Document Sets en un sitio de SharePoint 2010:

  • Nos vamos a la página de administración de la colección de sitios y pinchamos sobre Características de la colección de sitios.
  • En el listado de características buscamos una denominada Conjunto de documentos (estoy trabajando con la versión en español de SharePoint 2010) y la activamos.
  • Lo siguiente que vamos a hacer es crear varios Tipos de Contenido para poder trabajar de forma adecuada con los Document Sets:
    • Creamos dos tipos de contenido de tipo Document y les asociamos dos plantillas de documentos.
    • Creamos un tipo de contenido de tipo Document Set:
      • Elegimos como Tipo de contenido primario: Tipo de contenido del conjunto de documentos.
      • Tipo de contenido primario: Conjunto de documentos.
image image image
  • Le añadimos al Tipo de Contenido de tipo Document Set algunas columnas de trabajo y a través de la opción Configuración del conjunto de documentos:
    • Especificamos que queremos utilizar los dos tipos de contenidos creados en primer lugar.
    • Especificamos el contenido por defecto del Document Set (los dos tipos de contenido creados antes).
    • Añadimos como columnas compartidas las columnas que forman parte del tipo de contenido Document Set.
    • Añadimos las columnas anteriores como columnas de página principal
  • Guardamos todo.
  • Vamos hasta una biblioteca de documentos en la que queramos usar la característica de Document Sets. La configuramos para que utilice el Tipo de Contenido de Document Set creado.
  • Añadimos un elemento a la biblioteca de acuerdo a este Tipo de Contenido (Nota: Cuidado aquí si tenéis una columna de metadatos del Almacén de Términos de SharePoint 2010, os dará un casque curioso).
image image image
  • Una vez se acabe de crear el Document Set, aparece la página de administración del mismo. Básicamente, la idea es que el Document Set se muestra como un contenedor de documentos.
  • Las ventajas de de trabajar con Document Sets son las siguientes:
    • Me permiten trabajar con conjuntos de documentos en formato atómico, es decir, como una unidad.
    • Se le puede asociar a un conjunto de documentos un flujo de trabajo.
    • Soporta versionado que es diferente a las versiones de los documentos contenidos.
    • Soporta metadatos.
    • También se debería poder descargar el contenido del document set en un archivo .zip, pero aparentemente esta opción no está en la beta pública (si lo estaba en la CTP de julio de 2010).

image
Y hasta aquí llega este post sobre los Document Sets de SharePoint 2010.

SharePoint 2010: Extensibilidad de VS 2010 Tools para SharePoint 2010!

Como sabéis, una de los grandes avances en lo que a desarrollo sobre plataforma en SharePoint 2010 se refiere es la disponibilidad de una serie de herramientas integradas en Visual Studio 2010 (VS 2010) que facilitan el desarrollo de distintos tipos de artefactos para SharePoint. Además, gracias a la propia concepción de VS 2010 podemos extender estas herramientas y añadir las nuestras propias. La clave: la tecnología Managed Extensibility Framework incluida como parte de .NET Framework 4.0 que habilita la extensión de VS 2010 y de cualquier aplicativo que la utilice. En el caso de SharePoint 2010, ya tenemos algunas extensiones disponibles y ejemplos disponibles en la red en torno a como podemos extender las herramientas disponibles en VS 2010 para desarrollar en SharePoint 2010. Os dejo un primer recopilatorio de ejemplos y extensiones:

  • Finalmente, os recomiendo el blog del propio Waldek, en el que podéis encontrar un montón de post relativos a la extensibilidad de las herramientas de desarrollo para SharePoint 2010 en VS 2010.

Office 2010: Subir varios documentos a un sitio de SharePoint 2007!

Desde hace unos días tengo instalado la suite de Microsoft Office 2010 y francamente, va bastante bien y sobre la base de Office 2007 Microsoft ha sido capaz de dotar de más funcionalidad y usabilidad a los clásicos Word, Excel o PowerPoint. El caso es que esta mañana me he llevado una pequeña sorpresa en lo que a carga de múltiples documentos se refiere en SharePoint 2007. La interfaz de carga, que depende de la versión de Office instalada, ya no es la misma sino que es nueva (al estilo de la que tenemos en el SkyDrive o en SharePoint 2010, y  se facilita el subir documentos sin más que arrastrarlos a la zona de carga…simplemente muy útil.

image image  image

SharePoint 2010: Duet Enterprise para SharePoint y SAP!

Uno de los últimos blogs que he agregado a mi lista es el blog del equipo de Business Connectivity Services. En este blog podemos encontrar posts relativos al BCS en SharePoint 2010 y también relativos a como hacer más interoperable si cabe a la plataforma. En este sentido me hago eco de una plataforma que ya conocía y que parece que se va a extender para que SAP y SharePoint 2010 sean más interoperables. Se trata de Duet Enterprise para SharePoint y SAP, la idea es la de seguir mejorando la interoperabilidad entre plataforma Microsoft y SAP que se había centrado en Duet (interoperabilidad Outlook – SAP) aprovechando las capacidades del BCS.

image

SharePoint 2010: Uso de los SharePoint REST Services (I)!

Siguiendo con la serie de posts sobre novedades en desarrollo en SharePoint 2010, en esta ocasión toca hablar sobre como podemos usar los servicios REST que expone la plataforma para consumir datos de la misma de forma más sencilla a lo que podíamos hacer en SharePoint 2007 (en cuanto nos salíamos del servidor, sólo nos quedaba la opción de los servicios web. Empecemos.

Los servicios REST de SharePoint 2010

Como os comentaba, dado un sitio de SharePoint 2010 podremos acceder a los datos contenidos a través del correspondiente servicio de ADO.NET Data Services. Para que el servicio funciones sin problemas, necesitáis tener instalada la CTP2 de ADO.NET Data Services. Basta conque pongáis /_vti_bin/ListData.svc">http://<servidor>/_vti_bin/ListData.svc para acceder al servicio y ver las “entidades” con las que podéis jugar para consultar información.

imagePor ejemplo, con /_vti_bin/ListData.svc/Anuncios">http://<servidor>/_vti_bin/ListData.svc/Anuncios accederéis a los anuncios almacenados en la lista el mismo nombre .

Uso de los servicios REST fuera de SharePoint 2010

Usar los servicios REST de SharePoint 2010 fuera del mismo es similar a llamar a un servicio de ADO.NET Data Services convencional que exponga un modelo de entidades de ADO.NET Entity Framework o de LINQ To SQL:

  • Creamos un proyecto de tipo Windows Forms en VS 2010.
  • Añadimos una nueva fuente de datos en VS 2010: Add-> Add New Data Source.  De esta forma se inicia el clásico asistente de datos para crear una nueva fuente de datos.
  • Escogemos que sea de tipo Service o de tipo SharePoint.
  • En la siguiente pantalla especificamos el servicio ADO.NET Data Services de SharePoint 2010.
  • Añadimos al proyecto la referencia a Microsoft.Data.Services.Client y eliminamos la referencia a System.Data.Services.Client (añadida cuando se creó la referencia al servicio).
image image image
  • Diseñamos el formulario, en mi caso en primera instancia consta de:
    • Un botón btnListar para lanzar la consulta al servicio ADO.NET Data Services de SharePoint 2010.
    • Un control de tipo GridView en el que volcar los resultados de la consulta.
  • Diseñado el formulario, ya estamos listos para añadirle la lógica:
    • Añadimos una directiva using al servicio REST.
    • Añadimos una directiva using a System.Net
  • Codificamos el manejador del botón como sigue:
    • Creamos una instancia del objeto Contexto de Datos creado al añadir la referencia al servicio REST de SharePoint. Este objeto espera en el constructor un tipo Uri en el que especificaremos la Url del servicio REST.
    • Especificamos la credenciales de acceso al servicio (Default.Credentials).
    • Especificamos como fuente del control GridView la lista Anuncios expuesta por el servicio REST.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

using SPRESTServices.IntranetServiceReference;

using System.Net;

 

namespace SPRESTServices

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void btnListar_Click(object sender, EventArgs e)

        {

            IntranetDataContext ctx =

                new IntranetDataContext(

                    new Uri("http://pegaso/_vti_bin/ListData.svc&quot;));

            ctx.Credentials =

                CredentialCache.DefaultCredentials;

            grdData.DataSource = ctx.Anuncios.ToList();           

 

        }

    }

}

  • Si ejecutamos el proyecto, el resultado debería ser el siguiente:

image

A continuación, lo que hice fue modificar el formulario para añadirle los controles necesarios para poder insertar datos en la lista utilizando el servicio REST:

  • Un botón btnCreate para insertar datos en una lista de SharePoint a través del servicio.
  • Dos cajas de texto en las que se podrá especificar los datos a insertar en la lista.
  • En el código del manejador del botón simplemente:
    • Creamos una instancia del objeto contexto de datos.
    • Especificamos las credenciales de acceso al servicio.
    • Creamos una instancia de elemento de la lista anuncios.
    • Configuramos las propiedades del elemento.
    • Para añadir el elemento, tendremos que:
      • Llamar al método AddToAnuncios definido en el objeto contexto de datos. Este evento recibe el elemento a añadir.
      • Guardar los cambios llamando a SaveChanges().

        private void btnCreate_Click(object sender, EventArgs e)

        {

            IntranetDataContext ctx =

                new IntranetDataContext(

                    new Uri("http://pegaso/_vti_bin/ListData.svc&quot;));

            ctx.Credentials =

                CredentialCache.DefaultCredentials;  

            AnunciosItem anItem = new AnunciosItem();

            anItem.Título = textBox1.Text;

            anItem.Cuerpo = richTextBox1.Text;

            ctx.AddToAnuncios(anItem);

            ctx.SaveChanges();

        }

Sin más, probamos que la funcionalidad de crear elementos funciona:

image image image

Y hasta aquí llega este primer post sobre el uso de los servicios REST de SharePoint 2010.

Patterns & Practices: Disponible la 2ª Edición de la Microsoft Application Architecture Guide!

Ya tenemos disponible la 2ª Edición de la Microsoft Application Architecture Guide para descarga. Además de este enlace de descarga os dejo otros enlaces relevantes relativos a pattterns & practices:

image