In Microsoft SharePoint Foundation, when users create a site through
the user interface (UI), they do so by selecting one of two possible
types of foundations that can define how to instantiate the site:
Site definitions consist primarily of multiple XML and ASPX files stored on a front-end web server in folders under the %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates directory.
Custom web templates are stored in the database—specifically, the sandbox solutions gallery—and are created by using an existing site, with or without its specific content, as a model. This provides a means for reusing sites that you have customized.
Because custom web templates are based on existing sites, at least the first site in any SharePoint Foundation deployment must be founded on a particular configuration within a site definition.
In the SharePoint Foundation object model, an SPCustomWebTemplate can represent either a site definition (and configuration) or a custom web template.
In Collaborative Application Markup Language (CAML) markup, a site definition is represented by the combination of two things:
By contrast, a custom web template is stored as a .wsp file in the SharePoint Foundation database and is listed in the Sandbox Solutions gallery for the site collection. You can copy the file to a folder, change its extension to ".cab", and open it. The .wsp file includes an elements.xml file, and in that file is a WebTemplate element. There is also an Onet.xml file in the .wsp package, although it is simpler than the Onet.xml that is typically found in a site definition.
The topics in this section describe how you can create custom web templates (the preferred approach) and custom site definitions (which in some scenarios you must do)
-
A site definition configuration (which is a part of a site definition)
-
A custom web template
Site definitions consist primarily of multiple XML and ASPX files stored on a front-end web server in folders under the %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates directory.
Custom web templates are stored in the database—specifically, the sandbox solutions gallery—and are created by using an existing site, with or without its specific content, as a model. This provides a means for reusing sites that you have customized.
Because custom web templates are based on existing sites, at least the first site in any SharePoint Foundation deployment must be founded on a particular configuration within a site definition.
*Note: |
---|
In some ways, web templates continue to depend, throughout their life cycle, on the site definition that is their ultimate foundation. For this reason, we do not support changing or removing a site definition after sites have been created from it. Such changes may cause sites that are created from the definition (or created from web templates that are based on the site definition) to stop working correctly, or they may prevent the creation of new sites that are based directly, or indirectly, on the site definition. |
In Collaborative Application Markup Language (CAML) markup, a site definition is represented by the combination of two things:
-
A Template
element in a WebTemp*.xml file in the installation directory, usually
%ProgramFiles%\Common Files\Microsoft Shared\web server
extensions\14\TEMPLATE\LCID\XML\, where LCID is the numeric ID of the language/culture, such as 1033 for English.
-
An Onet.xml file in the installation directory, usually
%ProgramFiles%\Common Files\Microsoft Shared\web server
extensions\14\TEMPLATE\SiteTemplates\site_type\XML\, where site_type is the name of the site definition. So site_type can be "STS," "MPS," "BLOG," "SGS," or the name of a custom type of site.
By contrast, a custom web template is stored as a .wsp file in the SharePoint Foundation database and is listed in the Sandbox Solutions gallery for the site collection. You can copy the file to a folder, change its extension to ".cab", and open it. The .wsp file includes an elements.xml file, and in that file is a WebTemplate element. There is also an Onet.xml file in the .wsp package, although it is simpler than the Onet.xml that is typically found in a site definition.
The topics in this section describe how you can create custom web templates (the preferred approach) and custom site definitions (which in some scenarios you must do)
0 comments:
Post a Comment