2008年2月28日,星期四

发布了新版本的内容双色球推荐一注向导

我很高兴地宣布,SharePoint Content Deployment Wizard的下一版本的开发/测试现已完成,并且新版本已上载到Codeplex。如果您不知道该工具,那么 介绍SharePoint内容双色球推荐一注向导 是一个很好的起点。我称这个版本"beta 2",这表明该工具绝对不是完整的,但比原始版本要成熟得多。我鼓励过去几周下载原始文档的1400余个人(并且还在增加)以获取最新版本-该链接位于本文的底部。

因此,让我们来看一下这些改进:

  • 对大型网站的更好支持:

    网站的树形视图不再是一键构建的,而是随着网站/列表的扩展而检索网站的某些部分。在使用大型网站时,这可能会带来巨大的不同。

  • 支持仅WSS的站点:

    现在,已经删除了对MOSS程序集(Microsoft.SharePoint.Publishing)的依赖,因此现在可以导入/导出到WSS站点。仅当我们确实处于MOSS环境中时,才使用特定于MOSS的功能-如果您感兴趣,这仅与遵守目标站点上源站点的任何发布计划(即页面到期)有关。

  • 一切都在一个.exe中:

    不再需要单独的WizardBase.dll。

  • 导入/导出后更容易访问日志文件:

    由于在导入/导出后分析日志文件中的错误/警告非常重要,因此这些操作现在在操作结束时自动在记事本中打开。该工具中还有一个打开日志文件的链接,因此不再需要手动在文件系统中进行挖掘。

  • 在“网站网址”框中自动发现网站:

    无需每次都重新输入网站URL-SharePoint环境中可供选择的网站会自动显示在文本框的自动完成条目中:

     AutoSiteDiscovery

  • Treeview中的漂亮图标:-)

    在树中的对象之间更容易进行视觉区分:
     TreeViewImages

  • 通过System.Diagnostics.Trace记录:

    除了由实际导入/导出操作生成的日志文件之外,现在还可以通过System.Diagnostics记录(单独)工具中的常规操作。因此,如果您在使用该工具时遇到问题,应通过添加一个.config文件和一个TraceSwitch条目来更轻松地确定实际的错误-启用"COB.SharePoint.Utilities.ContentDeploymentWizard"和适当的TraceListener条目。


  • 更高的可靠性:

    修复了其他一些小错误,包括在构建确认屏幕时消除了有些迷幻的闪烁。

就第一版中报告的问题而言,似乎95%的问题与SharePoint提供的基础Content Migration API有关,而不是与实际的向导有关。这意味着,如果问题不严重,该问题也可能会浮出水面。框而是使用内容双色球推荐一注(通过管理中心)或STSADM -export来双色球推荐一注内容。这符合我的预期,因为在许多方面,向导实际上并没有执行 很多-它只是在现有的SharePoint代码上提供了一个不错的UI(具有准确选择应该双色球推荐一注的项目的功能)。但是,由于存在一些MS位陷阱,这确实意味着在使用向导时了解其API的工作原理将有所帮助。对于那些想知道更多的人,我推荐的阅读清单是:

未来

到目前为止,我收到了很多反馈(从功能请求到"为什么你不为此事收费?"提供合作)。在功能方面,到目前为止,增量双色球推荐一注似乎是最受欢迎的投票,因此我希望尽快添加。另一种可能性是通过将代码重构为更分层的方式来使向导可编写脚本,从而提供诸如保存导入/导出作业的配置的功能,以及允许它们以某种方式连接到任务计划程序的功能。 

但是,反馈越多越好,并且如果您想查看特定的功能或在尝试使用我绝对希望听到的工具时遇到问题。可以在博客上发表评论,也可以在Codeplex网站上发表评论。

下载链接
 

www.codeplex.com/SPDeploymentWizard 并转到“发布”标签以下载最新版本。希望你觉得它有用。

17条评论:

帕斯卡·范·弗伦德伦(Pascal Van Vlaenderen) 说过...

嘿,

非常感谢您在此方面的工作!

非常感谢,

帕斯卡·范·弗伦德伦(Pascal Van Vlaenderen)

未知 说过...

克里斯你好

我还没有使用过该工具,但是一位同事使用了该工具,他说该工具非常适合复制他尝试过的大多数列表。但是,它无法复制列表中文件夹中的项目。也许需要调查?

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

@caterwomtious,

我将尽快进行仔细检查,但是我很确定新版本将对此进行处理。我可以说在beta 1中没有正确支持文件夹。

