WSS 3.0 & MOSS: Feature Object Model!

Cómo sabéis, una de las características más importante de la plataforma SharePoint son las llamadas features (o características) que nos permite desplegar de forma modular muchos de los componentes propios de la plataforma como web parts, workflows, manejadores de eventos, etc. Estas features añaden funcionalidad a distintos niveles dependiendo de su ámbito: granja, web application, site collection y site.

image image image

Además de poder visualizar las features que tenemos desplegadas mediante la interfaz de usuario, SharePoint nos proporciona del correspondiente modelo de objetos para poder acceder de manera programática a dichas features:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Microsoft.SharePoint;

using System.Globalization;

 

namespace SharePoint_Features_List

{

    class Program

    {

        static void Main(string[] args)

        {

            SPSite spsSiteCollection = new SPSite("http://litwaredemo");

            SPWeb spwSite=spsSiteCollection.RootWeb;

            SPFeatureCollection spfSiteFeatures =spwSite.Features;

            CultureInfo ciCulture = new CultureInfo(1033);

            foreach (SPFeature spfFeature in spfSiteFeatures)

            {

                                            Console.WriteLine("Feature: {0}, ID: {1}",

                        spfFeature.Definition.GetTitle(ciCulture),

                        spfFeature.DefinitionId.ToString());

            }

            Console.ReadLine();

        }

    }

}

Lo que estamos haciendo con el código anterior es:

  • Acceder a la colección de features de nuestra colección de sitios a partir de una instancia de SPFeatureCollection.
  • Para cada feature en la colleción, mostramos su título.

La correspondiente salida por pantalla es la que se muestra a continuación.

image

Sin más, hasta aquí llega este pequeño post sobre como podemos acceder las features de SharePoint a través del modelo de objetos. Por supuesto, esta es sólo una pequeña parte de todo lo que permite. Espero que el post os resulte interesante.

ADO.NET Data Services CTP 1.5 y primera Alfa del proyecto Astoria Offline!

Como de esto me va a tocar probar alguna cosa, os cuento que ya tenemos disponible la primera versión medianamente (alfa en este caso) trasteable del proyecto Astoria Offline cuyos primeros fundamentos fueron presentados en el pasado PDC 2008 en Los Ángeles (más en concreto por Pablo Castro, sesión en la que estuve presente y que dejó a la audiencia con la boca abierta). Esta primera Alfa de Astoria Offline, que os podéis descargar desde este enlace, se ha liberado para que la comunidad la pueda probar y dar su opinión en torno a la misma…para los no iniciados y muy brevemente, Astoria Offline es la versión de ADO.NET Data Services (conocido inicialmente como Astoria) que estará preparada (si ve la luz) para permitir escenarios de trabajos con datos en modo desconectados.

Por otro lado, aprovecho este post para comentaros que desde la semana pasada tenemos disponible la CTP 1.5 de ADO.NET Data Services y que el equipo está trabajando a tope para liberar lo antes posible la RTM de ADO.NET Data Services.

Un poco de interoperabilidad:Eclipse Tools para Silverlight!

Dentro del esfuerzo que Microsoft está realizando en torno a la interoperabilidad de aplicaciones, Somasegar acaba de anunciar en su blog el soporte de Silverlight por parte de Eclipse. La idea, claro está, consiste en poder utilizar la potencia de Silverlight en aplicaciones web existentes que estén asentadas sobre la plataforma Java…sin duda una gran noticia que contribuirá a una mayor adopción de Silverlight, y que además marcará aún más su carácter multiplataforma. Las tools son en realidad un plug-in desarrollado por Soyatec (compañía francesa miembro del Eclipse Foundation) y Microsoft como parte de un proyecto open source pensado para aprovechar las capacidades de Silverlight dentro de Eclipse.

En cuanto a las capacidades de este plug-in (denominado Eclipse4SL):

  • Generación vía asistente de las siguientes plantillas de proyecto:
    • Silverlight.
    • Silverlight web.
    • Componente UI.
    • Importación de proyecto de Visual Studio en Eclipse.
  • Editor de código y visor de XAML:
    • Preview del código en memoria.
    • Completado de código.
    • Drag and drop desde la paleta de Eclipse.
    • Generación de código C# y sincronización.
    • Formateo de código.