> # WebParts

> WebParts son componentes reusables que pueden ser instalados en páginas de SharePoint. Las partes para Anuncios, Eventos y Tareas que se encuentran en un Portal por defecto son todas WebParts que muestran datos de Listas y Librerías. Estos componentes pueden ser instalados y/o cambiados de sitio por un Administrador a un nivel de Portal o Sitio general, o por usuarios en un nivel de vista personal, permitiendo la personalización de los sitios.

> WebParts primero aparecieron como componentes de SharePoint 2001, y desde la aparición del FrameWork 2.0 de DotNet se pueden utilizar para cualquier aplicación aspx. A partir de SharePoint 2003, WebParts han sido la tarea de programación más popular para personalizar a SPS.

> Por cuestiones de compatibilidad con SharePoint 2003 (las WebParts desarrolladas para SPS 2003 se pueden utilizar con WSS y MOSS 2007), ahora hay dos estilos diferentes de WebParts:

> - Las WebParts que dependen de Microsoft.SharePoint.dll y deben heredar de la clase base "WebPart" en el NameSpace Microsoft.SharePoint.WebPartPages, que funcionan con SharePoint 2003 y 2007

> - Las WebParts que dependen de System.Web.dll y deben heredar de la clase base "WebPart" en el NameSpace Syste.Web.UI.WebControls.WebParts para WSS y MOSS 2007.

> ### Figura 1: Menú de instalación de WebParts en un Sitio

> En el FrameWork 2.0 de DotNet, WebParts residen en páginas ASP.Net que contienen una sola instancia del control WebPartManager y uno o más controles del tipo WebPartZone. El WebPartManager es responsable por la serialización de los datos y por el manejo de información desde y hacia la Base de Datos que los contienen. Los controles WebPartZone son los contenedores finales de las WebParts, y definen los sitios en donde ellas pueden ser instaladas.

> SharePoint se encarga del trabajo de definición del manager y las zonas. Normalmente, el manager esta definido en la Pagina Maestra, y es valido para todo el Portal; esta pagina utiliza el SPWebPartManager, que hereda de la clase manager original de ASP.NET 2.0, y que se encarga de añadir la infraestructura de catálogos y editores necesarios para la configuración de las WebParts. Instancias de los controles para las zonas son definidas normalmente en las páginas de contenido.

> Aunque WSS y MOSS pueden usar WebParts de SharePoint 2003, la manera preferida para desarrollarlas es con Visual Studio 2005 y el FrameWork 2.0. El proceso de desarrollo incluye la creación de una clase que herede del correcto NameSpace y que sobrescriba su método "Render". La creación de un archivo de definición dwp (que en el FrameWork 2.0 utilizan la extension .webpart) también puede ser necesaria (aunque no indispensable si la WebPart se instala manualmente), lo mismo que la creación de un nombre seguro.

> La instalación de la WebPart se puede realizar manualmente registrando el ensamblado en el Global Assembly Cache (GAC) o en el directorio Bin del sitio virtual de IIS, la modificación del archivo web.config respectivo para definir la WebPart como un componente seguro para el sistema y agregando la WebPart en la Galería de WebParts, o importándola directamente en la pagina escogida. Otra forma de instalación es por medio de un proyecto de instalación del tipo cab y la herramienta de administración de SharePoint "stsadm.exe"; este es el metodo indicado para distribuir la WebPart a servidores de producción.

> ### Figura 2: Galeria de WebParts disponibles en un Sitio

> ## Video

> El video presenta los pasos necesarios para crear una WebPart y configurar el servidor para instalarla en la Galería de WebParts del sitio, asi como su utilización en el Portal. También se dan instrucciones sobre como depurar el código de la WebPart.
> Duración: 8:52 minutos