2007年12月14日,星期五

何时使用SharePoint内容部署向导

跟随我 工具介绍 上一次,今天,我想尝试将工具定位于那些不确定该工具是否对他们有用或在什么情况下有用的人-如果您仅从内容部署向导中的发布中删除一件东西,应该这个。

我在现有部署方法(例如管理中心中的STSADM导出/内容部署)上看到内容部署向导的“增值”是:

  • 使用树形视图“挑选”内容以进行部署的能力-从整个网站集一直到单个列表项或文件。 (这是个大问题,因为标准SharePoint工具没有提供执行此操作的方法)
  • 控制是否保留对象GUID的能力-对于目标应该是源镜像的情况,例如同一站点的暂存/生产环境,这是必需的
  • 移动某些物体的能力(仅限于 网和列表 在初始版本中)到导入目标上的新位置,称为“重定位”

我建议该工具很可能会在您的SharePoint工具箱中占有一席之地,但这很可能是您时常使用的东西,而不是一直使用的东西。我使用该工具的两种主要情况是:

  • 在开发阶段结束时,我需要将网站从开发转移到暂存/生产。在这里,该工具使我可以确保保留对象之间的所有关系/链接(因此,例如ListViewWebParts / DataViewWebParts / InfoPath表单没有问题)
  • 在任何需要移动特定文档库/列表或特定文件集(例如母版页,页面布局,CSS等)的特殊情况下。顺便说一下,这是假设文件没有部署功能-我不建议混合使用这种部署方法。

N.B.在开发/测试/登台/生产情况下,还可以使用该工具通过不同环境对特定文件/列表项进行持续更新。这样的一个例子是在WCM站点上仅部署母版页,页面布局和CSS文件(这意味着客户端(例如,在'Pages'库中)创作的所有其他内容不会在目标上被覆盖),但是我还没有'还没有机会在实际项目中进行尝试。

工具在某些地方 不能 使用(即该工具尚不支持此用法)是:

  • 从网站仅导出特定时间戳(更改令牌)以来的更改
  • 将单个列表项/文件导入到目标上的新位置(重排)

最后一点,“新位置”将是文档库或列表,因为这些项目必须位于这样的容器中-它们不能存在于网站的根目录。当前,该工具支持重新创建Web和列表的父级,但不支持单个列表项/文件。什么 当前可以使用单个列表项/文件将选定的项从源移动到目标 结构相同 (例如,将Doc2和Doc5从源上的“团队文档”移动到目标上的“团队文档”)。有用的是,每当使用该工具导出/导入文件时,也会部署关联的列表项,这意味着可以部署对列值的元数据更新。

希望这可以帮助您了解该向导的适用位置。如果您认为该向导可能对您不时有用,请继续关注我的下一篇文章,其中将提供更详细的“用法”信息。 

12条评论:

匿名 said...

Rona Lustig的“内容迁移API工具”允许您仅导出更改(令牌\时间戳)以及完整导出。该功能在API中,她通过here工具将其公开。

you can find it here: http://blogs.msdn.com/ronalus/archive/2007/08/10/content-migration-api-in-action.aspx (look 在 the 在 tachment in the bottom of page)

但是真正的问题是如何通过MCMS 2002站点管理器(树视图)导出站点列(查找),内容类型和选择性内容。

也许解决方案应该是创建一些工具,该工具将从CMP包中读取内容并将其显示为树形视图。允许您删除不相关的内容并将其打包。另请参见Rona的“内容迁移包资源管理器”

http://blogs.msdn.com/ronalus/archive/2007/10/02/content-migration-package-explorer.aspx


梅隆·弗里德曼(Meron Fridman)
http://blogs.microsoft.co.il/blogs/meronf/

克里斯·奥'Brien说过...

梅龙

感谢您提供的信息和链接,非常有趣。

你说:
-snip-
但是真正的问题是如何通过MCMS 2002站点管理器(树视图)导出站点列(查找),内容类型和选择性内容。
-端剪-

内容部署向导确实允许通过树形视图进行“选择性内容”部署。但是,它不允许部署基础结构,例如站点列和内容类型 只要。也就是说,它们被捕获为内容的依赖项,但无法将它们与实际内容一起部署。

不过,通常情况下,我们需要部署网站列/内容类型等以支持内容,所以这不是问题。在某些情况下,我们确实希望站点列/内容类型而不是实际内容,我认为应将工件开发为功能部件以支持此功能。

干杯,

克里斯。

匿名 said...

