Como crear una Característica y manejar los eventos en Visual Studio 2008.

En este artículo vamos a ver cómo podemos crear una característica para Sharepoint 2007 y poder manjar los eventos que se disparan. Para crear los proyectos estoy usando la última versión del componente WSPBuilder que se lo pueden descargar de Codeplex.
Lo primero que tenemos que hacer es crear un proyecto usando el template del WSPBuilder en blanco. Una vez creado, nos pareamos sobre el proyecto y seleccionamos la opción agregar nuevo elemento al proyecto y dentro de las plantillas del WSPBuilder tendremos una opción que es crear característica (Feature) en blanco, el proyecto nos debería quedar como se ve en la imagen 1

[Imagen 1]
1_Proyecto

El próximo paso será crear una clase en la raíz del proyecto, como podemos ver en la imagen 1 y la misma deberá heredar de la clase base de Sharepoint SPFeatureReceiver. Esta clase tiene la declaración para los 4 eventos que deberíamos implementar. En la sección 2 vemos el código de la clase completa.

[Sección 2]

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;

namespace Siderys.Blog.Feature.FeatureEvents
{
    public class FeatureEventsClass: SPFeatureReceiver
    {
        public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            //Develop here the code needed when the feature will be activating
            throw new NotImplementedException();
        }

        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {
            //Develop here the code needed when the feature will be deactivating
            throw new NotImplementedException();
        }

        public override void FeatureInstalled(SPFeatureReceiverProperties properties)
        {
            //Develop here the code needed when the feature will be installing
            throw new NotImplementedException();
        }

        public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
        {
            //Develop here the code needed when the feature will be unistalling
            throw new NotImplementedException();
        }
    }
}

Por último nos queda modificar el archivo XML feature.xml donde tenemos la declaración de nuestra característica y donde se puede ver dos nodos, uno haciendo referencia al ensamblado que tiene la clase y el otro a la calase que implementa los eventos. En la sección 3 podemos ver el código completo para el archivo XML.

[Sección 3]

<Feature  Id="e3954709-8993-417e-b8e8-9a5b3bca44aa"
          Title="FeatureEventsFired"
          Description="FeatureEventsFired"
          Version="12.0.0.0"
          Hidden="FALSE"
          Scope="Web"
          DefaultResourceFile="core"
          ReceiverAssembly="Siderys.Blog.Feature.FeatureEvents,Version=1.0.0.0, Culture=neutral, PublicKeyToken=711eed342842acee"
          ReceiverClass="Siderys.Blog.Feature.FeatureEvents.FeatureEventsClass"
          xmlns="http://schemas.microsoft.com/sharepoint/">
  <ElementManifests>
    <ElementManifest Location="elements.xml"/>    
  </ElementManifests>
</Feature>

Una vez instalemos, desinstalemos, activemos o desactivemos nuestra características los eventos se dispararán.

Descargar el código completo

2_Skydrive

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *