SharePoint【学习笔记】--【Upgrading&Version版本升级】:Content Type Feature(二.Content Type Feature修改和版本升级)

Sharepoint2010给我们带来的好处之一就是极大提高了Feature的版本管理能力,我们能够通过Visual Studio2010的帮助来对开发的Feature进行版本控制和升级。此处我们以Content Type为例来演示Content Type Feature的版本控制与升级功能。上一篇我们通过VS2010来创建一个Content Type Feature并把它部署到我们的网站上,当时我们指定它的版本号为1.0.0.0。这一篇,由于用户的需求发生了变化,我们需要对此Feature进行修改,修改后的版本号将为2.0.0.0,并会对以前的1.0.0.0的版本进行升级。
下面直接进入我们操作步骤:
1.使用Visual Studio2010打开我们前面创建的Sharepoint项目TestUpgradableCT。
在此项目中新增一个新的Element元素(NewFieldVersion2),此元素是我们对Feature的新增变化。

 

2.修改此Element元素的Element.xml内容如下:

复制代码
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  
<Field ID="{4A977AA8-802B-4E4E-8003-CC48BE5EF66E}"
     Name
="Note2"
     StaticName
="Note2"
     DisplayName
="Note on version 2"
     Type
="Note"
     Group
="A feature upgrade attempt"/>
</Elements>
复制代码

 

3、把刚才新创建的Element加入到我们的ContentType Feature中。方法是
 

  3.1.在Vs2010中展开Features节点,编辑它的Feature.Template.xml文档
  

 

修改其内容如下:

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/">
  
<UpgradeActions>
    
<VersionRange BeginVersion="1.0.0.0" EndVersion="4.0.0.0">
      
<ApplyElementManifests>
        
<ElementManifest Location="NewFieldVersion2/Elements.xml"/>
      
</ApplyElementManifests>

      
<AddContentTypeField
      
ContentTypeId="0x0101000dca569159f044bba9feb7f6d1abad4c"
      FieldId
="{4A977AA8-802B-4E4E-8003-CC48BE5EF66E}"
      PushDown
="TRUE"/>
    
</VersionRange>
  
</UpgradeActions>
</Feature>
复制代码

说明:
<UpgradeActions>节是要告诉Sharepoint,此节中包含的Feature内容就是我们要用于升级的内容。

<VersionRange BeginVersion="1.0.0.0" EndVersion="4.0.0.0">是指当Sharepoint检测到Feature的版本号提高,并且新的版本号是介于1.0.0.0和4.0.0.0之间的(也就是此处我们指定的范围值),则就会进行升级操作。
 <ApplyElementManifests>,指定要在功能升级期间应用的元素清单,此处,我们指定了NewFieldVersion2目录下的Elements.xml元素,也就是我们刚才新添加的元素。
<AddContentTypeField>指定功能升级期间要添加的内容类型字段,其中的ContentTypeId我们使用了我们此处开发的Content Type Feature的id号, FieldID则是我们刚才添加的新的Elment元素的ID号,PushDown为可选属性,类型为 Boolean,我们此处指定应将内容类型字段应用于继承的内容类型和列表。


3.2修改Feature的版本号为2.0.0.0,然后重新Build和部署。
  

回到我们的测试网站,SiteActions-->SiteSettings,选择Galleries下的SiteContent Type项。

选择我们开发的ZLUpgradableCT,进入其设置页面。

 

设置页面中选择Add from existing site columns

 

 

添加我们升级版本中新添加的Element元素,在A feature upgrade attempt组下,可以看到Note on version2,选择此项添加到右边列表框中。

 

然后再做与上一篇类似的测试,可以看到,此Feature的升级生效。

 


 

 

posted @ 2013-02-20 21:00  绿森林  阅读(258)  评论(0编辑  收藏  举报