SharePoint功能激活新站点(Stapling ???)

时间:2010-07-15 11:32:02

标签: sharepoint wss-3.0

我正在开发一个sharepoint功能,该功能在sitecollection级别和站点级别备份站点,用户尝试删除该站点。在激活该功能时,该功能正常运行,没有现有网站集和网站的问题。 为了给出更多图片,我正在事件SiteDeleting和WebDeleting事件中通过代码进行备份。使用FeatureActivated事件连接此事件。据我所知,由于我的代码(我在FeatureActivated事件中挂钩SiteDeleting和WebDeleting事件),这可以确保事件仅为现有站点挂钩。激活该功能后,如果我创建新的网站集/网站,则该功能不起作用(即删除网站时不进行备份)。

我试图激活新网站的事件,因此我看是否会有像sitecreating这样的类似事件,我可以再次连接新网站的SiteDeleting和WebDeleting事件。但是经过一些研究后我才知道没有可以使用的网站创建事件。经过谷歌搜索后,我发现它可以通过一个名为stapling的功能完成,我们需要创建另一个功能,通过模板名称将此功能附加到新站点。我已经尝试安装这个功能(我的原始功能和装订功能),但它似乎永远不会起作用......

我对共享点开发非常陌生,并且花时间修复它。如果有人可以帮助我使这个功能适用于新网站,那将是很棒的。我相信我在feature.xml内容的feature.xml中列出了一些错误。

**** SiteDeletFeature(我的原创特写)** 的的Feature.xml

<?xml version="1.0" encoding="utf-8" ?>
<Feature Title="My SharePoint Delete Feature"
   Scope ="WebApplication" 
   ActivateOnDefault="True" 
   Hidden="false"
   Id="DA910034-F270-4932-90D0-05AE2EE13192"
   xmlns="http://schemas.microsoft.com/sharepoint/"
   ReceiverAssembly="My.Sharepoint.SiteDeleteFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=762e98b8afce5f9b"
   ReceiverClass="My.Sharepoint.SiteDeleteFeature.DeleteFeatureCallOut">
  <ElementManifests>
    <ElementManifest Location="Elements.xml"/>
  </ElementManifests>
</Feature>

SiteDeleteFeatureStapling feature.xml的

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
 Id="D0495B32-9F78-4142-A456-48B3ECBFFD6C" 
 ActivateOnDefault="True"
 Title="My SharePoint Delete Feature"
 Description="My SharePoint Delete Feature"
 Version="0.0.0.0"
 Scope="Farm">
 <ElementManifests>
  <ElementManifest Location="FeatureStapling\FeatureStapling.xml" />
 </ElementManifests>
</Feature>

FeatureStapling.xml

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (c) Microsoft Corporation. All rights reserved. -->
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
 <FeatureSiteTemplateAssociation Id="DA910034-F270-4932-90D0-05AE2EE13192" TemplateName="STS#0" />
 .
 .
 .//goes on, i have included all template names
 <FeatureSiteTemplateAssociation Id="DA910034-F270-4932-90D0-05AE2EE13192" TemplateName="MyCOMMUNITY" />
</Elements>

我已尝试在SiteDeleteFeatureStapling的Scope参数中使用各种选项,例如Web,Site但没有任何结果......

有人可以帮我解决这个问题......提前谢谢!

此致 巴拉

1 个答案:

答案 0 :(得分:0)

FeatureStapling.xml必须具有scope =“Farm”

SiteDeletFeature必须具有scope =“Web”