Compartir a través de


Procedimiento para crear una definición y una configuración personalizadas de un sitio

Última modificación: miércoles, 02 de febrero de 2011

Hace referencia a: SharePoint Foundation 2010

No existe ningún código de procedimientos involucrado en la creación de una definición de sitio personalizada, ya que se trata de una tarea de desarrollo completamente declarativa. En primer lugar, implica la adición de marcado de Lenguaje de marcado de la aplicación de colaboración (CAML) en dos archivos imprescindibles: un archivo WebTemp*.xml y un archivo Onet.xml. En algunos escenarios, también se crean una o varias páginas del sitio personalizadas. Si desea asegurarse de que su tipo de sitio personalizado esté preparado para la globalización, también puede usar uno o varios archivos de recursos (.resx).

A veces, un tipo de sitio personalizado es una recombinación de tipos de lista, tipos de contenido, tipos de columna integrados y otras características que difiere de todos los demás tipos de sitio integrados. Pero más frecuentemente, si la solución de Microsoft SharePoint Foundation requiere un nuevo tipo de sitio, probablemente también implique uno o varios tipos de contenido personalizados, tipos de campo personalizados, tipos de lista personalizados, elementos web personalizados, adaptadores móviles personalizados para elementos web, plantillas de documento personalizadas, etc. Debe llevar a cabo todos estos tipos de proyectos de desarrollo secundarios en primer lugar para poder hacer referencia a estos elementos en el marcado de la definición de sitio personalizada.

Para configurar el proyecto

  1. En Microsoft Visual Studio, cree un proyecto Definición de sitio en la sección SharePoint | 2010 de las plantillas de proyecto. Conviértalo en una solución de granja de servidores, no en una solución de espacio aislado. Asígnele un nombre que también funcione como el nombre interno de la definición de sitio. Los usuarios no verán este nombre. Por convención, los nombres de las definiciones de sitio se escriben con todas letras mayúsculas y no tienen espacios u otros caracteres. Si va a incluir más de una configuración en la definición de sitio, tenga en cuenta que este término funcionará como el nombre de una familia de tipos de sitio personalizados, por lo que debe ser adecuado para ese rol. En este tema, se usará el nombre RESEARCH para el ejemplo.

    Nota

    En el proyecto Definición de sitio de Visual Studio y en esta documentación, generalmente se da por supuesto que se dispone de una sola definición de sitio, es decir, un elemento Template en el archivo; aunque, una vez más, puede disponer de varios tipos de sitio personalizados, es decir, varias configuraciones dentro de la definición de sitio. No obstante, puede incluir más de una definición de sitio en el mismo archivo WebTemp*.xml. En ese caso, puede resultar conveniente asignar al proyecto un nombre incluso más genérico, por ejemplo el nombre de la compañía. Además, si dispone de varias definiciones de sitio en el mismo archivo WebTemp*.xml, debe agregar archivos Onet.xml individuales al proyecto de Visual Studio para cada definición de sitio y repetir el procedimiento para configurar un archivo Onet.xml para cada definición de sitio, ya que cada una debe tener su propio archivo Onet.xml. También debe asegurarse de que el paquete de solución implemente cada uno de ellos en su propio subdirectorio de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Cada uno de estos subdirectorios debe tener el mismo nombre que el atributo Name del elemento Template correspondiente en el archivo WebTemp*.xml.

  2. Normalmente, no hay código en un proyecto de definición de sitio y no debe haber ningún ensamblado. Sin embargo, de manera predeterminada, Visual Studio siempre compila un ensamblado de todas maneras con cada proyecto. El ensamblado no incluirá ninguna clase si no hay código en el proyecto, pero una vez más, Visual Studio lo implementa de manera predeterminada con el paquete de solución. Esto significa que se agregará un ensamblado sin sentido a la memoria caché global de ensamblados. Por lo tanto, a menos que agregue elementos al proyecto que se compilen en un ensamblado, debería deshabilitar este comportamiento predeterminado de Visual Studio. De lo contrario, la solución implementará un ensamblado sin sentido que puede confundir a los administradores de la granja de servidores o a cualquiera que depure una implementación de SharePoint. Seleccione el nombre del proyecto en el Explorador de soluciones. Se abrirá una ventana Propiedades. Establezca la propiedad Incluir ensamblado en paquete en false.

Para configurar un archivo WebTemp*.xml

  1. Abra el archivo WebTemp*.xml en el Explorador de soluciones. En el ejemplo de este artículo, se trata del archivo WebTemp_RESEARCH.xml.

    SugerenciaSugerencia

    Puede resultar útil tener el archivo integrado WebTemp.xml abierto como modelo mientras se realiza este procedimiento. Este se encuentra en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\lcid\XML, donde lcid es el identificador numérico de un idioma o referencia cultural, como 1033 para inglés. El archivo que va a crear se combinará con el archivo integrado. No cambie el archivo integrado. El nombre del archivo personalizado debe coincidir con el patrón WebTemp*.xml.

  2. Cambie el atributo ID del elemento Template a un valor de 10.000 o superior. Esto garantizará que el identificador no entre en conflicto con definiciones de sitio futuras producidas por Microsoft. Si hay otras definiciones de sitio personalizadas en la granja de servidores de destino, asegúrese de que cada una tenga un identificador exclusivo.

  3. Hay un elemento Configuration predeterminado en el elemento Template. Si la definición de sitio va a tener más de una configuración, es decir, si representará una familia de tipos de sitio relacionados, copie el elemento Configuration de modo que haya uno para cada tipo de sitio personalizado que necesite en la familia. En el ejemplo de este artículo, habrá dos configuraciones. Para obtener más información acerca de cuándo se deben tener varias configuraciones en una sola definición de sitio, vea Elección entre varias definiciones o varias configuraciones.

  4. Deje el atributo ID del elemento Configuration original en 0, pero cambie la numeración de las copias realizadas en orden comenzando desde 1.

  5. Cambie los atributos Title y Description para cada elemento Configuration a valores adecuados para las configuraciones de sitio personalizadas. Estos nombres y descripciones aparecerán en la interfaz de usuario cuando los usuarios creen sitios web nuevos.

  6. Si dispone de una imagen personalizada que desea que aparezca en la interfaz de usuario, como un símbolo del tipo de sitio personalizado, cuando los usuarios creen sitios a partir de sus configuraciones de sitio personalizadas, cambie el valor de los atributos ImageUrl según sea necesario.

  7. Cambie el valor DisplayCategory de cada elemento Configuration según sea necesario. Este valor establece el nombre de la categoría bajo la cual aparecerá la configuración del sitio en la interfaz de usuario cuando un usuario cree un sitio web. En muchos casos, resulta apropiado usar la misma cadena que se usó para el atributo Name del elemento Template. Otra posibilidad consiste en usar el nombre de la compañía. También puede usar las categorías integradas "Collaboration" o "Meetings". Se recomienda no usar "Custom". La categoría "Custom", de manera predeterminada, contiene plantillas web en lugar de configuraciones de definición de sitio y es preferible que los administradores conserven ese patrón.

  8. El atributo Hidden debe tener el valor FALSE en todos los elementos Configuration.

Para obtener más información acerca de la personalización del archivo WebTemp*.xml, vea Descripción de archivos WebTemp*.xml y Elemento Templates (Sitio).

A continuación se presenta un ejemplo de un archivo WebTemp_RESEARCH.xml personalizado. El archivo usa dos elementos Configuration para definir configuraciones de definición de sitio distintas, una para un sitio de colaboración de investigación y otra para un sitio de área de trabajo de documentos de investigación. Ambas definiciones de sitio aparecerán en una categoría denominada "Research & Development" (Investigación y desarrollo) en la interfaz de usuario.

<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft.SharePoint">
  <Template Name="RESEARCH" ID="10001">
    <Configuration ID="0" Title="Research Collaboration site" 
      Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg" 
      Description="This definition creates a site for the Research 
      team to create, organize, and share general information." 
      DisplayCategory="Research & Development">
    </Configuration>
    <Configuration ID="1" Title="Research Document Workspace" Hidden="FALSE" 
      ImageUrl="_layouts/images/dwsprev.jpg" Description="This 
      definition creates a site for Research team colleagues to 
      work together on specific documents." 
      DisplayCategory="Research & Development">
    </Configuration>
  </Template>
</Templates>

Nota

En el modelo de objetos de Microsoft SharePoint Foundation, una configuración de definición de sitio y su definición de sitio primario se representan por medio de un objeto Microsoft.SharePoint.SPWebTemplate. La propiedad Name de ese objeto concatena el nombre de definición y el identificador de configuración con un símbolo "#" entre ellos. Así pues, los nombres de las dos configuraciones de definición de sitio del ejemplo anterior serían "RESEARCH#0" y "RESEARCH#1".

