2010年7月6日,星期二

功能升级(第2部分)–一个样本玩

在本系列文章中:

  1. 功能升级(第1部分)– fundamentals
  2. 功能升级(第2部分)–一个样本(本文)
  3. 功能升级(第3部分)–引入SPFeatureUpgrade套件
  4. 功能升级(第4部分)– advanced scenarios
  5. 功能升级(第5部分)–使用PowerShell升级功能

在上一篇文章中,我介绍了SharePoint 2010的一些基本方面。’的功能升级框架,并涵盖了诸如使用纯XML升级功能(ApplyElementManifests, AddContentTypeField)或掏空编写代码(CustomUpgradeAction)执行必要的步骤。出于某种原因,感觉功能升级是其中一个较难启动和运行的领域之一,可能是因为某些步骤需要对某些XML进行启动,或者可能是因为提出了逼真的逼真的升级方案文物本身需要花费一些精力。因此,我认为如果我提供一个样本,可能会有用’一直在使用(例如在我的ALM讲座和书中的章节中)供人们下载和使用,以希望对自己看到这些东西感兴趣的开发人员可以减少工作量。

这个样本

除了提供源/ XML文件之外,我还花了一些时间来记录使用这些文件来执行操作时要经过的确切步骤。‘execute’我的功能升级方案。那里’一个3页的Word文档,它将引导您完成升级步骤,这意味着该示例实际上是一个“lab”您在培训课程中可能会遇到的类型:

 FeatureUpgradeSample_Doc

同样,提供的文件涵盖所有不同的“states”在此过程中,您可以在复制时粘贴并粘贴位:

FeatureUpgradeSample_Files

升级实例

我为该示例提出了以下升级方案:

  • 升级迭代1-使用ApplyElementManifests和AddContentTypeField将新字段添加到内容类型,并使用它向下推送到列表。
  • 升级迭代2–使用CustomUpgradeAction / FeatureUpgrading将Text字段伪升级为Note字段,方法是设置新的Note字段/运行代码以将列表项/数据从旧字段迭代到新字段/将旧字段标记为隐藏。 (这种情况说明许多升级都需要代码。)

链接

从下载文件 http://sites.google.com/site/sharepointchris/sp2010_featureupgradesample

概要

功能升级是一个稍微复杂的领域,我’m提供了一个示例,如果您想更仔细地研究这是SharePoint 2010的一个方面,可能会有所帮助。一世’我们已经测试了文档/文件,但是如果有人使用了该示例并遇到了问题,请随时在此处发表评论,我’我会尽力帮助。我写的书的一章包含了该示例的译文(随着应用程序生命周期管理的覆盖面越来越广,’d期望),但我认为最好将其发布给更多的读者。

7条评论:

安娜 said...

克里斯,你好
I'我试图运行示例解决方案并遇到问题。在网站集级别,我只会看到"冒险作品旅游活动(网络)"功能,但没有网站功能,因此无法激活子网站级别的网络功能,因为它取决于列表中未包含的(网站)功能,因此我可以'将其激活。否则部署是平稳的,我不确定'那里出错了。任何建议将不胜感激。

克里斯·奥'Brien说过...

嗨安娜,

我刚刚下载了示例并将其部署到新的计算机/ Web应用程序。一切顺利,网站集功能就在那里。我使用了随附的帮助程序脚本来激活我创建的Web上的功能,但是通过UI手动进行操作也应该没问题。

可能是我的说明有错误/错误'不是100%清除?如果您在新的网站集上再次尝试,会发生这种情况吗?

您可以提供的更多信息可能会帮助我进一步提供帮助。

谢谢,

克里斯。

匿名 said...

克里斯,你好
这是我的错误,我误解了SharePoint功能激活过程,并尝试使用相同的方法激活网站范围内的部分"Manage site features"我应该一直在使用的页面"网站集功能" page.
我必须说您的功能升级说明和示例非常出色,感谢您将它们组合在一起。
安娜

克里斯·奥'Brien说过...

@Anna,

很好,一点问题都没有:)

克里斯。

杰里米·汉考克说过...

这是优秀的克里斯!感谢您抽出宝贵的时间来整理这些内容。

詹姆斯·格里兹勒说过...

非常感谢您将这些整合在一起。你是男人!

Techflux说过...

作品魅力十足谢谢Chris的出色贡献。只适合那些正在寻找脚本的人


Add-PSSnapin Microsoft.Sharepoint.Powershell–EA 0
更新解决方案身份"AdventureWorks.CustomLists.wsp" -literalpath "\ bin \ Debug \ AdventureWorks.CustomLists.wsp" -GACDeployment


$ id =新对象System.Guid("")
$ site = Get-SPSite"WebURL"
$ feature = $ site.Features [$ id]
$ feature.Upgrade($ false)