感谢您的评论,

克里斯。

未知 说过...

嗨,您好,

我们是Moss的新手,我们正在尝试将整个站点从测试服务器移至生产环境。如果可能的话,我们希望能够保留这些指导。我能够进行Web应用程序的干净导出(日志中没有错误),但是当我将其复制到另一台服务器(此阶段为开发人员)并指定了保留对象身份进行导入时,每次都会崩溃,并出现Sharepoint异常说指定的名称已经被使用。日志中的错误是:

........
2008/2/29上午11:53:02:进展:导入列表用户信息列表。
2008/2/29上午11:53:04:进度:导入列表Web部件库。
2/29/2008 11:53:06 AM:进展:导入列表站点模板库。
2008/2/29上午11:53:07:进度:导入列表缓存配置文件。
2008/2/29上午11:53:07:FatalError:指定的名称已在使用中。

列表,调查,讨论区或文档库不能与该网站中的另一个列表,调查,讨论区或文档库具有相同的名称。使用浏览器的“后退”按钮,然后输入一个新名称。
在Microsoft.SharePoint.Library.SPRequest.CreateListOnImport(String bstrUrl,Guid&pguidListId,String bstrTitle,String bstrDescription,Int32 lTemplateID,String bstrFeatureId,Guid guidRootFolderId,Int64 llFlags,Int32 iVersion,Intstr iType,字符串bstrEventSinkAssembly,字符串bstrEventSinkClass,字符串bstrEventSinkData,Guid guidDocTemplateId,字符串bstrViews,字符串bstrForms,布尔bCompressedSchema)
在Microsoft.SharePoint.Deployment.ListSerializer.CreateList(SPWeb parentWeb,Dictionary`2 listMetaData,Boolean usingPublicSchema)
在Microsoft.SharePoint.Deployment.ListSerializer.SetObjectData(Object obj,SerializationInfo info,StreamingContext context,ISurrogateSelector选择器)
在Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType,Boolean isChildObject)
在Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType,Boolean isChildObject,DeploymentObject信封)
在Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)
在Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream)
在Microsoft.SharePoint.Deployment.ImportObjectManager.ProcessObject(XmlReader xmlReader)
在Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()
在Microsoft.SharePoint.Deployment.SPImport.Run()
2008/2/29上午11:53:07:进度:导入已完成。
2008年2月29日11:53:07 AM:结束时间:2008年2月29日11:53:07 AM。
2008/2/29上午11:53:07:完整显示0条警告。
2008/2/29上午11:53:07:完成但有1个错误。
.....

An import without the retain object identiy is successful (with a few warnings) 和 the site is created. I 做 wnloaded your new Beta 2.0 version but get the same result. Can you help?

贝琳达·奥尔兹

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

嗨贝琳达,

通常,当成功进行内容双色球推荐一注的先决条件之一不成立时,就会发生此错误:

-目标网站是使用空白网站定义创建的(此外,由于源和目标都必须使用相同的定义来创建,因此开发网站也应基于“空白”)
-首次双色球推荐一注未激活发布功能(双色球推荐一注过程将自动激活发布功能)

我在其他地方指出,SharePoint的这些功能有些固定,我可能应该重点强调这一点,以便在此方面提供指导。在那张纸条上 http://support.microsoft.com/default.aspx/kb/923592 来解决您遇到的错误。

HTH,

克里斯。

未知 说过...

克里斯,你好
感谢您的回复,帮助我进行了梳理。使用空白网站模板创建目标网站后,它就可以工作了!您的工具将使我的生活更加轻松!

干杯
贝琳达

拉梅什·克里希南 说过...

克里斯,你好

谢谢您的工具。确实对我有很大帮助。

是否可以在Codeplex上公开下载源代码,如果可以,我如何获得该代码

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

你好

恐怕现在我还没有分发源代码。从长远来看,我可能会持有不同的看法,但是现在是这种情况。

干杯,

克里斯。

匿名 said...

克里斯,你好

您做得很好-感谢您的分享。目前,我只有一个问题:在文档库的设置中创建wokflow时,此工作流未双色球推荐一注到目标站点。双色球推荐一注了其他文档库设置,例如版本控制或添加的内容类型。我如何也可以双色球推荐一注工作流程?

问候

丹尼尔

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

丹尼尔,您好

感谢您的反馈。恐怕不支持移动工作流,因为底层的Microsoft API不具备此功能。

使用内容双色球推荐一注向导 , 我注意到:

Content Migration API无法捕获以下内容-警报,审核跟踪,更改日志历史记录,回收站项目,工作流任务/状态。

抱歉,这不是您想要的答案。

克里斯。

匿名 said...

克里斯,你好

我很好地导出了我的网站,但是在导入时却出现了错误。这是导入日志中的最后几行。

进度:导入文件WorkflowTasks / MyGrTsks.aspx。
进度:导入文件WorkflowTasks / MyItems.aspx。
进度:导入文件WorkflowTasks / NewForm.aspx。
FatalError:找到重复的名称“电话”。
在Microsoft.SharePoint.SPFieldCollection.AddFieldToWeb(String strXml,布尔checkDisplayName)
在Microsoft.SharePoint.SPFieldCollection.AddFieldAsXmlInternal(String schemaXml,布尔addToDefaultView,SPAddFieldOptions op)
在Microsoft.SharePoint.Deployment.FieldTemplateSerializer.CreateField(SPWeb网站,SerializationInfoHelper infoHelper)
在Microsoft.SharePoint.Deployment.FieldTemplateSerializer.SetObjectData(对象obj,SerializationInfo信息,StreamingContext上下文,ISurrogateSelector选择器)
在Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType,Boolean isChildObject)
在Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType,Boolean isChildObject,DeploymentObject信封)
在Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)
在Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream)
在Microsoft.SharePoint.Deployment.ImportObjectManager.ProcessObject(XmlReader xmlReader)
在Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()
在Microsoft.SharePoint.Deployment.SPImport.Run()
进度:导入已完成。
结束时间:4/17/2008 10:44:05 AM。
包含29条警告。
已完成,但有1个错误。

史蒂夫

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

嗨史蒂夫,

我想知道您的“电话”列是否为自定义列,如果是,则是否来自某个功能。如果是这样,你有 活性 (未安装)此功能,然后再执行导入,则将出现此错误。本质上,您应该允许双色球推荐一注过程在目标位置上为您激活自定义功能。

另请参阅:-

- Stefan对成功双色球推荐一注内容的要求
-我的 成功使用内容双色球推荐一注向导的食谱

让我知道您是否无法到达任何地方。

干杯,

克里斯。

特雷弗 说过...

克里斯,

感谢您的所有努力。我在建立一个包含9GB源数据的发布站点时,遇到了您的双色球推荐一注向导。没有它,我不可能首先双色球推荐一注发布站点。日志和GUID保留方面的出色工作!!

我目前使用它来诊断包含模糊失败消息的内容双色球推荐一注错误。等等,这就是所有内容双色球推荐一注错误:)

特雷弗·琼斯(Trevor Jones)

匿名 said...

你好

我一直在跟踪codeplex链接,但显示“项目尚未发布”。我怎么能得到它。

谢谢,
沃菲

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

@Warfi,

是的,已经对此进行了调查,似乎该项目尚未被Codeplex管理员发布,因为我尚未发布源代码-显然,这是Codeplex项目的要求。

在解决此问题的同时,请在您的电子邮件地址中留下其他评论 (我不会发表评论!),然后我将通过电子邮件发送这些东西。对于需要同时获得向导的其他人也是如此。

造成不便之处,敬请原谅!

克里斯。

匿名 said...

克里斯,你好
很棒的工具。我已经阅读了您在此发布的所有博客。
在双色球推荐一注内容之前,是否要在目标站点上安装的所有功能都必须处于停用状态?
我们公司开发的大多数功能在双色球推荐一注后都会自动激活。在安装内容之前可以在安装后停用它们吗?
期待与您在10月16日的SUGUK见面。

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

保罗,你好

是的,通常该准则是必须安装但未激活的必需功能。但是,当您考虑一下时,并非每次都会这样,否则,每次我们想要进行双色球推荐一注时,我们都必须停用所有功能。幸运的是事实并非如此。

这是我解决的问题:

-功能 创建列表或库 是那些 真的做 需要安装但未激活-这仅用于列表的首次双色球推荐一注(使用内容双色球推荐一注或向导)
-如果您具有哪些功能会自动激活并 创建列表或库,您可能需要停用它们 删除在进行第一次向导双色球推荐一注之前配置的列表/库。我不是100%的人,所以您可能需要做几次测试-请注意,这还取决于您是否尝试“保留对象ID”(我通常这样做)。

希望有一定用处。让我知道您在用户组中的情况如何!

克里斯。