内容部署向导的危险实际上并不在于它可能不起作用,而更多的是您可能会尝试迁移作为具有特定功能的共享点解决方案更好地发布的对象。
具体来说,新列表应该作为功能中定义的列表模板发布。新的自定义字段必须与解决方案一起发布。
一个好的经验法则是可以迁移内容(即页面和文档上的文本)。结构(新的列表类型、字段)需要作为解决方案发布。
可以在站点上手动创建修改过的页面和新页面,并在准备好后发布。如果它们绝对必须批量发布,那么向导将提供帮助。
我也使用了 codeplex 的 STSDev 来创建所需的解决方案包。请记住,即使这些工具不是“官方 Microsoft 产品”,它们也经常被 Microsoft 专业人员自己大量使用,并且如果“官方”的发布标准不是这么长的过程,它们将成为官方工具。
检查任何工具的作者,他们中的大多数都会有一个博客,这将使您对作者可能拥有的经验和与 Microsoft 的关系有一个很好的了解。
我没有使用 SPDeploymentWizard,但来自 codeplex 站点
使用 Content Migration API (PRIME) 将内容导出为 .cmp 文件(内容迁移包),该文件可以复制到其他服务器以进行导入。与开箱即用的工具不同,向导允许通过树形视图精细地选择内容。
这意味着该工具是“微软官方流程”的 gui 包装器,可以更轻松地选择您希望放入迁移包的内容。
您的问题的主题在实践中并非易事,并且执行此操作的工具和技术正在改进和变化,因此请密切关注博客和 codeplex 以获得建议。
更新
迁移工具应该只适用于每个版本所需的文档和页面。
对于列表,我创建了包含所有项目的临时模板,但这仍然是一个手动发布过程。因此,请尝试使用内容迁移工具,因为您没有对站点进行结构更改,如果列表没有正确执行,则可能会删除该列表。
真正的问题是确保内容类型 id 和内容字段 id guid 在服务器之间是相同的,但是对于解决方案/功能包的任何自定义版本,应该没有区别。
更新 2
对于单个页面,我们创建了一个 powershell 脚本,给定一个 url、一个文件列表和一个操作,将页面从服务器下载到本地驱动器或上传它们。使用对象模型创建页面非常容易,自定义属性有点棘手,但是签入和发布页面并不是什么大问题。