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

时间:2020-03-05 18:41:37  来源:igfitidea点击:

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

解决方案

回答

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

回答

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

是的,这就是我特定于站点的意思。我认为我们不能使用localhost'cos,然后当用户保存表单时,它将尝试发布到用户的计算机(即localhost)。我试图使用相对路径,但这似乎行不通。

回答

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

回答

如果我正确理解情况:

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

我们真的无法绕开需要在要将表单部署到的每个SharePoint服务器上进行工作的麻烦。但是,我们可以解决需要修改InfoPath表单模板的问题。

如果使用SharePoint数据连接库(DCL),并通过数据连接创建UDC文件,则在要使用的每个SharePoint Server上...然后,InfoPath模板就可以与UDC文件进行通信。

这是指向有关将InfoPath与SharePoint的DCL集成的文章的链接:

http://msdn.microsoft.com/en-us/library/bb267335.aspx

回答

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

在每个部署上:

  • 备份表格;-)
  • 将表单另存为源代码。 (我建议我们使用源代码文件而不是.xsn,因为xsn只是其中包含源文件的重命名的.cab。并且我们可以以更令人满意的方式使用源代码控制。)
  • 打开manifest.xsf文件
  • 搜索xml节点" DataConnections"
  • 搜索并替换site-url部分
  • (不要忘记保存路径,文件和站点属性以及publishUrl)
  • 从InfoPath Designer进行部署

我使用执行所有替换操作的脚本。效果很好,已经为我节省了很多工作。

回答

回复:speedfox的答案,请尽可能避免编辑清单。这只会导致头疼。

如果我理解问题,那么我们正在部署到多台服务器(DEV,UAT,生产),并且每次从一种环境转到另一种环境时都需要手动编辑数据连接吗?如果我已经简化了这个问题,请原谅我

我发现使数据连接站点相对最佳的方法是:

  • 在表单中使用数据连接文件。在信息路径中打开数据连接向导,然后对所有数据单击"转换...",这会将数据连接从嵌入到表单中更改为独立的XML文件。我们将在共享点站点上需要一个数据连接库来将它们存储在其中。在浏览器中创建它。
  • 转换后,连接返回到连接中,将出现一个"连接选项..."按钮,可将其从"本地数据连接库"更改为"集中管理的连接库"
  • 将站点数据连接库中的数据连接上载到中央管理员
  • 发布表单时,请确保要发布到集中管理的位置(中央管理员)
  • 将表单用作该网站集上任何表单库中的内容类型。
  • 要在另一个站点上使用该表单,请将数据连接文件上载到新的服务器中央管理员,然后将(未更改的)表单发布到集中管理的表单。

回答

请参阅我的博客文章,其中带我们逐步了解有关以下内容的相关快照:

一种。在SharePoint中将InfoPath数据连接转换为DCL库。
b。将InfoPath表单发布到SharePoint列表/库
C。为InfoPath表单及其代码隐藏创建.wsp解决方案包
d。创建一个批处理脚本,该脚本将在生产站点上部署InfoPath表单。
e。确保已将InfoPath表单作为一项功能进行部署
F。在生产环境中修改DCL。
G。将InfoPath内容类型与文档/表单库相关联

请参阅完整的博客文章,网址为:http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html