Jorge Dieguez Blog

Tecnologías de colaboración

[SharePoint] Controlar la Navegación

SharePoint es un producto muy fácil de usar:-). El mapa de navegación se va creando de forma automática según el usuario con permisos para ello va añadiendo nuevos subisteis y contenidos. Además desde el la página de "Accione de Sitio" es fácil configurar la navegación, añadiendo o modificando enlaces.
image

El menú de navegación(superior y lateral), el control de la miga de pan se "conectan" con el mapa de navegación para reflejar los items que lo componen.
image

El mapa de navegación se puede manipular de forma programática: recuperar, añadir, modificar o quitar entradas.
Todo esto se hace por medio de la clase SPNavigation.
En este enlace podemos muchos ejemplo de como modificar programáticamente la navegación:
HOW TO: Programmatically customize site navigation in WSS 3.0 and MOSS 2007.
Es muy habitual que las aplicaciones que construyamos sobre SharePoint, añadan nuevas entradas en el mapa del sitio. Esto se puede hacer por medio de las características(features) y con la ayuda de los eventos de activación/desactivación.

Otra interesante característica de SharePoint(en realidad de ASP.NET) es la posibilidad de cambiar el proveedor del mapa de sitio(SiteMapProvider).
Un proveedor de mapa de sitio es una clase que extiende la clase SPSiteMapProvider/PortalSiteMapProvider(el último para MOSS), en el método GetChildNodes se construye la colección de nodos que componen el mapa de navegación.
En el fichero web.config de la aplicación web SharePoint podemos "enganchar" nuestros proveedores de mapa de sitio y de esta forma personalizar el origen donde se almacenan los nodos.
Un ejemplo de uso de esta característica es almacenar la navegación en una lista de SharePoint, o incluso generar el mapa de navegación con los títulos en el idioma correspondiente al  "idioma actual"(para un sitio multi-idioma).
En el siguiente enlace podemos ver un ejemplo interesante:
Writing a Custom Navigation Provider for MOSS.

En el caso de personalizar el proveedor de mapa de sitio no os olvidéis de optimizar el rendimiento usando técnicas de caché(el proveedor de MOSS ya esta optimizado en este sentido).

Posted: 30/11/2008 19:50 por Jorge Dieguez | con 1 comment(s) |
Archivado en: ,
Comparte este post: