SharePoint Online: Como cambiar la página maestra por defecto del sitio público!

Como sabéis, SharePoint Online (SPO) viene de serie con un sitio público que podemos personalizar a partir de configurar páginas existentes y añadir nuevas páginas…pero, ¿podemos ir más allá y aplicar nuestra propia página maestra? La respuesta es que sí como veremos en este artículo en el que se ha trabajado con un sitio público perteneciente a un plan P de Office 365 (profesionales y pequeñas empresas). Empecemos:

  • Lo primero que tenemos que hacer es abrir nuestro sitio de trabajo con SharePoint Designer 2010 (SPD 2010). Allí nos vamos a la sección de páginas maestras y copiamos en la galería la página maestra que hayamos creado. Por ejemplo, podemos usar las páginas maestros de inicio creadas por Randy Disgrill tanto para SharePoint Server como para Foundation que están disponibles en Codeplex.
  • Marcamos una de las páginas maestras como página por defecto.
  • Editamos la página maestra en SPD 2010.
image image image
  • En el markup de la página maestra añadimos el siguiente placeholder necesario en páginas maestras de sitios de SPO.
   1: <div id="IWS_WH_Elem_Content" class="MSC_Body">

   2: <asp:ContentPlaceHolder ID="IWS_WH_CPH_Content" runat="server"></asp:ContentPlaceHolder>

   3: </div>

  • Guardamos los cambios realizados en la página maestra.
  • Lo siguiente que tenemos que hacer es editar una por una las páginas de la biblioteca de páginas web para cambiar la página maestra a la que están apuntando (root.marter) por la que hemos creado.
  • Notad como al editar cada página se muestra un mensaje de warning indicando que es necesario editar la página utilizando el modo avanzado de SPD 2010.
image image image
  • Por ejemplo, para la página default.aspx el cambio a realizar sería el que se indica a continuación. Como veis, en mi caso y al tratarse de un plan de tipo P, he optado por usar la página de inicio _starter_foundation.master ya que en SPO en planes P no tenemos la posibilidad de activar las características de publicación y por tanto no podemos usar una página maestra con placeholders de publishing.
   1: <%@ Page Language="C#" MasterPageFile="~site/_catalogs/masterpage/_starter_foundation.master" %>

  • Una vez añadidos los cambios en el código de la página, al refrescar en SPD 2010 veremos que ya se está haciendo uso de la página maestra personalizada.
  • Guardamos los cambios y visualizamos los cambios en el explorador.
  • Como era de esperar, la página maestra personalizada se ha aplicado de forma correcta.
image image image

Referencias: