0

我正在开发一个网站模板,该模板将用于为不同的组织单位创建数百个网站。该站点应包含一个表单库,以及一个 InfoPath 表单模板。

我的问题是 - 是否可以创建模板并让高级用户创建站点,而无需任何管理员或开发人员参与?如果不是 - 最简单的选择是什么?

问题是表单模板包含站点 URL,我不知道这是否可以避免。因此,当创建站点并提交表单时,它最终会出现在原始站点的库中。

我已经为试点项目创建了一些站点,到目前为止我一直在做的是解开 XSN 文件,手动编辑 URL,重新打包到 XSN 中并发布到新库。这可行,但涉及我希望避免的站点创建过程中的手动步骤。这是我正在编辑的行:

<xsf:submit caption="Submit" disableMenuItem="no" onAfterSubmit="close" showStatusDialog="no">
    <xsf:davAdapter name="SharePoint Library Submit" submitAllowed="yes" overwriteAllowed="no">
        <xsf:folderURL value="http://my_farm_url/subsite1/form_lib"

也在这里:

<xsf2:solutionPropertiesExtension branch="wss">
    <xsf2:wss path="http://my_farm_url/subsite1/form_lib"

我正在将 subsite1 更改为 subsite2。

我尝试设置一个相对 URL,首先是提交元素,然后是两者,但无济于事。表单正在呈现(在浏览器中),提交工作(没有错误)但是提交的表单不在库中。进一步研究,表单最终被提交到根站点上的表单库 - http://my_farm_url/form_lib!当您考虑它时,这是有道理的,这就是form_lib从站点,从根站点角度将您带到的相对 url。

目前我设想的唯一解决方案是创建一个工具,帮助用户基于模板创建站点,在幕后修复 XSN。我不知道如何以编程方式发布表单模板,但应该可以。除了这个未知数之外,它也不是很自动化,如果可以找到仅适用于 SharePoint/InfoPath 工具的适当解决方案,我将非常高兴。

4

1 回答 1

1

您需要安排一个 EventReceiver 没有办法进行配置。

在 EventReceiver 中,您必须读取文件“Manifest.xsf”,更新定义了 url 的 XML 节点并保存文件“Manifest.xsf”。

要读取 XML 节点,必须使用 System.Xml.dll

于 2012-07-13T20:31:51.167 回答