SharePoint 2010: Definiciones de sitios (I)!

Como ya comenté en este post, una de las posibilidades que tenemos en SharePoint 2010 para crear sitios es la de utilizar las definiciones de sitios disponibles por defecto en nuestra instalación o bien crear definiciones personalizadas. Lo primero que tenemos que saber antes de pasar a la creación de una definición de sitio personalizada es dónde se encuentran las disponibles por defecto. Estas se encuentran en bajo la ruta ..14TEMPLATESiteTemplates dónde encontraremos una carpeta por cada definición o grupo de definiciones disponibles que sigue la estructura que tenemos a la hora de crear visualmente sitios en base a las mismas:

  • Si navegamos hacía esa ruta, localizaremos fácilmente esa estructura en la ruta comentada.
  • Estas definiciones son las que luego nos permiten crear sitios en base a las mismas como se ha comentado.
  • Si entramos en una de las carpetas contenidas en SiteTemplates, por ejemplo la carpeta sts (SharePoint Team Site) veremos que contiene una serie de archivos (páginas, imágenes) y al menos una carpeta denominada XML que contiene un archivo XML clave para toda definición de sitio: ONET.xml.
image image image
  • Este archivo ONET.xml es el que define la configuración relativa a los elementos que forman parte del sitio que se cree en base a esta definición: características, módulos, plantillas de documentos, etc. En el caso de la definición STS el XML correspondiente es como sigue:
   1: <?xml version="1.0" encoding="utf-8"?>

   2: <Project Title="$Resources:onet_TeamWebSite;" Revision="2" ListDir="$Resources:core,lists_Folder;" xmlns:ows="Microsoft SharePoint" UIVersion="4">

   3:   <NavBars>

   4:     <NavBar Name="$Resources:core,category_Top;" Separator="&amp;nbsp;&amp;nbsp;&amp;nbsp;" Body="&lt;a ID='onettopnavbar#LABEL_ID#' href='#URL#' accesskey='J'&gt;#LABEL#&lt;/a&gt;" ID="1002" />

   5:     <NavBar Name="$Resources:core,category_Documents;" Prefix="&lt;table border='0' cellpadding='4' cellspacing='0'&gt;" Body="&lt;tr&gt;&lt;td&gt;&lt;table border='0' cellpadding='0' cellspacing='0'&gt;&lt;tr&gt;&lt;td&gt;&lt;img src='/_layouts/images/blank.gif' id='100' alt='' border='0'&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top'&gt;&lt;a id='onetleftnavbar#LABEL_ID#' href='#URL#'&gt;#LABEL#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;" Suffix="&lt;/table&gt;" ID="1004" />

   6:     <NavBar Name="$Resources:core,category_Lists;" Prefix="&lt;table border='0' cellpadding='4' cellspacing='0'&gt;" Body="&lt;tr&gt;&lt;td&gt;&lt;table border='0' cellpadding='0' cellspacing='0'&gt;&lt;tr&gt;&lt;td&gt;&lt;img src='/_layouts/images/blank.gif' id='100' alt='' border='0'&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top'&gt;&lt;a id='onetleftnavbar#LABEL_ID#' href='#URL#'&gt;#LABEL#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;" Suffix="&lt;/table&gt;" ID="1003" />

   7:     <NavBar Name="$Resources:core,category_Discussions;" Prefix="&lt;table border='0' cellpadding='4' cellspacing='0'&gt;" Body="&lt;tr&gt;&lt;td&gt;&lt;table border='0' cellpadding='0' cellspacing='0'&gt;&lt;tr&gt;&lt;td&gt;&lt;img src='/_layouts/images/blank.gif' id='100' alt='' border='0'&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top'&gt;&lt;a id='onetleftnavbar#LABEL_ID#' href='#URL#'&gt;#LABEL#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;" Suffix="&lt;/table&gt;" ID="1006" />

   8:   </NavBars>

   9:   <ListTemplates>

  10:   </ListTemplates>

  11:   <DocumentTemplates>

  12:     <DocumentTemplate Path="STS" Name="" DisplayName="$Resources:core,doctemp_None;" Type="100" Default="FALSE" Description="$Resources:core,doctemp_None_Desc;" />

  13:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_Word97;" Type="101" Description="$Resources:core,doctemp_Word97_Desc;">

  14:       <DocumentTemplateFiles>

  15:         <DocumentTemplateFile Name="doctempwordwdtmpl.doc" TargetName="Forms/template.doc" Default="TRUE" />

  16:       </DocumentTemplateFiles>

  17:     </DocumentTemplate>

  18:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_Excel97;" Type="103" Description="$Resources:core,doctemp_Excel97_Desc;">

  19:       <DocumentTemplateFiles>

  20:         <DocumentTemplateFile Name="doctempxlxltmpl.xls" TargetName="Forms/template.xls" Default="TRUE" />

  21:       </DocumentTemplateFiles>

  22:     </DocumentTemplate>

  23:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_Powerpoint97;" Type="104" Description="$Resources:core,doctemp_Powerpoint97_Desc;">

  24:       <DocumentTemplateFiles>

  25:         <DocumentTemplateFile Name="doctemppptpptmpl.pot" TargetName="Forms/template.pot" Default="TRUE" />

  26:       </DocumentTemplateFiles>

  27:     </DocumentTemplate>

  28:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_Word;" Type="121" Default="TRUE" Description="$Resources:core,doctemp_Word_Desc;">

  29:       <DocumentTemplateFiles>

  30:         <DocumentTemplateFile Name="doctempwordwdtmpl.dotx" TargetName="Forms/template.dotx" Default="TRUE" />

  31:       </DocumentTemplateFiles>

  32:     </DocumentTemplate>

  33:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_Excel;" Type="122" Description="$Resources:core,doctemp_Excel_Desc;">

  34:       <DocumentTemplateFiles>

  35:         <DocumentTemplateFile Name="doctempxlxltmpl.xlsx" TargetName="Forms/template.xlsx" Default="TRUE" />

  36:       </DocumentTemplateFiles>

  37:     </DocumentTemplate>

  38:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_Powerpoint;" Type="123" Description="$Resources:core,doctemp_Powerpoint_Desc;">

  39:       <DocumentTemplateFiles>

  40:         <DocumentTemplateFile Name="doctemppptpptmpl.pptx" TargetName="Forms/template.pptx" Default="TRUE" />

  41:       </DocumentTemplateFiles>

  42:     </DocumentTemplate>

  43:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_OneNote;" Type="111" Description="$Resources:core,doctemp_OneNote_Desc;">

  44:       <DocumentTemplateFiles>

  45:         <DocumentTemplateFile Name="doctemponenotetemplate.onepkg" TargetName="Forms/template.onepkg" Default="TRUE" />

  46:       </DocumentTemplateFiles>

  47:     </DocumentTemplate>

  48:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_FP;" Type="102" Description="$Resources:core,doctemp_FP_Desc;">

  49:       <DocumentTemplateFiles>

  50:         <DocumentTemplateFile Name="doctempfpfptmpl.htm" TargetName="Forms/template.htm" Default="TRUE" />

  51:       </DocumentTemplateFiles>

  52:     </DocumentTemplate>

  53:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_BasicPage;" Type="105" Description="$Resources:core,doctemp_BasicPage_Desc;">

  54:       <DocumentTemplateFiles>

  55:         <DocumentTemplateFile Name="doctempblankpgs_basicpage.htm" TargetName="Forms/_basicpage.htm" Default="TRUE" />

  56:       </DocumentTemplateFiles>

  57:     </DocumentTemplate>

  58:     <DocumentTemplate Path="STS" DisplayName="$Resources:core,doctemp_WebPartPage;" Type="106" Description="$Resources:core,doctemp_WebPartPage_Desc;">

  59:       <DocumentTemplateFiles>

  60:         <DocumentTemplateFile Name="doctempsmartpgs_webpartpage.htm" TargetName="Forms/_webpartpage.htm" Default="TRUE" />

  61:       </DocumentTemplateFiles>

  62:     </DocumentTemplate>

  63:     <DocumentTemplate XMLForm="TRUE" Path="STS" DisplayName="$Resources:core,doctemp_BlankForm;" Type="1000" Default="TRUE" Description="$Resources:core,doctemp_BlankForm_Desc;">

  64:       <DocumentTemplateFiles>

  65:         <DocumentTemplateFile Name="doctempxmlformsblanktemplate.xml" TargetName="Forms/template.xml" Default="TRUE" />

  66:       </DocumentTemplateFiles>

  67:     </DocumentTemplate>

  68:   </DocumentTemplates>

  69:   <Configurations>

  70:     <Configuration ID="-1" Name="NewWeb" MasterUrl="_catalogs/masterpage/v4.master" />

  71:     <Configuration ID="0" Name="Default" MasterUrl="_catalogs/masterpage/v4.master">

  72:       <Lists>

  73:         <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="$Resources:core,shareddocuments_Title;" Url="$Resources:core,shareddocuments_Folder;" QuickLaunchUrl="$Resources:core,shareddocuments_Folder;/Forms/AllItems.aspx" />

  74:         <List FeatureId="00BFEA71-6A49-43FA-B535-D15C05500108" Type="108" Title="$Resources:core,discussions_Title;" Url="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;/AllItems.aspx" EmailAlias="$Resources:core,discussions_EmailAlias;" />

  75:         <List FeatureId="00BFEA71-D1CE-42de-9C63-A44004CE0104" Type="104" Title="$Resources:core,announceList;" Url="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;">

  76:           <Data>

  77:             <Rows>

  78:               <Row>

  79:                 <Field Name="Title">$Resources:onetid11;</Field>

  80:                 <Field Name="Body">$Resources:onetid12;</Field>

  81:                 <Field Name="Expires">&lt;ows:TodayISO/&gt;</Field>

  82:               </Row>

  83:             </Rows>

  84:           </Data>

  85:         </List>

  86:         <List FeatureId="00BFEA71-2062-426C-90BF-714C59600103" Type="103" Title="$Resources:core,linksList;" Url="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" />

  87:         <List FeatureId="00BFEA71-EC85-4903-972D-EBE475780106" Type="106" Title="$Resources:core,calendarList;" Url="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;/Calendar.aspx" EmailAlias="$Resources:core,calendar_EmailAlias;" />

  88:         <List FeatureId="00BFEA71-A83E-497E-9BA0-7A5C597D0107" Type="107" Title="$Resources:core,taskList;" Url="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;/AllItems.aspx" />

  89:       </Lists>

  90:       <Modules>

  91:         <Module Name="Default" />

  92:       </Modules>

  93:       <SiteFeatures>

  94:         <!-- BasicWebParts Feature -->

  95:         <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />

  96:         <!-- Three-state Workflow Feature -->

  97:         <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" />

  98:       </SiteFeatures>

  99:       <WebFeatures>

 100:         <!-- TeamCollab Feature -->

 101:         <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />

 102:         <!-- MobilityRedirect -->

 103:         <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />

 104:         <!-- WikiPageHomePage Feature -->

 105:         <Feature ID="00BFEA71-D8FE-4FEC-8DAD-01C19A6E4053" />

 106:       </WebFeatures>

 107:     </Configuration>

 108:     <Configuration ID="1" Name="Blank" MasterUrl="_catalogs/masterpage/v4.master">

 109:       <Lists />

 110:       <Modules>

 111:         <Module Name="DefaultBlank" />

 112:       </Modules>

 113:       <SiteFeatures>

 114:         <!-- BasicWebParts Feature -->

 115:         <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />

 116:         <!-- Three-state Workflow Feature -->

 117:         <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" />

 118:       </SiteFeatures>

 119:       <WebFeatures>

 120:         <!-- TeamCollab Feature -->

 121:         <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />

 122:         <!-- MobilityRedirect -->

 123:         <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />

 124:       </WebFeatures>

 125:     </Configuration>

 126:     <Configuration ID="2" Name="DWS" MasterUrl="_catalogs/masterpage/v4.master">

 127:       <Lists>

 128:         <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="$Resources:core,shareddocuments_Title;" Url="$Resources:core,shareddocuments_Folder;" />

 129:         <List FeatureId="00BFEA71-6A49-43FA-B535-D15C05500108" Type="108" Title="$Resources:core,discussions_Title;" Url="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;" />

 130:         <List FeatureId="00BFEA71-D1CE-42de-9C63-A44004CE0104" Type="104" Title="$Resources:core,announceList;" Url="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;">

 131:           <Data>

 132:             <Rows>

 133:               <Row>

 134:                 <Field Name="Title">$Resources:onetid11;</Field>

 135:                 <Field Name="Body">$Resources:onetid12;</Field>

 136:                 <Field Name="Expires">&lt;ows:TodayISO/&gt;</Field>

 137:               </Row>

 138:             </Rows>

 139:           </Data>

 140:         </List>

 141:         <List FeatureId="00BFEA71-2062-426C-90BF-714C59600103" Type="103" Title="$Resources:core,linksList;" Url="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" />

 142:         <List FeatureId="00BFEA71-EC85-4903-972D-EBE475780106" Type="106" Title="$Resources:core,calendarList;" Url="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;/Calendar.aspx" />

 143:         <List FeatureId="00BFEA71-A83E-497E-9BA0-7A5C597D0107" Type="107" Title="$Resources:core,taskList;" Url="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;" />

 144:       </Lists>

 145:       <Modules>

 146:         <Module Name="DWS" />

 147:       </Modules>

 148:       <SiteFeatures>

 149:         <!-- BasicWebParts Feature -->

 150:         <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" />

 151:         <!-- Three-state Workflow Feature -->

 152:         <Feature ID="FDE5D850-671E-4143-950A-87B473922DC7" />

 153:       </SiteFeatures>

 154:       <WebFeatures>

 155:         <!-- TeamCollab Feature -->

 156:         <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" />

 157:         <!-- MobilityRedirect -->

 158:         <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />

 159:       </WebFeatures>

 160:     </Configuration>

 161:   </Configurations>

 162:   <Modules>

 163:     <Module Name="Default" Url="" Path="">

 164:       <File Url="default.aspx" NavBarHome="True">

 165:         <View List="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;" BaseViewID="0" MobileView="TRUE" WebPartZoneID="Left" />

 166:         <View List="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" BaseViewID="0" MobileView="TRUE" RecurrenceRowset="TRUE" WebPartZoneID="Left" WebPartOrder="2" />

 167:         <View List="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" BaseViewID="0" MobileView="TRUE" WebPartZoneID="Right" WebPartOrder="1" />

 168:         <NavBarPage Name="$Resources:core,nav_Home;" Url="~site" ID="1002" Position="Start" />

 169:         <NavBarPage Name="$Resources:core,nav_Home;" Url="" ID="0" Position="Start" />

 170:       </File>

 171:     </Module>

 172:     <Module Name="DefaultBlank" Url="" Path="">

 173:       <File Url="default.aspx" NavBarHome="True" Type="Ghostable">

 174:         <NavBarPage Name="$Resources:core,nav_Home;" Url="~site" ID="1002" Position="Start" />

 175:         <NavBarPage Name="$Resources:core,nav_Home;" Url="" ID="0" Position="Start" />

 176:       </File>

 177:     </Module>

 178:     <Module Name="DWS" Url="">

 179:       <File Url="defaultdws.aspx" Name="default.aspx">

 180:         <View List="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;" BaseViewID="0" WebPartZoneID="Top" />

 181:         <View List="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" BaseViewID="0" WebPartZoneID="Right" WebPartOrder="2" />

 182:         <View List="$Resources:core,shareddocuments_Folder;" BaseViewID="1" WebPartZoneID="Left" />

 183:         <View List="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;" BaseViewID="7" WebPartZoneID="Left" WebPartOrder="2" />

 184:         <AllUsersWebPart WebPartZoneID="Right" WebPartOrder="1"><![CDATA[

 185:                    <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">

 186:                       <Assembly>Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>

 187:                       <TypeName>Microsoft.SharePoint.WebPartPages.MembersWebPart</TypeName>

 188:                       <Title>$Resources:wp_Members;</Title>

 189:                       <Description>$Resources:wp_Members_Desc;</Description>

 190:                       <FrameType>Standard</FrameType>

 191:                       <IsVisible>true</IsVisible>

 192:                       </WebPart>

 193:                    ]]></AllUsersWebPart>

 194:         <NavBarPage Name="$Resources:core,nav_Home;" Url="~site" ID="1002" Position="Start" />

 195:         <NavBarPage Name="$Resources:core,nav_Home;" ID="0" Position="Start" />

 196:       </File>

 197:     </Module>

 198:   </Modules>

 199:   <ServerEmailFooter>$Resources:ServerEmailFooter;</ServerEmailFooter>

 200: </Project>

