Introducción:
Estamos trabajando en AVANADE participando de un proyecto de desarrollo para una importante cadena de supermercados. Estamos realizando un sitio web basado en SharePoint 2010 para los empleados de la empresa.
Necesidad:
Necesitamos que cada Blog que sea creado, tenga el Branding de la empresa.
Solución:
Se crea un Stapler sobre los Templates de Blog.
En esta solución que estamos desarrollando, tenemos 3 Features. Cada una se deploya en un Scope distinto. La idea de esta NewsLetter es explicar cómo se aplica el branding, masterpages y estilos a cada nuevo Blog que crearan los usuarios de esta Intranet.
Estos son los pasos a seguir:
1- Crearnos una solución
2- Agregamos un Módulo para la Master page
3- Agregamos un Módulos para los CSS e imágenes
4- Creamos una Feature para Branding, que se encarga de cargar las masterpages, y la librería de estilos (“Style Library”) y que se deploya en el nivel Site Collection.
5- Agregamos una nueva Feature para setear la Master por default, la llamaremos Provisioning. En este caso, esta Feature lo que permite hacer es setear por defecto las MasterPage, los PageLayouts y los estilos a nuestro sitio.
También puede utilizarse para deployar controles.
El Scope de esta Feature es a nivel Web.
Esta Feature está compuesta por dos Ítems, uno de ellos es el archivo .XML de cada Feature, que se crea al mismo momento de crear la Feature, y el otro, en el cual nos vamos a detener, es el Event Receiver.cs, y se crea haciendo Click Derecho sobre la Feature, Add Event Receiver.
Este EventReceiver.cs tiene dos eventos importantes, vamos a pasar a detallarlos.
El primer evento es “FeatureActivated” que básicamente nos está diciendo cuales son las MasterPage (Custom y por Default) que vamos a utilizar en nuestros sitios.
El segundo evento es “FeatureDeactivating” que se encarga de desactivar las MasterPage Custom y por Default que se aplican en cada sitio en su creación.
Por último vamos a estar hablando de la Feature “Stapler”.
Esta se encarga de vincular otras Features mediante su ID, con un Template determinado por el usuario y según sus necesidades. En nuestro ejemplo utilizamos el Template para Blogs, que se llama “BLOG#0”
Otros templates que podes usar son: Enterprise Search Center (SRCHCEN#0), Team Site (STS#0), NewsGator Public Communities (NGCommunity#6), etc.
El Stapler contiene el StaplerElement que vamos a detallar al final del documento.
Esta Feature se deploya a nivel Farm y se compone de la siguiente manera:
El Stapler Element, está compuesto por un archivo “elements.xml” donde se puede ver la vinculación de ID’s con el Template seleccionado.
<?xml version="1.0" encoding"utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!--Feature to staple with Blog Template site collection -->
<!--Branding-->
<FeatureSiteTemplateAssociation Id="913de96d-9f3e-4477-a03f-fab699c5f545"
TemplateName="BLOG#0"></FeatureSiteTemplateAssociation>
<!--Provisioning-->
<FeatureSiteTemplateAssociation Id="429he00d-4p8a-48c6-b73f-855eff6405d7" TemplateName="BLOG#0"></FeatureSiteTemplateAssociation>
</Elements>
De esta forma lo que estamos haciendo es completar este documento, el cual pueden usar de guía para utilizar un Stapler y aplicar su branding a sus sitios.
No hay comentarios:
Publicar un comentario