使用WSP部署SharePoint



我正在寻找部署频繁自定义代码更改到SharePoint 2010服务器的最佳实践,我的更改包括所有类型的更改,如web部件,内容类型,工作流,功能接收器,页面图像和布局文件夹中的脚本等。到目前为止,我在文档中发现的是,建议在部署SharePoint时使用WSP软件包。关于使用WSP包频繁更改代码,我有几个问题

  1. 在安装更新的WSP包之前,我们需要收回WSP包吗?通过这个包进行以前的代码部署会发生什么。我们是否需要在wsp包中保留所有以前的更改,以便当我们收回和删除旧版本时,我们可以从以前的版本和新版本中获得所有代码更改?
  2. 通过各种部署将所有代码更改保留在wsp包中可能会导致问题,如果我们在包中包含内容类型和列表实例,如何管理这种更改?
  3. 如果我们为每次迭代更改制作新的wsp包,它会不会阻塞我的服务器与大量的wsp包,每个代码更改周期一个?

我试着回答你的问题:

  1. 是和否。如果正在部署汇编代码更改,则可以撤回解决方案,而无需停用任何功能。这将更新GAC中的程序集。如果你需要更新功能中的资源,如内容类型等,你需要停用/激活功能。

  2. 我已经开始做什么来缓解这个问题是我所有的wsp提供所有我的内容通过代码,没有xml的内容类型,列表实例等。然后我要做的就是跟踪我的功能的当前版本(使用web)。属性包之类的)。每当我激活该功能时,我都会检查当前版本并为该版本运行适当的代码。在feature activated中,我输入如下:

    var version = //get version here from property bag or list etc
    if (version < 1.2){ 
        provisioFinanceContentType();
        createFinanceList();
    }
    else if (version <1.3)
    {
          //etc.
    }
    version = 1.3
    //persist version to storage
    
  3. 不要使用上面描述的修订系统创建新的wsp

最新更新