Para configurar un archivo Onet.xml

  1. Abra el archivo Onet.xml desde el Explorador de soluciones.

  2. Puesto que decide crear una definición de sitio en lugar de una plantilla web, debe realizar al menos uno de los siguientes elementos con viñetas, que no pueden realizarse con las plantillas web. (Para obtener más información acerca de si debe crear una definición de sitio personalizada o una plantilla web, vea Decidir entre plantillas web personalizadas y definiciones de sitio personalizadas).

    • Registre un pie de página de correo electrónico personalizado que aparecerá en los mensajes de correo electrónico enviados desde los sitios web creados a partir de la definición de sitio personalizada. Para ello, agregue un elemento ServerEmailFooter como elemento secundario del elemento Project. Para obtener más información, vea Elemento ServerEmailFooter (Sitio).

    • Configure el tipo de sitio personalizado para que use un postprocesador de cuadros de diálogo de archivo personalizado o un proveedor de seguridad externo. Para ello, agregue un elemento Components como elemento secundario del elemento Project. Para obtener más información, vea Elemento Components (Sitio) y los temas de sus elementos secundarios.

    • Registre un tipo de documento personalizado para su uso en bibliotecas de documentos de sitios web creados a partir de la definición de sitio personalizada. Para ello, siga estos pasos.

      1. Agregue un elemento DocumentTemplates como elemento secundario del elemento Project y agregue un elemento DocumentTemplate como elemento secundario del elemento DocumentTemplates.

      2. Establezca el atributo Path del elemento DocumentTemplate en el mismo nombre que usó para el valor del atributo Name del elemento Template en el archivo WebTemp*.xml personalizado. Para continuar con el ejemplo, use "RESEARCH".

      3. Establezca el atributo Type del elemento DocumentTemplate en un valor de 10.000 o superior para garantizar que no entre en conflicto con plantillas de documento futuras creadas por Microsoft.

      4. Establezca los atributos DisplayName y Description del elemento DocumentTemplate en los valores adecuados.

      5. Agregue y establezca los demás atributos posibles del elemento DocumentTemplate según sea necesario. Para obtener más información, vea Procedimiento para agregar plantillas de documento, tipo de archivo y edición de una aplicación en una definición de sitio, Elemento DocumentTemplate (Sitio) y Elemento DocumentTemplates (Sitio).

      6. Agregue un elemento DocumentTemplateFiles secundario al nuevo elemento DocumentTemplate. A continuación, agréguele al menos un elemento DocumentTemplateFile secundario y establezca sus atributos. Para obtener más información, vea Procedimiento para agregar plantillas de documento, tipo de archivo y edición de una aplicación en una definición de sitio y Elemento DocumentTemplateFile (Sitio).

      Repita los pasos anteriores para cada plantilla de documento personalizada que forme parte de la definición de sitio personalizada. A cada elemento DocumentTemplate se le debe proporcionar un valor de atributo Type diferente. En un paso posterior registrará las plantillas de documento integradas para el tipo de sitio personalizado.

  3. Establezca los siguientes atributos del elemento Project en los valores adecuados. (Solo son necesarios Title y ListDir, y el valor ListDir puede ser una cadena vacía).

    1. ListDir

    2. Revision

    3. SiteLogoUrl

    4. SiteLogoDescription

    5. Title

    No use el atributo UIVersion. Para obtener más información acerca de estos atributos, vea Elemento Project (Site).

  4. Si desea registrar alguna plantilla de documento integrada para su uso en sitios personalizados, puede seguir estos pasos.

    1. Si todavía no lo hizo en un paso anterior, agregue un elemento DocumentTemplates como elemento secundario del elemento Project.

    2. Copie elementos DocumentTemplate según sea necesario desde el archivo Onet.xml del sitio de grupo estándar, ubicado en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\SiteTemplates\sts\XML, y péguelos en el elemento DocumentTemplates.

  5. Agregue elementos Configuration al elemento Configurations para que haya la misma cantidad de elementos Configuration que hay en el archivo WebTemp*.xml personalizado creado en el procedimiento anterior.

  6. Establezca el atributo ID de cada elemento Configuration en números consecutivos comenzando desde 0. Al realizar cambios adicionales en los elementos Configuration, recuerde que la configuración del archivo Onet.xml simplemente especifica los detalles de la configuración del archivo WebTemp*.xml con el mismo número de identificación. Por lo tanto, en el ejemplo de este artículo, la configuración 0 del archivo Onet.xml proporciona los detalles de la configuración del sitio de colaboración de investigación del archivo WebTemp_Research.xml y la configuración 1 especifica los detalles de la configuración del área de trabajo de documentos de investigación.

  7. Establezca el atributo Name de cada elemento Configuration. No es necesario que el valor de atributo Name coincida con el valor de atributo Title de la configuración correspondiente del archivo WebTemp*.xml. Por convención, el primero es un acrónimo del segundo. En el ejemplo de este artículo, se asignan los nombres "RC" y "RDW" a las configuraciones 0 y 1, respectivamente.

  8. En cada elemento Configuration, agregue elementos List secundarios al elemento Lists según sea necesario para garantizar que cada sitio web creado a partir de una de las configuraciones se cree automáticamente con las listas deseadas. (Si el elemento Lists es inicialmente una etiqueta de elemento vacío, <Lists />, divídalo en etiquetas iniciales y finales: <Lists></Lists>).

    Para cualquiera de los tipos de lista integrados, copie el elemento List desde uno de los archivos Onet.xml integrados de las carpetas descendientes de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Para el tipo de lista personalizado, debe construir un elemento List. Por ejemplo, si define un tipo de lista denominado "My_Custom_List" con un atributo Type de 10001, puede agregar <List Title="My_Custom_List" Type="10001" Url="Lists/My_Custom_List" FeatureId="guid"/> para hacer el elemento Lists. El atributo Url contiene la dirección URL de la carpeta que contiene la definición de lista de cada lista, que incluye los archivos ASPX, el archivo Schema.xml y todos los archivos relacionados. Cuando se especifica, el atributo QuickLaunchUrl contiene la ruta de acceso completa al archivo AllItems.aspx de una lista, que muestra la lista en el área Inicio rápido. Para obtener más información acerca de cómo registrar una lista en una configuración de definición de sitio, vea Elemento List (Site) y Bloque de creación: bibliotecas de listas y documentos.

  9. En cada elemento Configuration, agregue elementos Module secundarios en el elemento Modules según sea necesario para garantizar que cada sitio web creado a partir de una de las configuraciones se cree automáticamente con los archivos necesarios. Cada módulo al que se hace referencia en una configuración debe definirse en el elemento Modules principal que también se encuentra en el archivo Onet.xml, pero fuera del elemento Configurations. Para obtener más información acerca de cómo registrar los módulos en un archivo Onet.xml, vea Elemento Module (Sitio) y Módulos.

  10. En cada elemento Configuration, agregue elementos Feature secundarios en los elementos SiteFeatures y WebFeatures según sea necesario para garantizar que cada sitio web creado a partir de una de las configuraciones se cree automáticamente con las características necesarias y que estas estén activadas. Use el elemento SiteFeatures para registrar las características en el ámbito de la colección de sitios. Use WebFeatures para registrar las características en el ámbito del sitio web. Las características registradas, incluidas las características personalizadas creadas, deben haberse implementado ya en una subcarpeta de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES en el momento en que un sitio web se crea a partir de la configuración de definición de sitio. Por ejemplo, puede agregar un tipo de contenido, como se describe en Procedimiento para agregar un tipo de contenido a un sitio, o un tipo de columna a la configuración, como se describe en Procedimiento para agregar una columna a un sitio. Para registrar cualquiera de las características integradas incluidas en SharePoint Foundation, puede copiar los elementos Feature desde los elementos SiteFeatures y WebFeatures en cualquiera de los archivos Onet.xml integrados de las carpetas descendientes de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Para obtener más información acerca de cómo registrar las características, vea Elemento WebFeatures (Sitio) y Elemento SiteFeatures (Site).

    A continuación se presenta un ejemplo de un elemento Configurations que continúa con el ejemplo de este artículo.

    <Configurations>
      <Configuration ID="0" Name="RC">
        <Lists>
          <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" /> 
          <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;" /> 
          <List FeatureId="00BFEA71-D1CE-42de-9C63-A44004CE0104" 
            Type="104" Title="$Resources:core,announceList;" 
            Url="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;">
            <Data>
              <Rows>
                <Row>
                  <Field Name="Title">$Resources:onetid11;</Field> 
                  <Field Name="Body">$Resources:onetid12;</Field> 
                  <Field Name="Expires"><ows:TodayISO/></Field> 
                </Row>
              </Rows>
            </Data>
          </List>
          <List FeatureId="00BFEA71-2062-426C-90BF-714C59600103" 
            Type="103" Title="$Resources:core,linksList;" 
            Url="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" /> 
          <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;" /> 
          <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" /> 
        </Lists>
        <Modules>
          <Module Name="Default" /> 
        </Modules>
        <SiteFeatures>
          <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> 
        </SiteFeatures>
        <WebFeatures>
          <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> 
        </WebFeatures>
      </Configuration>
      <Configuration ID="1" Name="RDW">
        <Lists>
          <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" 
            Type="101" Title="$Resources:core,shareddocuments_Title;" 
            Url="$Resources:core,shareddocuments_Folder;" /> 
          <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;" /> 
          <List FeatureId="00BFEA71-D1CE-42de-9C63-A44004CE0104" 
            Type="104" Title="$Resources:core,announceList;" 
            Url="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;">
            <Data>
              <Rows>
                <Row>
                  <Field Name="Title">$Resources:onetid11;</Field> 
                  <Field Name="Body">$Resources:onetid12;</Field> 
                  <Field Name="Expires"><ows:TodayISO/></Field> 
                </Row>
              </Rows>
            </Data>
          </List>
          <List FeatureId="00BFEA71-2062-426C-90BF-714C59600103" 
            Type="103" Title="$Resources:core,linksList;" 
            Url="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" /> 
          <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" /> 
          <List FeatureId="00BFEA71-A83E-497E-9BA0-7A5C597D0107" 
            Type="107" Title="$Resources:core,taskList;" 
            Url="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;" /> 
        </Lists>
        <Modules>
          <Module Name="DWS" /> 
        </Modules>
        <SiteFeatures>
          <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> 
        </SiteFeatures>
        <WebFeatures>
          <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> 
        </WebFeatures>
      </Configuration>
    </Configurations>
    
  11. Si desea que una página específica se abra automáticamente para los usuarios que crean un sitio a partir de la configuración de definición de sitio, agregue un elemento ExecuteUrl al elemento Configuration. Normalmente, este elemento se usa para abrir una página de aplicación personalizada específica creada en la que el usuario puede establecer ciertas opciones relevantes al tipo de sitio personalizado. Para obtener más información acerca de este elemento, vea Elemento ExecuteUrl (Sitio). Para obtener más información acerca de las páginas de aplicación personalizadas, vea Tipo de página _layouts de aplicaciones.

  12. Agregue elementos NavBar secundarios al elemento NavBars para personalizar las áreas de navegación de las páginas de los sitios web creados a partir de la definición de sitio personalizada. Normalmente, la forma más sencilla de hacerlo consiste en copiar los elementos NavBar desde uno de los archivos Onet.xml integrados en las carpetas descendientes de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. (El elemento NavBars se aplica a los sitios web basados en cualquiera de las configuraciones de la definición de sitio). Para obtener más información sobre este marcado, vea Elemento NavBar (Sitio).

  13. Algunos de los tipos de lista venerables que aparecen en sitios de reuniones o blogs se crearon antes de la introducción de las características en SharePoint Foundation. Estos tipos de lista se especifican en los elementos ListTemplate de los archivos Onet.xml de las definiciones de sitio MPS y BLOG. Si necesita alguno de estos tipos de lista en la definición de sitio personalizada, agregue un elemento ListTemplates como elemento secundario del elemento Project y, a continuación, cópiele los elementos ListTemplate necesarios desde los archivos Onet.xml de MPS y BLOG. (No agregue elementos ListTemplate personalizados. En su lugar, cree listas personalizadas como características y haga referencia a la característica en un elemento List secundario de un elemento Lists en el elemento Configuration, como se describe en un paso anterior). Para obtener más información acerca del marcado de la plantilla de lista, vea Elemento ListTemplate (Sitio).

  14. Agregue elementos Module secundarios al elemento Modules principal directamente bajo el elemento Project para garantizar que cada vez que se cree un sitio web del tipo personalizado, se aprovisione automáticamente con los archivos y los elementos web para todos los usuarios necesarios. Debe hacerse referencia a todos los módulos nuevos que agregue en un elemento Modules secundario que se encuentre dentro de un elemento Configuration. Si no se hace referencia a un módulo dentro de al menos una configuración, no se usará. Para registrar cualquiera de los módulos integrados incluidos en SharePoint Foundation, puede copiar el elemento Module correspondiente desde uno de los archivos Onet.xml integrados en las carpetas descendientes de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Para obtener más información acerca del marcado de los módulos, vea Elemento Modules (Site).

  15. Si desea que las páginas de los sitios web creados a partir de la definición tengan un área de encabezado personalizada específica, establezca el atributo AlternateHeader del elemento Project. Para obtener más información, vea Elemento Project (Site).

  16. Si desea que las páginas de los sitios web creados a partir de la definición tengan funciones de ECMAScript (código de JavaScript o Microsoft JScript) personalizadas (como la personalización del menú Editar), establezca el atributo CustomJSUrl del elemento Project. Para obtener más información, vea Elemento Project (Site).

  17. Si desea evitar que ciertos tipos de funciones de Microsoft SharePoint Designer u otras aplicaciones de diseño funcionen en las páginas de los sitios web creados a partir de la definición (como la creación de subsitios o copias de seguridad), establezca el atributo DisableWebDesignFeatures del elemento Project. Para obtener más información, vea Elemento Project (Site).

  18. Puede crear definiciones de estilo de hojas de estilos en cascada (CSS) personalizadas para su uso por parte de los sitios web creados a partir de la definición; para ello, cree un archivo .css con un nombre único en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\LCID\STYLES, donde LCID es el identificador numérico del idioma o referencia cultural, como 1033 para inglés. Copie en este archivo nuevo el contenido del archivo .css predeterminado especificado dentro de las páginas .aspx de la definición de sitio y agregue o actualice los estilos en el archivo .css nuevo. Use el atributo AlternateCSS del elemento Project para especificar la ruta de acceso al archivo .css nuevo. A continuación se muestra un ejemplo.

    AlternateCSS = 
    "/_layouts/[%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%]/styles/MyStyles.css">
    

