通过SPWebProvisioningProvider实现网站集创建后事件
定义站点:
WebTemp.xml:
<?xml version="1.0" encoding="utf-8"?>
<Templates xmlns:ows="Microsoft SharePoint">
<Template Name="EDSTEAM" ID="100100">
<Configuration ID="0"
Title="团队空间网站模板"
Hidden="FALSE"
ImageUrl="/_layouts/images/ChannelTemplate.JPG"
DisplayCategory="团队空间"
Description="此模板用于移动团队空间网站模板"
RootWebOnly="TRUE"
AllowGlobalFeatureAssociations="TRUE"
ProvisionAssembly="EDS.TeamSpace.SiteDefinition,Version=1.0.0.0, Culture=neutral, PublicKeyToken=12314e2835b3a0a1"
ProvisionClass="EDS.TeamSpace.SiteDefinition.SiteProvisioning"
>
</Configuration>
<Configuration ID="1"
Title="团队空间网站模板"
Hidden="TRUE"
ImageUrl="/_layouts/images/ChannelTemplate.JPG"
DisplayCategory="团队空间"
Description="此模板用于移动团队空间网站模板。此模板负责实际模板的创建工作,由模板0的Provisioning方法引用生成。"
RootWebOnly="TRUE"
AllowGlobalFeatureAssociations="TRUE"
>
</Configuration>
</Template>
</Templates>
onet.xml
<Configurations>
<Configuration ID="0" Name="NewSite" CustomMasterUrl="~masterpage/edsteam.master"
MasterUrl="~masterpage/edsteam.master"></Configuration>
<Configuration ID="1" Name="Default" CustomMasterUrl="~masterpage/edsteam.master"
MasterUrl="~masterpage/edsteam.master">
<Lists>
<List FeatureId="F784444E-A251-463f-9678-2D20A5C9A38B" Type="101001" Title="外部共享文档区" Description="团队空间外部共享文档区" Url="EDSTeamExternalDoc"/>
<List FeatureId="AD28CFCE-BF86-4cb0-9103-9EC8FF0F3299" Type="101002" Title="内部协作文档区" Description="团队空间内部协作文档区" Url="EDSTeamInternalDoc"/>
<List FeatureId="E640D894-A4C1-436c-929A-6798E914C0BA" Type="101003" Title="内部加密文档区" Description="团队空间内部加密文档区" Url="EDSTeamRMSDoc"/>
<List FeatureId="3CE4AE81-AF64-490f-9282-C41521208A8F" Type="104001" Title="团队空间新闻" Description="团队空间新闻"/>
<List FeatureId="84f90728-e381-4358-9bf5-14a6efd2cfea" Type="109" Title="外部共享图片区" Description="团队空间外部共享图片区" Url="EDSTeamExternalImg"/>
<List FeatureId="fbc0486a-8793-4e8e-ad30-8061e67b250a" Type="109" Title="内部协作图片区" Description="团队空间内部协作图片区" Url="EDSTeamInternalImg"/>
</Lists>
<Modules>
<Module Name="Default"/>
<Module Name="CustomMaster" />
</Modules>
<SiteFeatures>
<!-- BasicWebParts Feature -->
<Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57"/>
<!-- Three-state Workflow Feature -->
<Feature ID="FDE5D850-671E-4143-950A-87B473922DC7"/>
<!--EDSTeamDocBase Feature-->
<Feature ID="4403c025-5c64-4be9-af55-c7856c085bae" />
<!--EDSTeamExternalDoc-->
<Feature ID="144ebcbb-1cd8-432b-8ef1-67bcffdb0e00" />
<!--EDSTeamInternalDoc-->
<Feature ID="91a74b52-b06b-4892-afdb-22cb9f350ba7" />
<!--EDSRMSDoc-->
<Feature ID="dadba5fc-42ac-432b-9525-30d8474ed4a1" />
</SiteFeatures>
<WebFeatures>
<Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5"/>
<!-- TeamCollab Feature -->
<Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4"/>
<!-- MobilityRedirect -->
<!--外部共享文档区-->
<Feature ID="F784444E-A251-463f-9678-2D20A5C9A38B" />
<!--外部共享图片区-->
<Feature ID="84f90728-e381-4358-9bf5-14a6efd2cfea" />
<!--内部协作文档区-->
<Feature ID="AD28CFCE-BF86-4cb0-9103-9EC8FF0F3299" />
<!--内部协作图片区-->
<Feature ID="fbc0486a-8793-4e8e-ad30-8061e67b250a" />
<!--内部加密文档区-->
<Feature ID="E640D894-A4C1-436c-929A-6798E914C0BA" />
<!--团队空间新闻-->
<Feature ID="3CE4AE81-AF64-490f-9282-C41521208A8F" />
<!--EDSTeamWebInitialization-->
<Feature ID="3f9ff8ed-e363-4982-a77a-37c4ae2690b6" />
<!--EDSTeamRMSDocPermEvHandler-->
<Feature ID="a3c10dd6-acc1-4897-937b-afe31b3b5b68" />
<!--EDSTeamItemEventHandler-->
<Feature ID="f09dc393-2a55-4f72-8a2c-9dea65194f9b" />
</WebFeatures>
</Configuration>
</Configurations>
<Modules>
<Module Name="Default" Url="" Path="">
<File Url="default.aspx" NavBarHome="True" Type="Ghostable" ></File>
</Module>
<Module Name="CustomMaster" Url="_catalogs/masterpage" List="116">
<File Url="edsteam.Master" Type="GhostableInLibrary"></File>
</Module>
</Modules>
SiteProvisioning .cs
namespace EDS.TeamSpace.SiteDefinition
{
public class SiteProvisioning : SPWebProvisioningProvider
{
public override void Provision(SPWebProvisioningProperties props)
{
using (SPWeb spWeb = props.Web)
{
spWeb.ApplyWebTemplate("EDSTEAM#1");
//SPWeb权限设置
SPBizHelper.HelperInstance.AssignSPWebPermission(spWeb);
//初始化列表权限
SPBizHelper.HelperInstance.AssignCustomeSPListPermission(spWeb);
//为加密文档区设置RMS权限
SPBizHelper.HelperInstance.EnableSPListRMS(spWeb, SPBizConst.SP_ListName_RMSDoc);
}
}
}
}