将InfoPath表单部署到不同的SharePoint服务器

将InfoPath表单部署到不同的SharePoint服务器,sharepoint,moss,infopath,Sharepoint,Moss,Infopath,如何管理将InfoPath表单部署到不同的sharepoint服务器?是否有更好的方法来处理所有特定于站点的数据连接,而无需打开表单、编辑数据连接并重新发布每个环境?特定于站点,您的意思是表单中的数据连接指的是表单部署到的服务器?如果是这种情况,也许您可以调整连接以使用localhost而不是服务器名称作为数据连接URL的主机名部分。在我的场景中,我没有使用内置的“保存”按钮。我有一个数据连接,用于将数据“发布”到另一个列表 是的,这就是我所说的特定站点的意思。我不认为您可以使用localhos

如何管理将InfoPath表单部署到不同的sharepoint服务器?是否有更好的方法来处理所有特定于站点的数据连接,而无需打开表单、编辑数据连接并重新发布每个环境?

特定于站点,您的意思是表单中的数据连接指的是表单部署到的服务器?如果是这种情况,也许您可以调整连接以使用localhost而不是服务器名称作为数据连接URL的主机名部分。

在我的场景中,我没有使用内置的“保存”按钮。我有一个数据连接,用于将数据“发布”到另一个列表


是的,这就是我所说的特定站点的意思。我不认为您可以使用localhost,因为当用户保存表单时,它会尝试发送到用户的计算机(即localhost)。我尝试使用相对路径,但似乎不起作用。

如果进入提交选项,则可以使用规则执行自定义操作。如果已设置所有数据连接,则可以配置规则以选择要提交到的连接。

如果我正确理解您的场景:

您有一个InfoPath表单,其中包含提交数据的数据连接。 您希望在多个SharePoint服务器上部署此表单,并让这些数据连接将数据提交到当前部署的服务器

您无法真正回避需要在每个SharePoint服务器上进行工作的问题,因为您希望将表单部署到这些服务器上。但是,您可以不必修改InfoPath表单模板

如果使用SharePoint数据连接库(DCL),并在每个要使用的SharePoint服务器上从数据连接创建UDC文件,则InfoPath模板可以直接与UDC文件通信

以下是一篇关于将InfoPath与SharePoint的DCL集成的文章的链接:


这是一个常见的问题,如果您在开发系统上工作,并且需要不时部署到生产系统。我使用基于正则表达式执行(纯文本)替换的脚本

每次部署时:

  • 备份您的表单;-)
  • 将表单另存为源代码。(我建议您使用源代码文件,而不是.xsn,因为xsn只是一个重命名的.cab,其中包含源文件。而且您能够以更令人满意的方式使用源代码管理。)
  • 打开manifest.xsf文件
  • 搜索xml节点“DataConnections”
  • 搜索并替换站点url部分
  • (不要忘记保存路径、文件和站点属性以及publishUrl)
  • 从InfoPath设计器部署

  • 我使用一个脚本来完成所有替换。这很好,已经为我节省了很多工作。

    关于speedfox的回答,尽可能不要编辑清单。这只会导致头痛

    如果我了解您的问题,您将部署到多个服务器(开发、UAT、生产),并且每次从一个环境转到另一个环境时都需要手动编辑数据连接?如果我过分简化了这个问题,请原谅

    我发现与站点建立数据连接的最佳方法是:

  • 在表单中使用数据连接文件。在infopath中打开数据连接向导,对于所有数据连接用户,请单击“转换…”这会将数据连接从嵌入表单更改为独立的XML文件。您需要sharepoint站点上的数据连接库来存储这些内容。在浏览器中创建它

  • 转换后,连接返回,将有一个连接选项。。。按钮使用它从“本地数据连接库”更改为“集中管理的连接库”

  • 将站点数据连接库中的数据连接上载到管理中心

  • 发布表单时,请确保发布到集中管理的位置(中央管理员)

  • 将表单用作该网站集上任何表单库中的内容类型

  • 若要在另一个站点上使用该表单,请将数据连接文件上载到新服务器中央管理员,并将(未更改的)表单发布到中央管理的表单


  • 请参阅我的博客文章,其中我将逐步介绍相关快照,包括以下内容:

    a。正在将InfoPath数据连接转换为SharePoint中的DCL库。 B将InfoPath表单发布到SharePoint列表/库 C为InfoPath表单及其代码隐藏创建.wsp解决方案包 D创建将在生产站点上部署InfoPath表单的批处理脚本。 E确保InfoPath表单已作为功能部署 F在生产环境中修改DCL。 G将InfoPath内容类型与文档/表单库关联


    查看完整的博客帖子:

    我考虑过使用源代码而不是xsn,但是表单非常大,有几个数据连接。但我使用了你的方法来进行其他重复的表单范围的更改。谢谢。这是唯一有效的解决方案。别听别人的。数据连接库用于允许多个表单(或其他Office文档,如Excel文档)集中其数据库连接字符串并定位SharePoint列表。它们不允许将同一表单部署到多个服务器。manifest.xsf文件包含到存储在服务器上的数据连接的硬链接,而不管您是以本地还是集中式方式加载数据连接。只有这样才能工作!我不确定,但数据连接库不可用于发布站点。如果我错了,请纠正我。