viernes, 27 de marzo de 2015

Cómo modificar la SuiteBar de SharePoint 2013

Hoy vamos a explicar diversas formas de modificar la SuiteBar de SharePoint 2013.
La suitebar es esa barra azul Microsoft en la zona superior de la pantalla que SharePoint nos impone por defecto en todos sus portales. Esta barra está dividida en dos zonas claramente diferenciadas, que además, son de dificultad muy distinta en su modificación.
Por un lado tenemos la zona izquierda de la suitebar, donde por defecto veremos el literal “SharePoint”. En el otro lado tenemos la zona derecha, donde veremos algunos enlaces impuestos por la plataforma de forma predeterminada.
image
Cómo modificar la suitebar izquierda (“SharePoint”)
Para modificar la suitebar de la izquierda (donde aparece el literal “SharePoint” por defecto) tomaremos el ejemplo de la plantilla del MySite.
image
Para modificar ese literal en todos la aplicación web del MySite es muy sencillo, pues existe una propiedad en PowerShell que permite hacerlo directamente (SuiteBarBrandingElementHtml).
Podemos consultar el valor actual de esta variable mediante las siguientes líneas de PowerShell:
$web = Get-SPWebApplication http://(URL de tu app web)
$ web.SuiteBarBrandingElementHtml
 image
por defecto retornará “<div class=’ms-core-brandingText’>SharePoint</div>
La modificación de la variable se puede hacer con el siguiente PowerShell:
$web = Get-SPWebApplication http://(URL de tu app web)
$web.SuiteBarBrandingElementHtml = “Tu literal/código HTML aquí”
$web.Update()
Para modificar ese literal y poner, por ejemplo, un enlace que retorne a la intranet (estaría bien que Microsoft hubiera puesto esto por defecto en los MySites porque no hay forma de volver al portal principal sin este tipo de retoques) deberemos ejecutar el siguiente PowerShell:
$web = Get-SPWebApplication http://(URL de tu app web)
$web.SuiteBarBrandingElementHtml = “<div class = ‘ms-core-brandingText’ ><a style=’color:white;’  href=’https://ignasitt.es>BACK TO INTRANET</a></div>”
$web.Update()
image
Puesto que suitebar está definida a nivel de aplicación web, así que habiendo realizando una única modificación, aplicará de forma automática a todos los Site Collections (My Sites de cada empleado).
image
En caso de querer retornar al valor original, deberemos volver a modificar el valor de la variable por el que tenía originalmente
image
Y ahora algo curioso: Pensad que el valor de dicha variable almacena código html, y eso significa que con un poco de traza podremos no solo poner textos o enlaces, sino también imágenes u otros componentes. Quizás el caso más curioso que he visto ha sido uno que ha substituido el literal por defecto de la suitebar por un control de breadcrum.
image
Por último, comentar que también se podría modificar con jquery, mediante una sentencia del siguiente estilo:
$('.ms-core-brandingText').text('El texto que quieras aquí');
Cómo modificar la suitebar derecha (“Links”)
Para modificar la suitebar de la derecha que contiene los enlaces que por defecto ha definido Microsoft no lo vamos a tener tan sencillo. No existe ninguna propiedad de PowerShell que permita modificarla (no me preguntéis a mí por qué… yo lo hubiera hecho como su homónima).
Para añadir enlaces en esa zona tendríamos que hacerlo o bien mediante JQuery o bien mediante Visual Studio sobreescribiendo el user control CustomSuiteBar.ascx (para no hacer más largo este post, enlazo directamente con otros posts de otras fuentes que narran todo el proceso).
En caso de querer ocultar enlaces, siempre se puede hacer de forma fácil e indolora mediante estilos CSS, del tipo:
#suiteLinksBox > ul > li:nth-child(1){
display:none;
}
donde “(1)” es el número del enlace que queremos ocultar (empezando por la izquierda).
Pues hasta aquí la sesión de hoy, como veis es mucho más fácil modificar la suitebar de la izquierda que la de la derecha… Pero a esas alturas ya sabemos todos que SharePoint siempre tiene “esas” cosas… ¡¡Un saludo!!

2 comentarios:

Pablo Ariel Beltrán dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

Hi Pablo,

Great article. Thanks! Do you know how to change the MySite suite bar in SharePoint 2016?


Thanks,

Sasha