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的新增变化。

Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第1张图片

 

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文档
Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第2张图片  

 

修改其内容如下:

<? 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和部署。
Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第3张图片  

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

Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第4张图片

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

Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第5张图片

 

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

Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第6张图片

 

 

添加我们升级版本中新添加的Element元素,在A feature upgrade attempt组下,可以看到Note on version2,选择此项添加到右边列表框中。Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第7张图片

 

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

Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第8张图片

 


Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第9张图片

 

Sharepoint学习笔记---Upgrading&Version版本升级:Content Type Feature(二.Content Type Feature修改和版本升级)_第10张图片

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(SharePoint)