我有一个有关SharePoint功能的升级过程的疑问。

在我的功能中,我正在部署一个自定义站点模板以及几个列表定义,WebParts等。但是,使用网站模板创建的新站点呢?是总是创建并立即使用更新而更新的。还是我应该确保我还将新元素本身纳入本身?

另外,我尝试扩展具有两个新视图的列表,但我不确定该怎么做。我只是在列表架构中包含了视图,但这似乎仅适用于新创建的网站。这两个新视图并未扩展现有站点。我最终创建了一个自定义代码升级,该升级部署了现有站点的两个新视图,并在schema.xml中为新站点提供了定义,但是我想可能有更好的方法可以做同样的方法。

有帮助吗?

解决方案

回答你的第一个问题

是的,您需要在ElementManifests和升级 - > forsionrange-> ApplyManifests下包含任何其他清单。原因是,一旦您部署了一个新版本的功能,SharePoint就将旧版本替换为新版本。当激活更新的版本时,它仅处理元素下的文件。它将根本不会处理升级(因为正在激活当前版本,而不是创建旧版本并升级它)

第二个问题

查看更改的性质(将新视图添加到现有列表中),我认为您选择使用代码是正确的,因为SharePoint不支持独立的功能清单元素,该元素可以将视图添加到现有列表中。请记住,版本升级支持如记录的现有内容类型(使用AddContentTypefield)之类的内容 这里 但是我不知道为什么他们没有这样的东西:addListView或updateListView或removeContentTypefield ..这可能是这里的长期愿望列表:)

其他提示

如果您指的是WebTemplates,则只需将新功能添加到Web模板的onet.xml并更新解决方案即可。

如果您谈论的是站点定义蛋白(帖子的标题所暗示的标题),则不得更新站点定义,而是使用功能主食将新功能应用于所创建的站点。

许可以下: CC-BY-SA归因
scroll top