【发布时间】:2011-07-28 02:40:27
【问题描述】:
我为我的自定义博客网站定义创建了许多网络范围的功能。我的所有功能都运行良好,但是它们出现在我的网站集中所有网站的“网站功能”页面上——不仅仅是博客。
显然它们只与博客相关(因为它们会在博客帖子上启用匿名 cmets 等操作)。
有没有办法将某些网络范围内的功能的可见性限制在特定类型的网站(即从特定网站定义创建的网站)?
【问题讨论】:
标签: sharepoint-2010 site-definition
我为我的自定义博客网站定义创建了许多网络范围的功能。我的所有功能都运行良好,但是它们出现在我的网站集中所有网站的“网站功能”页面上——不仅仅是博客。
显然它们只与博客相关(因为它们会在博客帖子上启用匿名 cmets 等操作)。
有没有办法将某些网络范围内的功能的可见性限制在特定类型的网站(即从特定网站定义创建的网站)?
【问题讨论】:
标签: sharepoint-2010 site-definition
我认为不可能这样做。
如果您担心人们会从用户界面激活您的功能,您可以隐藏您的功能。
<Feature Hidden="TRUE"></Feature>
然后在您的自定义 BLOG 站点模板的 ONET.xml 中,您可以强制在创建站点时激活您的功能。
<Configurations>
<Configuration>
<WebFeatures>
<Feature ID="[Insert GUID of your feature]"/>
</WebFeatures>
</Configuration>
</Configurations>
这不会阻止通过 STSADM 或 PowerShell 激活该功能。如果您想走得那么远,也许您可以在您的功能中添加一个功能接收器,以防止它在非 BLOG 网站上被激活...但是真的有必要吗?
【讨论】: