
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"). ![]()
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