Para personalizar las páginas del sitio

  1. Haga doble clic en el archivo Default.aspx en el Explorador de soluciones. Puede editarlo según sea necesario; incluso puede apuntarlo a una página maestra personalizada. Para obtener más información acerca de la personalización de las páginas del sitio, vea el nodo Sitios y páginas.

  2. Si es necesario que los sitios web basados en el tipo de sitio personalizado tengan automáticamente otros tipos de páginas cuando se crean los sitios, agregue más páginas .aspx según sea necesario para el proyecto. Para ello, haga clic con el botón secundario en el nodo Definición de sitio (no en el nombre del proyecto) en el Explorador de soluciones y agregue un archivo denominado custompage.aspx. La adición del archivo de este modo garantiza que se registre en el manifiesto del paquete y se implemente en la ubicación adecuada al implementar la solución.

  3. Si incluye una página maestra personalizada como parte de la solución, es importante agregarla al proyecto correctamente para que el manifiesto de la solución la implemente en la ubicación correcta. Haga clic con el botón secundario en el nombre del proyecto en el Explorador de soluciones (no en el nodo Definición de sitio), elija Agregar y, a continuación, seleccione Carpeta asignada de SharePoint.

  4. En el cuadro de diálogo Agregar carpeta asignada de SharePoint, seleccione TEMPLATE\GLOBAL y, a continuación, haga clic en Aceptar.

  5. En el Explorador de soluciones, haga clic con el botón secundario en el nodo GLOBAL y agregue un nuevo archivo con la extensión de nombre de archivo .master. Se creará el nuevo archivo en el nodo GLOBAL y se registrará en el manifiesto del paquete de solución.

  6. Abra la nueva página maestra y agregue marcado. Para obtener más información acerca de las páginas maestras personalizadas, vea Páginas maestras.

