Diferentes tipos de páginas de SharePoint
En este post me gustaría repasar los distintos tipos de páginas que pueden existir(componer) en un site construido con tecnología SharePoint.
Los diferentes tipos de páginas de un sitio SharePoint son:
- Páginas Maestras: Estas páginas sirve de base para construir otro tipo de páginas(de aplicación, de sitio, de publicación), permiten compartir una estructura o aspecto en diferentes páginas.
- Páginas de Aplicación : Proporcionan el interfase de usuario(UI) para la administración y la configuración de los elementos de SharePoint(configurar el sitio, configurar la colección de sitios, administrar la seguridad y los usuarios, etc.)
- Páginas de Sitio: Son las páginas que permiten al usuario final consumir los contenidos y servicios de un sitio SharePoint.
- Páginas de Publicación: Páginas especiales para permitir la publicación de contenidos basados en plantilla(este tipo de páginas solo esta presenta en los sitios de Publicación de MOSS).
A continuación y de forma muy breve describiré las principales características de cada uno de los tipos de página.
Para conocer con mayor detalle este tema es muy interesante acudir al libro de Ted Patison "Inside Microsoft Windows SharePoint Services 3.0"
Páginas Maestras
El concepto de páginas maestras procede del framework ASP.NET 2.
http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx
Una página maestra contiene el marcado ASPX que configura el diseño de la página y los elementos de presentación que desea repetir en varias páginas de un sitio.
Utilizar páginas maestras para los elementos comunes le proporciona a su sitio un aspecto más coherente. También le permite crear y actualizar estos elementos en un lugar, en lugar de cambiarlo en todas las páginas Web.
Las páginas maestras de SharePoint contienen los elementos tales como: menú de navegación superior y lateral, referencia a las hojas de estilo CSS estándar, caja de búsqueda, logotipo del sitio. La página maestra por defecto se encuentra en la siguiente rutra:/_catalogs/masterpage/default.master.

Las páginas maestras de SharePoint pueden ser personalizadas por medio de SharePoint Designer, otra de las opciones es provisionar la página maestra con ayuda de una característica(aprovisionado la nueva página maestra en el catalogo de páginas maestras):
<Module Name="MasterPages" List="116" Url="_catalogs/masterpage">
<File Url="Litware.master" Type="GhostableInLibrary" />
</Module>
Como funcionan las páginas maestras(un ejemplo)
Las páginas maestras son páginas ASP.NET que contienen la etiquetas habituales (head, body, etc), además contienen las secciones (huecos) ContentsPlaceHolder
Las páginas de contenido se enlazan a la página maestra por medio del atributo MasterPageFile.
Las páginas de contenido rellenan los huecos de la páginas maestras con ayuda de las etiquetas Content, el atributo ContentPlaceHolderId permite enlazar el contenido de la página de contenido con el hueco en la pagina maestra.
Referencias de interés:
http://www.sharepointblogs.com/bart/archive/2006/04/09/5828.aspx
http://msdn.microsoft.com/en-us/library/aa660698.aspx
Páginas de aplicación
Estas páginas se utilizan para proporcionar funcionalidades de administración(crear una nueva página, crear un nuevo sitio, configuración del sitio).
Definición en MSDN : "Application _layouts Page Type"
Este tipo de páginas solo se debería de utilizar para proporcionar herramientas de back-office o de infraestructura para nuestra aplicaciones, nunca para proporcionar funcionalidad, contenido o servicios a los usuarios finales.
Tampoco se deben modificar las páginas que vienen por defecto ya que se podemos tener problemas posteriores(aplicacion de nuevos Service Packs, soporte al producto, etc.)
Estas páginas se alojan en una carpeta del sistema de archivos(12\TEMPLATES\LAYOUTS) de los servidores frontales de SharePoint(veremos mas adelante que existen páginas SharePoint que se alojan en base de datos).
La principal característica de este tipo de páginas es que tienen un rendimiento muy bueno(al no estar alojadas en base de datos).
Otro característica importante es que estas páginas se comparten para todos los sitios SharePoint de una granja.
Además estas páginas no pueden ser personalizadas(customized) ni pueden contener WebParts.
Todas las páginas de aplicación utilizan la misma página maestra: ~/_layouts/application.master
Referencias de interés
http://msdn.microsoft.com/en-us/library/bb892187.aspx
http://graegert.com/?p=505
Páginas de sitio
Estas son las páginas que permiten a los usuarios del sitio acceder a los contenidos o servicios del mismo.
Por ejemplo al crear un nuevo sitio con la plantilla "Sitio en blanco" se crea una página de sitio "default.aspx".
Las páginas del sitio se pueden almacenar en:
- El sistema de archivos del servidor frontal: En este caso estas páginas se denominan "uncustomized". Por ejemplo la página default.aspx del sitio en blanco por defecto se encuentra en la carpeta: 12\TEMPLATES\Site Templates\sts
- En base de datos: Si el fichero default.aspx se modifica con SharePoint Designer, SharePoint realiza una copia del mismo y lo aloja en la base de datos de contenido. A los ficheros que se han modificado de esta forma se les denomina "customized"(esta customizacion no tiene nada que ver con la los WebParts, al modificar las propiedades de las WebParts de una página "uncustomized" no la copiamos a la base de datos, ni la hacemos "customized").
Mas información sobre customized/uncustumized en este enlace:
http://msdn.microsoft.com/en-us/library/cc406685.aspx
Esta claro que las páginas no-customizadas tienen mucho mejor rendimiento, por otro lado la customizacion con ayuda del SharePoint Designer permite un de forma rápida y visual añadir funcionalidades y contenidos al sitio SharePoint.
Lo mejor es utilizar SharePoint Designre para realizar el prototipo, probarlo en páginas "customized" y luego pasarlo al formato "uncustomized" utilizando las "características", en el siguiente link mi amigo Mario Cortés explica este método: http://mariocortesflores.blogspot.com/2008/11/page-templates-con-ayuda-del-sharepoint.html
Otro detalle interesante para tener en cuenta es que una página de sitio uncustomized puede servir de plantilla para múltiples url's.
Por ejemplo la página default.aspx puede servir de plantilla para miles de sitios que la contienen como página de inicio(luego cada uno de los sitios la puede personalizar con SharePointDesigner- conviertiendola en customized, o probándola de diferentes WebParts)