Desarrollo de Características

El Modelo de Objetos de SharePoint provee todas las clases y métodos necesarios para enumerar y controlar Características de una forma programática. Utilizando el Modelo de Objetos se pueden ver y modificar las propiedades de una Característica.

Las clases principales para trabajar con Características son las siguientes:

  • SPFeature y SPFeatureCollection: Representa una Característica y la colección de Características presentes en un Sitio o Web. Determina si la Característica esta activada o no, su alcance (Scope) y su colección de propiedades (del tipo "SPFeatureProperty"). Por medio de la colección SPFeatureCollection se pueden instalar Características programáticamente (métodos "Add" y "Remove"), y por medio de SPFeature se pueden activar y desactivar (métodos "Activate" y "Deactivate").
  • Explorador de Objetos de Visual Studio con el Modelo de Objetos para Características

    Figura 1: Explorador de Objetos de Visual Studio con el Modelo de Objetos para Características

  • SPFeatureProperty y SPFeaturePropoertyCollection: Representa una propiedad y la colección de propiedades de una Característica
  • SPFeatureDependency y SPFeatureDependencyCollection: Representa las dependencias de una Característica. Una Característica puede depender de una o mas Características para poder realizar su trabajo (y poder ser activada). Las dependencias se pueden definir en el archivo "Feature.xml", o, programáticamente, por medio de estas clases.
  • Las clases de nivel superior "SPSite" y "SPWeb" contienen propiedades para enumerar las Características del Sitio o del Web. El siguiente ejemplo enumera todas las Características presentes en un sitio determinado por el contexto:


    SPSite miSite = SPControl.GetContextSite(Context); SPWeb miWeb = miSite.OpenWeb(); SPFeatureCollection misFeatures = miWeb.Features; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(3082); foreach (SPFeature miFeature in misFeatures) { Response.Write("Title: " + miFeature.Definition.GetTitle(cultureInfo) + "<BR>ID:" + miFeature.DefinitionId.ToString() + "<BR><BR>"); }

    Las Características activan eventos cuando su estado es cambiado, es decir, cuando son instaladas, activadas, desactivadas o desinstaladas. Por medio de estos eventos se puede controlar programáticamente que ha sucedido con una Característica, pero como los eventos son lanzados posteriormente a la acción misma, es imposible cancelar o cambiar la acción que originó el evento.

    Dos clases del Modelo de Objetos controlan los eventos generados por Características:

  • SPFeatureReceiver: Clase de Base Abstracta que puede ser sobrescrita para atrapar los eventos que ocurren en la instalación, activación, desactivación o desinstalación.
  • SPFeatureReceiverProperties: Contiene las propiedades del evento generado, como, por ejemplo, la definición de la Característica, a que objeto pertenece, etc.
  • Video

    Indicaciones sobre la utilización del Modelo de Objetos de SharePoint son dados en el video. Como programar los eventos de una Característica, y alguna posible utilización.
    Duración: 8:12 minutos