嗨,您好,
我有一个大问题。在使用内容部署的客户项目中,部署后目标Web应用程序中所有站点列和站点内容类型均丢失。部署本身可以正常工作,并且可以很好地复制所有内容(文档,列表,结构等),但是缺少站点列和站点内容类型。奇怪的是,在我们的环境中(通常是相同的),它可以工作。有人可以帮助我吗?它令人沮丧:(

谢谢
汤玛士

克里斯·奥'Brien说过...

托马斯

我以前从未见过这种现象-如果API成功移动了内容,它还应该传输基础内容类型和列等。您是使用管理中心中的内容部署还是使用向导?如果是后者,则该操作的日志文件中是否报告了任何内容?

谢谢,

克里斯。

匿名 said...

克里斯,你好

祝贺您开发的工具。这非常有用!

但是,正如您所说,我只需要导出网站上某个时间戳(更改令牌)以来的更改。
我正在尝试如下创建一个SPChangeToken:


...

SPChangeToken令牌=新的SPChangeToken(SPChangeCollection.CollectionScope.Site,
siteCollectionId,startDate);
exportSettings.ExportChangeToken = token.toString();

...

但是它不仅打包了startDate之后的所有更改,还打包了所有更改。

您对此有想法吗?

谢谢

克里斯·奥'Brien说过...

万德森

只是想知道,您还记得将SPExportSettings.ExportMethod属性设置为SPExportMethodType.ExportChanges吗?除了传递更改令牌以指定增量导出之外,还需要执行此操作。

如果您还没有看到它,Stefan在 http://blogs.technet.com/stefan_gossner/archive/2007/08/30/deep-dive-into-the-sharepoint-content-deployment-and-migration-api-part-2.aspx.

HTH,

克里斯。

埃德说过...

嗨,刚刚接手了涉及内容部署向导的开发任务,而我被告知Infopath表单使用它存在问题(我仍然需要自己进行验证)。

有人告诉我,由于部署工作没有采用功能或解决方案,因此我会遇到与信息路径表单模板有关的错误,这些模板通过Central Admin站点作为wsp软件包进行保存和控制(并在实际站点中作为功能激活)。 Ive在Google上搜索并看到了一些实例,这些实例涉及FT01-guid类型错误(信息路径功能命名starndard),但是没有有关如何移动内容和表单模板的指南,cms编辑器可以自己创建这些模板。

您是否有关于如何保持内容和信息路径表单功能/解决方案步调一致而又无需手动安装模板文件夹并在内容部署运行之前手动在目标服务上重新安装的指南?
问候
埃德

克里斯·奥'Brien说过...

爱德华

绝对-功能实际上是所部署内容的依赖项,并且必须在导入到目标环境之前就位。我没有聪明的方法来管理这种依赖关系'm afraid - if you'要在环境之间进行批量迁移,您只需确保先部署功能,即可部署表单模板。

我认为这是表单模板(基础结构或架构)与表单实例(内容)之间的明显区别-也许有一点帮助?

谢谢,

克里斯。

5pinx说过...

克里斯,你好

一直在使用该工具,但可以'无法找到从网站集(例如,从升级的Content DB- http:// portal / sites / Infromation Tech)导出顶级网站并将其作为子网站导入的方法。每当我这样做时,都会收到错误消息:
无法导入网站。导出的站点基于模板STS#0,但目标站点基于模板SPS#0。您只能将网站导入到与导出网站基于相同模板的网站中(我希望它试图覆盖网站集,而不是将其添加为子网站)
如果我从升级后的站点集合中导出子站点(/ sites / Information Tech / IT内部),则可以成功地将子站点迁移到SPS站点(Intranet / IT内部)下面的站点。
从本质上看,是从旧的Sharepoint Portal设置转移过来的是,每个站点都有一个单独的网站集,然后将其合并在新的MOSS 2007服务器下作为子网站。
我认为可以使用的选项是“仅导出根网站”,但是每当导入时,我都会遇到相同的错误。

难道我做错了什么?

谢谢
迈克尔

克里斯·奥'Brien说过...

@ 5pinx,

我同意你的结论,看来'尝试覆盖某些内容而不是添加为子项。我认为您需要的选择是:

-确保'root web 只要'选择出口
-确保'import web URL'在导入时被选中-这应该是父网站的URL
-确保'保留对象ID和位置' 是 NOT checked

该网站随后应成功导入,但如果您有问题,请告诉我'仍然有麻烦。

谢谢,

克里斯。

未知说过...

克里斯,
已经使用了您的工具很多,它非常好,很高兴看到SPD工作流被复制。
您能说说这是否可能吗?
将具有管理员批准的信息路径浏览器表单+升级列的表单库移动到同一网站架构的另一个网站集?
它会复制,但浏览器链接指向原始站点。
当我用该站点的正确的管理员批准类型替换第二个站点上的contenttype时,在Lib中会出现一些重复的列,
希望您能理解并能够说是或否!
嘉里

克里斯·奥'Brien说过...

@casy,

不敢说,我'我不确定! Infopath确实做了一些特定的事情,并且在某些情况下确实将对诸如URL之类的引用存储在.xsn文件中。因此它可能需要进行一些修复,但另一方面,我可以'有助于您想知道是否可以通过其他方式(例如功能激活)将表格应用于第二图书馆。

对不起,我可以't be more helpful.

克里斯。