我正在开发一个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但没有任何结果......
有人可以帮我解决这个问题......提前谢谢!
此致 巴拉
答案 0 :(得分:0)
FeatureStapling.xml必须具有scope =“Farm”
SiteDeletFeature必须具有scope =“Web”