Para implementar y probar la definición de sitio

  1. En el menú Generar, seleccione Implementar solución. Se implementarán automáticamente todos los archivos en sus ubicaciones correctas y se reciclará la aplicación web.

    SugerenciaSugerencia

    Si el entorno de desarrollo es una granja de varios servidores en lugar de una instalación de un solo servidor, Visual Studio agregará la solución a la galería de soluciones de la granja en la aplicación de Administración central, pero no la implementará. Impleméntela en Administración central.

  2. Agregue un sitio a la granja de desarrollo basado en una de las configuraciones de sus configuraciones de definición de sitio personalizadas. En la interfaz de usuario de la creación del sitio nuevo, debería ver los nuevos tipos de sitio. En el ejemplo de este artículo, se mostrarán Research Collaboration site (Sitio de colaboración de investigación) y Research Document Workspace (Área de trabajo de documentos de investigación) en una categoría denominada Research & Development (Investigación y desarrollo).

Localización de las definiciones de sitios personalizadas

Para obtener información acerca de cómo crear versiones localizadas de la definición de sitio personalizada, vea Procedimiento para crear versiones localizadas de las definiciones de sitios personalizadas.

Vea también

Conceptos

Tipos de sitio: WebTemplates y definiciones de sitio

Introducción a la creación de definiciones de sitios personalizadas

Elección entre varias definiciones o varias configuraciones