domingo, 11 de diciembre de 2011

SharePoint Online: Establecer la página por defecto

Desde Office 365 podremos crear un sitio público en el que poder publicar información acerca de nuestra empresa aprovechando la infraestructura de Office 365. Por defecto los sitios públicos de SharePoint Online disponen de un aspecto y funcionalidades especiales ya que están pensados para crear sitios públicos con capacidad reducida pero al mismo tiempo muy sencilla.

image

El problema lo encontramos cuando queremos crear páginas un poco más complejas como puedan ser páginas de publicación (o publishing) y páginas Wiki empresaria, las cuales nos permiten crear interfaces web un poco más avanzadas.

Para empezar sobre el sitio raíz de una colección pública de SharePoint Online no podremos activar las características de publicación (aunque sí podremos hacerlo en los subsitios), de modo que sobre el sitio raíz no podremos crear páginas layouts ni podremos utilizar las funcionalidades de configuración de las características de publicación (Navegación, diseño de páginas, página de bienvenida,…).

En cuanto a las wikis empresariales, podremos crear sobre el sitio raíz una biblioteca de tipo wiki en la que introducir nuestro contenido de una forma un poco más avanzada. Pero nos encontraremos con que no podremos cambiar la página por defecto de nuestro sitio raíz para que redireccione a la página Wiki.

Una solución para la personalización de sitios públicos consiste en utilizar en el sitio raíz páginas wiki y cambiar mediante una feature de SharePoint la página por defecto a una de nuestra página wiki.

Para establecer la página por defecto:

  • Crearemos desde Visual Studio un proyecto de tipo “Proyecto de SharePoint vacío”.
  • Indicaremos que genere una solución de tipo “Sandbox”.
  • A continuación agregaremos una feature manualmente seleccionando el icono de “Features” > botón derecho > Agregar Feature
  • Sobre la feature creada > botón derecho > Agregar Event Receiver
  • Sobre la clase receptora de eventos generada descomentaremos el método FeatureActivated y agregaremos el siguiente código:
  • public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
    SPFolder rootFolder = ((SPSite)properties.Feature.Parent).RootWeb.RootFolder;
    rootFolder.WelcomePage = "SitePages/default.aspx";
    rootFolder.Update();
    }



  • Una vez generada empaquetaremos el proyecto seleccionando la opción “Empaquetar”, esto nos creará un fichero de tipo WSP en la carpeta bin de nuestro proyecto.

  • Desde nuestro sitio en SharePoint Online entraremos en la configuración del sitio y agregaremos nuestro ficheros WSP desde la “Galería de soluciones”. Una vez subida activaremos la solución.
 

En este caso mi feature estaba configurada a nivel de Colección de sitios, si la quisiéramos utilizar en cada uno de nuestros subsitios tendríamos que cambiar la parte donde hacemos un cast del “Parent” por un “SPWeb”, quedando del siguiente modo:

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPFolder rootFolder = ((SPWeb)properties.Feature.Parent).RootFolder;
rootFolder.WelcomePage = "SitePages/default.aspx";
rootFolder.Update();
}
 

No hay comentarios: