martes, 6 de octubre de 2009

Introducción a características (features) de Sharepoint – Parte 1

La feature es una funcionalidad de WSS 3.0 orientada al desarrollador. Permite definir elementos de sitio y agregarlos al sitio a través del proceso denominado "activación". ¿Qué tipos de elementos permite definir? Comandos de menú, plantillas de páginas, instancias de páginas, definiciones de listas, eventos, workflows entre otros.

Para crear una feature se necesita crear un archivo XML denominado "feature.xml":

Feature.xml

<Feature

Id=""
Title="Mi primera feature"
Description="Esta es la primera feature que desarrollo"
Scope="Web"
Hidden="FALSE"
ImageUrl="...gif"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml" />
</ElementManifests>
</Feature>

Los atributos básicos de este XML son:

  • Id: GUID de la característica. Puede ser creado con la aplicación "Create GUID".
  • Scope: una característica se activa o desactiva dentro del alcance definido por el scope: Web / Site / WebApplication / Farm.
  • Hidden: este atributo hará que la característica no sea visible por los usuarios y por lo tanto deberá ser activada en forma obligatoria desde la línea de comandos.
  • ElementManifiest: contiene los elementos que define esta característica. Lo veremos más adelante.

Más información en MSDN: Trabajo con características y MSDN: Archivos Feature.xml.

Elements.xml

Veamos un ejemplo de elements.xml en el que definimos una custom action para el menú "Site Actions".

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="SiteActionsToolbar"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="100"
Title="Mi primera accion"
Description="una acción de ejemplo"
ImageUrl="...gif" >
<UrlAction Url ="/_layouts/SampleUrl.aspx"/>
</CustomAction>
</Elements>

Esta característica agregará la custom action. Los atríbutos más importantes del XML son:

  • Sequence: especifica la prioridad de ordenamiento.
  • URLAction: la URL de la página que es llamada desde la acción personalizada.

Más información en MSDN: Creación de una característica simple y MSDN: Elemento CustomAction (Acción personalizada).


Instalar la característica

Para instalar una característica se deben realizar dos pasos:

  • Instalación
  • Activación

Esto se describe en otro artículo: surpoint: Instalando una feature en sharepoint.

Agregando un evento a una característica

Avancemos un poco más y veamos como agregar un evento a una característica, evento que se ejecutará cuando la característica de active por ejemplo.

using System;
using Microsoft.SharePoint;
namespace surpoint{
public class FeatureReceiver : SPFeatureReceiver {
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb site = SPContext.Current.Web;
site.ApplyTheme("Wheat");
site.Update();
}

Esta característica modifica el tema de SharePoint en el momento en que la característica es activada. Para que funcione correctamente, debe modificarse el archivo "feature.xml" como se indica a continuación:

<Feature

Id=""
Title="Mi primera feature"
Description="Esta es la primera feature que desarrollo"
Version="1.0.0.0"
Scope="Web"
Hidden="FALSE"
ImageUrl="...gif"
ReceiverAssembly="surpoint, Version=1.0.0.0, Culture=neutral, PublicKeyToken=..."
ReceiverClass="surpoint.FeatureReciever"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml" />
</ElementManifests>
</Feature>

Es importante realizar un ISSRESET porque los ensamblados instalados en la GAC están cacheados.

Más información en:

Creando un control delegado

La forma de crear una característica con un control delegado se describe en otro artículo: surpoint: Mi primer "delegate control".

Hasta aquí la parte 1. Que la disfruten y en breve la parte 2…

0 comentarios:

Publicar un comentario en la entrada