Pero, ¿Cómo hace uso SharePoint de este archivo ONET.xml para que se puedan crear sitios en base al mismo? Básicamente, SharePoint lo que hace es leer la lista de definiciones disponibles de un archivo de la forma WEBTEMP*.xml que se encuentra ubicado en la ruta ..14TEAMPATE<Código_Cultura>XML. Por ejemplo, para la cultura 3082 (castellano), y dependiendo de los componentes instalados, el contenido de dicha carpeta será como sigue:

image

Si editamos el archivo WEBTEMP.xml veremos en su contenido lo siguiente:

  • Una enumeración de las definiciones disponibles, especificando para cada una el nombre, descripción, identificador, etc.
   1: <?xml version="1.0" encoding="utf-8"?>

   2: <!-- _lcid="3082" _version="14.0.4762" _dal="1" -->

   3: <!-- _LocalBinding -->

   4: <Templates xmlns:ows="Microsoft SharePoint">

   5:  <Template Name="GLOBAL" SetupPath="global" ID="0">

   6:     <Configuration ID="0" Title="Plantilla global" Hidden="TRUE" ImageUrl="" Description="Esta plantilla se usa inicializar un sitio nuevo." >   </Configuration>

   7:  </Template>

   8:  <Template Name="STS" ID="1">

   9:     <Configuration ID="0" Title="Sitio de grupo" Hidden="FALSE" ImageUrl="/_layouts/images/stts.png" Description="Sitio para que los grupos organicen, creen y compartan información con rapidez. Proporciona una biblioteca de documentos y listas para la administración de anuncios, elementos de calendario, tareas y discusiones." DisplayCategory="Colaboración" >    </Configuration>

  10:     <Configuration ID="1" Title="Sitio en blanco" Hidden="FALSE" ImageUrl="/_layouts/images/stbs.png" Description="Sitio en blanco para que lo personalice en función de sus necesidades." DisplayCategory="Colaboración" AllowGlobalFeatureAssociations="False" >    </Configuration>

  11:     <Configuration ID="2" Title="Área de documentos" Hidden="FALSE" ImageUrl="/_layouts/images/stdw.png" Description="Sitio para que varios compañeros puedan trabajar en un documento. Proporciona una biblioteca de documentos para almacenar el documento y los archivos auxiliares, una lista de tareas para la asignación de elementos pendientes y una lista de vínculos para los recursos relacionados con el documento." DisplayCategory="Colaboración" >    </Configuration>

  12:  </Template>

  13:  <Template Name="MPS" ID="2">

  14:     <Configuration ID="0" Title="Área de reuniones básica" Hidden="FALSE" ImageUrl="/_layouts/images/stmw.png" Description="Sitio para planear, organizar y capturar los resultados de una reunión. Proporciona listas para la administración de la agenda, los asistentes a la reunión y los documentos." DisplayCategory="Reuniones" SupportsMultilingualUI="FALSE" >    </Configuration>

  15:     <Configuration ID="1" Title="Área de reuniones en blanco" Hidden="FALSE" ImageUrl="/_layouts/images/stbm.png" Description="Sitio de reuniones en blanco para que la personalice en función de sus necesidades." DisplayCategory="Reuniones" SupportsMultilingualUI="FALSE" >    </Configuration>

  16:     <Configuration ID="2" Title="Área de toma de decisiones" Hidden="FALSE" ImageUrl="/_layouts/images/stdm.png" Description="Sitios para reuniones en las que se efectúa el seguimiento del estado o se toman decisiones. Proporciona listas para la creación de tareas, el almacenamiento de documentos y el registro de decisiones." DisplayCategory="Reuniones" SupportsMultilingualUI="FALSE" >    </Configuration>

  17:     <Configuration ID="3" Title="Área de reuniones sociales" Hidden="FALSE" ImageUrl="/_layouts/images/stsm.png" Description="Sitio para planificar reuniones sociales. Proporciona listas para efectuar el seguimiento de asistentes, dar instrucciones y almacenar fotos del acontecimiento." DisplayCategory="Reuniones" SupportsMultilingualUI="FALSE" >    </Configuration>

  18:     <Configuration ID="4" Title="Área de reuniones de varias páginas" Hidden="FALSE" ImageUrl="/_layouts/images/stmm.png" Description="Sitio para planear, organizar y capturar los resultados de una reunión. Proporciona listas para la administración de la agenda y los asistentes a la reunión, así como dos páginas en blanco que puede personalizar según sus necesidades." DisplayCategory="Reuniones" SupportsMultilingualUI="FALSE" >    </Configuration>

  19:  </Template>

  20:  <Template Name="CENTRALADMIN" ID="3">

  21:     <Configuration ID="0" Title="Sitio de administración central" Hidden="TRUE" ImageUrl="" Description="Sitio para la administración central. Proporciona páginas y vínculos web para la administración de aplicaciones y operaciones." >   </Configuration>

  22:  </Template>

  23:  <Template Name="WIKI" ID="4">

  24:     <Configuration ID="0" Title="Sitio Wiki" Hidden="TRUE" ImageUrl="/_layouts/images/wikiprev.png" Description="Sitio para el intercambio de ideas entre los miembros de una comunidad. Proporciona páginas web que pueden modificarse con facilidad para registrar información y, a continuación, vincularse entre sí mediante palabras clave" DisplayCategory="Colaboración" >    </Configuration>

  25:  </Template>

  26:  <Template Name="BLOG" ID="9">

  27:     <Configuration ID="0" Title="Blog" Hidden="FALSE" ImageUrl="/_layouts/images/stbg.png" Description="Sitio para que una persona o grupo exponga ideas, observaciones y conocimientos a los que los visitantes del sitio pueden hacer comentarios." DisplayCategory="Colaboración" SupportsMultilingualUI="FALSE" >    </Configuration>

  28:  </Template>

  29:  <Template Name="SGS" SetupPath="SiteTemplatessgs" ID="15">

  30:     <Configuration ID="0" Title="Sitio de grupo de trabajo" Hidden="FALSE" ImageUrl="/_layouts/images/stgb.png" Description="Esta plantilla proporciona una solución de groupware que permite a los equipos crear, organizar y compartir información rápida y fácilmente. Incluye Calendario del grupo, Circulación, Memo de llamadas de teléfono, Biblioteca de documentos y las otras listas básicas." DisplayCategory="Colaboración" >    </Configuration>

  31:  </Template>

  32:  <Template Name="TENANTADMIN" SetupPath="SiteTemplatestenantadmin" ID="16">

  33:     <Configuration ID="0" Title="Sitio de administración de inquilinos" Hidden="TRUE" ImageUrl="" Description="Sitio para la administración de inquilinos. Proporciona páginas web y vínculos para la administración sin intervención del administrador." >   </Configuration>

  34:  </Template>

  35: </Templates>

  • Como vemos, el archivo contiene una serie de elementos de tipo <Template> que a su vez pueden disponer de uno o más elementos hijos de tipo <Configuration>, de manera que dada una definición podremos tener varias configuraciones posibles. El ejemplo más claro lo tenemos para el caso de un sitio de tipo STS que admite tres configuraciones: “Sitio de grupo”, “Sitio en blanco” o “Área de documentos” lo que traducido en configuración interna nos lleva a hablar de STS#0, STS#1 y STS#2. Ese identificador será el que usemos para crear una colección de sitios por ejemplo mediante el modelo de objetos:
   1: SPWebApplication spwAplicacionWeb=

   2:     SPWebApplication.Lookup(

   3:         new Uri("http://MiAppWeb:100/"));

   4: SPSite spsColeccionSitios = 

   5:     spwAplicacionWeb.Sites.Add(

   6:     "/sitios/IT", 

   7:     "IT", 

   8:     "Sitio del departamento de IT",

   9:     Convert.ToUInt32(3082), "STS#0",

  10:     “dominio\Administrator", dominio\Administrator", "Administrador@organizacion.com");

  11:     "

  12: spsColeccionSitios.Dispose();

  • WEBTEMP.xml enumera las definiciones y en los respectivos archivos ONET.xml tendremos la configuración que aplica a cada una.

Finalmente, os dejo como listar las definiciones de sitios disponibles mediante PowerShell siguiendo este post de Waldek Mastukarz.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

3 comentarios en “SharePoint 2010: Definiciones de sitios (I)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *