in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

Piensa SharePoint

Aquí van mis experimentos con SharePoint y tecnología en general.

HOW-TO: Site Definitions

Introducción

Vamos a elaborar una plantilla o definición de sitio de acuerdo a las necesidades de la organización, a partir de una definición ya existente. Muchas veces las definiciones otorgadas por MOSS (o WSS) carecen de algún componente en particular, ya sea algún web part, imagen o cualquier elemento que pueda colocarse en un sitio web SharePoint, de acuerdo a los requerimientos organizacionales, para la creación de uno o varios sitios web. Es dentro de este contexto que desearemos crear una definición de sitio personalizada. Típicamente no crearemos una plantilla de sitio desde cero sino que tomaremos como base alguna definición ya existente (la que más se acerque a nuestro resultado deseado) y la modificaremos de acuerdo a las necesidades.

Una definición de sitio especifica o "define" (perdón por la redundancia) uno o varios tipos de sitios (también llamados plantillas), como pueden ser Sitio de Grupo, Sitio en Blanco, etc, todos parte de una sola definición, pero empleando una configuración individual por cada sitio.

Escenario

La plantilla que crearemos será una variación de la plantilla de “Sitio de grupo”, la cual mostrará en lugar del logo de Windows SharePoint Services, un logo personalizado cada vez que se cree un sitio utilizando ésta plantilla.

Preparación

Antes de empezar, debemos copiar el archivo logoCustom.gif (adjunto a este post) hacia la carpeta C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES de nuestra VPC:

1. Descargamos el archivo logoCustom.gif
2. Luego vamos a la VPC y hacemos WINDOWS + E
3. Damos doble clic en Local Disc (C:)
4. Damos doble clic en Program Files
5. Damos doble clic en Common Files
6. Damos doble clic en Microsoft Shared
7. Damos doble clic en web server extensions
8. Damos doble clic en 12
9. Damos doble clic en TEMPLATE
10. Damos doble clic en IMAGES
11. Ahora arrastramos el archivo logoCustom.gif hacia la carpeta C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\IMAGES de nuestra VPC
12. No cerramos el explorador de Windows de la VPC ya que lo continuaremos utilizando

Accediendo al sistema de archivos

Para crear una definición de sitio tenemos que tener acceso al sistema de archivos de cada uno de los servidores web de front-end. En este caso tenemos un solo servidor entonces lo haremos una sola vez, pero el trabajo realizado de aquí en adelante se debe repetir idénticamente en cada servidor web de front-end que tengamos en la implementación.

1. Subimos un nivel en el sistema de archivos 
2. Esto nos deja en la ruta C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE. Ahí observamos el siguiente esquema de carpetas:

 

Debemos prestar especial atención a las carpetas “3082” y “SiteTemplates” ya que éstas contienen archivos que necesitaremos modificar para la creación de nuestra plantilla. 

3. Damos doble clic a la carpeta “SiteTemplates”. Podremos observar muchas carpetas. Cada una de éstas carpetas contiene una definición de sitio con múltiples plantillas cada una, proporcionadas por SharePoint. Lo que haremos es tomar una definición como base y realizarle modificaciones.
4. Damos clic derecho a la carpeta “sts” y elegimos Copy.
5. Subimos un nivel en el sistema de archivos. 
6. Hacemos clic derecho y elegimos la opción Paste.
7. Una vez pegada la carpeta la seleccionamos haciéndole clic.
8. Damos un clic en el nombre para poder cambiarlo. El nombre se resaltará en azul.
9. Le damos el nombre “CUSTOM” y apretamos Enter.
10. Damos clic derecho a ésta carpeta y seleccionamos la opción Cut.
11. Damos doble clic a la carpeta “SiteTemplates”.
12. Damos clic derecho en el contenido y elegimos la opción Paste.
13. Subimos un nivel en el sistema de archivos. 
14. Hacemos doble clic en la carpeta 3082.
15. Hacemos doble clic en la carpeta XML. Ubiquemos el archivo WEBTEMP.XML
16. Damos clic derecho a WEBTEMP.XML y elegimos la opción Copy.
17. Subimos un nivel en el sistema de archivos. 
18. Hacemos clic derecho y elegimos la opción Paste.
19. Una vez pegado el archivo lo seleccionamos haciéndole clic.
20. Damos un clic en el nombre para poder cambiarlo. El nombre se resaltará en azul.
21. Le damos el nombre “WEBTEMPCUSTOM.XML” (sin comillas) y apretamos Enter.
22. Damos clic derecho a éste archivo y seleccionamos la opción Cut.
23. Hacemos doble clic en la carpeta XML.
24. Damos clic derecho en el contenido y elegimos la opción Paste. –es absolutamente necesario que el sufijo del nombre de éste archivo coincida con el nombre de carpeta de nuestra nueva definición, en este caso CUSTOM.

Creando nuestra definición de sitio

1. Damos clic derecho al archivo WEBTEMPCUSTOM.XML y seleccionamos la opción Modificar con Office SharePoint Designer. Se abrirá SharePoint Designer con el archivo. Aquí definiremos cuántos tipos de sitios nos otorgará la definición CUSTOM, agrupados por plantillas mediante las etiquetas <Template />, especificando el sitio dentro de cada plantilla mediante la etiqueta <Configuration />.
2. Borramos el código de modo que nos quedemos únicamente con lo siguiente:

Sólo nos quedamos con la plantilla de nombre “STS”, que es la que finalmente utilizaremos como base para nuestra nueva definición.

3. Borramos toda la línea que tiene <Configuration ID=1… >
4. Borramos toda la línea que tiene <Configuration ID=2… >
5. Reemplazamos el atributo Name de “STS” a “CUSTOM
6. Reemplazamos el atributo ID de <Template> de 1 a 10001 (el ID siempre debe ser único y mayor que 10000).
7. Reemplazamos el título de “Sitio de grupo” a “Sitio de equipo CUSTOM
8. Reemplazamos la descripción por “Este es un sitio creado para este How-To. Provee una Biblioteca de Documentos y listas para administrar anuncios, un calendario, tareas y discusiones”.
9. Verificamos que el resultado final sea el mostrado en la siguiente figura:

