我很高兴地宣布,我现已完成对下一版本的内容部署向导的初步开发- 这是接下来几周的测试版 所以如果你需要"just work",您应该继续使用以前的版本(1.1),但我希望那里的某些人很乐意测试此Beta。该工具已作为“可在SharePoint工具箱中使用的便捷工具”而变得相当流行,希望此版本可以大大扩展其在某些情况下的有用性。如果您不熟悉该工具,则它提供了一种在场之间或同一场中不同站点之间导入/导出网站集,网站,列表以及文件或列表项的方法-Codeplex站点提供了更多详细信息。如前所述,此版本中的关键新附加功能是:
- 命令行支持
- 支持将导入/导出设置保存到文件(在Windows Forms应用程序中)以供以后重用
- 安装程序
对向导的命令行支持意味着它现在可以以自动化方式使用。我认为这可能有用的一些关键方案是:
- 持续集成/自动构建 -如果您的网站依赖SharePoint内容,则现在可以在构建过程中移动“真实”数据,例如,将选定的内容从“ dev”复制到“ build”或“ test”。我经常看到 静态的 在nAnt / CruiseControl / MSBuild脚本中以这种方式使用的数据(可能来自XML文件或Excel电子表格),但对于频繁更改的数据(配置值,查找列表等),效果不佳,因为总会有一个静态文件要单独维护。
- 部署脚本 -如果您使用部署脚本在开发人员计算机上“引导”网站,请再次拉 真实 来自中央“存储库站点”的数据可以在这里提供帮助。
- 作为生产“内容部署策略”的一部分 -由于现成的内容部署仅限于将Web部署为最小项,因此可以使用向导来部署选定的列表/列表项/文件
显然,您可能对如何将其插入进程也有自己的想法。
这个怎么运作
- 首先,我们选择要移动的内容,就像通常使用向导一样。
- ..,然后选择我们要用于此导出的选项。
- 在最后一个屏幕上,应使用新的“保存设置..”按钮将您的选择保存到XML文件:
然后,您会得到一个如下所示的XML文件: - 因此,我们现在有了一个XML“向导部署设置文件”,其中包含我们选择的对象的ID和导出选项。我们将继续展示如何在命令行上使用它,但请注意,这些设置也可以在以后的部署中加载到向导UI中,以免再次进行选择-关键是“加载设置” ..”按钮(我们之前没有显示):
- 对于向导的命令行使用,使用定制的STSADM命令。我们使用-settingsFile开关传递设置文件。要运行上面显示的导出操作,我们的命令应如下所示:
stsadm -o RunWizardExport -settingsFile "C:\DeploymentSettings\ExportBlogSubwebAndTemplates.xml" -quiet
- 对于导入操作,我们遵循相同的过程-进入向导并选择导入操作的设置,然后最后单击“保存设置..”以获取文件 (注:“导入设置”屏幕与以前的版本相比已略有简化):
- 导入命令如下所示:
stsadm -o RunWizardImport -settingsFile "C:\DeploymentSettings\ImportBlogSubwebAndTemplates.xml" -quiet
<ExportSettings SiteUrl="http://cob.publish.dev" ExcludeDependencies="False" ExportMethod="ExportAll"
IncludeVersions="LastMajor" IncludeSecurity="None" FileLocation="C:\Exports"
BaseFileName="BlogSubwebAndPageTemplates.cmp">
<ExportObjects>
<DeploymentObject Id="b0fd667b-5b5e-41ba-827e-5d78b9a150ac" Title="Blog" Url="http://cob.publish.dev/Blog" Type="Web" IncludeDescendants="All" />
<DeploymentObject Id="cfcc048e-c516-43b2-b5bf-3fb37cd561be" Title="http://cob.publish.dev/_catalogs/masterpage/COB.master" Url="_catalogs/masterpage/COB.master" Type="File" IncludeDescendants="None" />
<DeploymentObject Id="670c1fb3-12f3-418b-b854-751ba80da917" Title="http://cob.publish.dev/_catalogs/masterpage/COBLayoutSimple.aspx" Url="_catalogs/masterpage/COBLayoutSimple.aspx" Type="File" IncludeDescendants="None" />
</ExportObjects>
</ExportSettings>
真正使用它
当然,在实际使用中,您可能正在从一个SharePoint场部署到另一个。在这种情况下,如果要跨服务器场-如果您在服务器场之间具有网络访问权限(例如,正在内部将其用于自动构建/ CI),则还需要处理将.cmp文件从源环境复制到目标环境的操作),建议您在脚本中使用简单的XCOPY。对于没有网络连接的生产性内容部署方案,我在这里提供的内容将需要补充一些其他有关文件传输的内容。显然,基于Web服务的解决方案可能就是答案。
概要
如果需要定期自动移动任何SharePoint内容,则在命令行上使用向导可能会非常有用。与您可能会采用的其他方法相比,XML定义文件使您可以选择任意数量的网站/列表/列表项/文件来进行一次操作,这比单独运送项目更适合您的需求。
这很大程度上是一个beta版本,但是作为一个旁注,我希望最初的问题主要是围绕安装程序而不是核心代码进行的,因此,我提供了一个“手动”安装过程,它将使您克服所有此类问题(请参阅自述文件。不用说,如果您是一个乐于助人的开发人员,Codeplex上也为您提供了所有源代码。正如我所说,我希望有几个友好的测试人员可以尝试一下,并帮助我消除皱纹-请把任何问题提交到下面链接的Codeplex网站。
您可以从以下位置下载向导的2.0 beta版本(和源代码):