10. Salvamos los cambios. En este archivo se define únicamente el título, la disponibilidad, la imagen previa y la descripción mostrada en la pantalla a la hora de seleccionar una plantilla para un nuevo sitio.
11. Regresamos al Explorador de Windows que tenemos abierto y presionamos dos veces el botón   para poder ubicarnos en el directorio C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE
12. Hacemos doble clic en la carpeta SiteTemplates
13. Hacemos doble clic en la carpeta CUSTOM
14. Hacemos doble clic en la carpeta xml
25. Damos clic derecho en el archivo ONET.XML y elegimos la opción Modificar con Office SharePoint Designer. En este archivo podemos (http://msdn2.microsoft.com/en-us/library/ms474369(d=printer).aspx):

a. Definir los links del menú izquierdo para el Home Page de los sitios, pero se aplicarán a la vez para todas las plantillas de la definición, dentro del elemento <NavBars /> (http://msdn2.microsoft.com/en-us/library/ms430616.aspx)
b. Las listas disponibles para poder crearse a partir de la página “Crear”, dentro del elemento <ListTemplates /> (http://msdn2.microsoft.com/en-us/library/ms439434.aspx).
c. Las listas y Web Parts que vendrán ya instaladas en una determinada configuración, dentro de cada elemento <Module /> (http://msdn2.microsoft.com/en-us/library/ms460356.aspx)referenciado por cada elemento <Configuration /> (http://msdn2.microsoft.com/en-us/library/ms476942(d=printer).aspx) --que se enlaza a WEBTEMPCUSTOM.XML mediante el atributo ID.
d. Definir si éstos elementos se muestran o no en la barra de navegación izquierda.
e. Las plantillas para cada tipo de documento que se utilice en el sitio (Word, Excel, etc.) mediante el elemento <DocumentTemplateFiles /> (http://msdn2.microsoft.com/en-us/library/ms416769.aspx), así como las plantillas para bibliotecas de documentos (http://msdn2.microsoft.com/en-us/library/ms411227.aspx).
f. Los Features que dispondrá la colección de sitios mediante el elemento <SiteFeatures /> (http://msdn2.microsoft.com/en-us/library/ms469685.aspx), así como los Features disponibles a nivel de subsitio, mediante el elemento <WebFeatures /> (http://msdn2.microsoft.com/en-us/library/ms467789.aspx)
g. etc etc etc (ver SDK: Onet.xml --> http://msdn2.microsoft.com/en-us/library/ms474369(d=printer).aspx)

Nota:
Cada etiqueta <Configuration /> en WEBTEMPCUSTOM.XML debe tener un atributo ID con un valor que coincide con el valor del atributo ID de la etiqueta <Configuration /> en el archivo ONET.XML

15. Ahora cambiaremos la imagen por defecto que muestra cada sitio creado mediante nuestra plantilla. Para ello, vamos a la línea 173 del código.
16. Reemplazamos el nombre de archivo /_layouts/images/homepage.gif (dentro de <iwp:ImageLink>) por /_layouts/images/logoCustom.gif. Cabe mencionar que estamos dentro del módulo con nombre “Default” (<Module Name="Default" Url="" Path="">), que es utilizado por la configuración con ID=0 (<Configuration ID="0" Name="Default">), la cual es la única que utilizamos en WEBTEMPCUSTOM.XML.
17. Salvamos los cambios y salimos de SharePoint Designer.
18. Para que los cambios se vean reflejados debemos reiniciar la aplicación web. Damos clic en Start, Run y escribimos iisreset, seguido de Enter.

Creación de un sitio con nuestra definición

1. Abrimos una ventana de Internet Explorer
2. En la barra de direcciones escribimos http://<servidor> seguido de Enter
3. Ahora podemos crear un sitio utilizando nuestra plantilla. Para ello hacemos clic en Acciones del Sitio, Crear Sitio y podremos ver nuestra plantilla disponible para su uso


4. Escribimos en Título “Sitio del Curso
5. Escribimos en Descripción “Este es un sitio que hemos creado con nuestra propia plantilla
6. En Dirección del sitio web escribimos “customSite
7. En la Selección de Plantilla hacemos clic en “Sitio de equipo CUSTOM” tal como lo muestra la figura anterior
8. Damos clic en Crear
9. Hemos creado el sitio con nuestra propia plantilla y con una imagen personalizada, tal como lo muestra la figura

Notas finales

-.M.-

Published Jul 31 2007, 04:24 PM by Marcel Jeanneau
Filed under: , ,

Comments

 

Luis Du Solier G. said:

Que tal Marcel, gracias por compartir tus experiencias.

Nosotros tuvimos que hacer algo muy parecido. Has hechos pruebas de crear definiciones de sitio con subsitios, es decir, que al usarlas para crear un sitio tambien incluya los subsitios predefinidos en la definición?, algo asi como una copia de un sitio tipo intranet.

Eso es una opción interesante, ya lo hicimos, de hecho el post de nuestro equipo lo hico Vladimir Medina, esta en la comunidad de Blogs en http://sharepointmx.mvps.org

Saludos!

Luis.

July 31, 2007 4:47 PM
 

Blog del CIIN said:

Después de unas semanas de vacaciones (cortas :PPP), aqui estamos de nuevo en el CIIN al pie del cañón

August 16, 2007 6:38 AM
 

Blog del CIIN said:

Siguiendo con la tradicional recopilación periódica de recursos sobre WSS 3.0 &amp; MOSS, en esta ocasión

August 28, 2007 6:02 AM
 

Gustavo said:

Hola que tal, acabo de descubir este blog espero me puedan ayudar, estoy viendo las opciones que ofrece sharepoint al crear aplicaciones para compartir documentos  atra vez de la web local, alguien me podria dar alguna idea de lo que se puede hacer.

October 2, 2007 6:43 PM
 

Marcel Jeanneau said:

Gustavo:

www.microsoft.com/sharepoint

Adicionalmente a eso, casi todo lo que se te ocurra buscar esta en la web.

October 2, 2007 10:37 PM
 

Wilbert said:

Hola Marcel:

Tengo una pregunta. hice una migración de SP 2003 a MOSS 2007, el esquema fue migración de base de datos. Tengo varios plantillas de sitio las cuales en teoría se migraron pero al crear un nuevo sitio en la selección de plantilla no aparecen esas plantillas que ya existen.

Me puedes dar un tip y/o consejo

Saludos

Wilbert

December 19, 2007 1:48 PM
 

Marcel Jeanneau said:

Wilbert,

Cuando haces una migración de SPS2003 a MOSS2007, las plantillas de sitio NO son migradas.

Esto lo debes hacer manualmente, puedes encontrar una guía al respecto en weblogs.asp.net/.../upgrading-sharepoint-site-templates-and-list-templates.aspx

Marcel

December 20, 2007 9:23 AM

Leave a Comment

(required )  
(optional )
(required )  
Add

About Marcel Jeanneau

Self-declared geek, technology-junkie since childhood, Marcel (MCTS: SQL 2005 | MOSS 2007) started jamming his fathers IBM PS/1 when he has 10, and many years after that worked for his university in Lima (USMP) leading his first SharePoint Intranet deployment; then helped managing internet access, services and connectivity for students, professors and employees (20k+) throughout all central and remote campus´; facilities, using Microsoft and Linux technologies.

Former baseball player, BMX rider, and Microsoft Peru's SWAT member, Marcel is getting his Systems Engineer major this year, actually working as an IT Consultant for DATCO (Microsoft business partner), mainly focused on infrastructure topics. Other personal activities include testing many vendor's OS's for learning and fun, ocassionally writing blog posts based on his experiences, getting all the pieces together for his thesis project about Unified Communications, and getting sunflowers for his future wife, Valeria.

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts