65.9K
CodeProject 正在变化。 阅读更多。
Home

InfoPath 中的 What, Where, When, and How

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.78/5 (9投票s)

2010 年 3 月 31 日

CPOL

19分钟阅读

viewsIcon

53577

InfoPath 的常见问题解答。

引言

本文采用问答(问答)方式来理解 SharePoint 中的 InfoPath 表单。

InfoPath 中的 What, where, when, and how!

什么是 InfoPath?

InfoPath 是一款基于 XML 的电子表单开发产品。

InfoPath 2007 的优点是什么?

在 Office 2007 推出之前,InfoPath 客户端应用程序与其他 Office 产品一样,必须安装在每个用户的计算机上。

为了开发和使用表单

  1. 表单必须使用 InfoPath 设计。
  2. 生成的表单模板应托管在网络文件共享中,或安装在用户个人计算机上,或上传到 SharePoint 中的表单库,用户可以从中填写表单。
  3. 填写表单需要将 InfoPath 安装在客户端计算机上。
  4. 对于最终用户来说,开发已连接的 InfoPath 非常复杂。
  5. 开发人员没有集成的开发平台。
  6. 该产品未与其他 Office 产品(如 Word 和 Excel)集成。

Office 2007 的优点

这引入了一个新的服务器端运行时来托管 InfoPath 表单,称为 InfoPath Form Services。新功能包括

  1. 能够将 Word 和 Excel 文档转换为 InfoPath 表单模板。
  2. 借助 InfoPath 表单服务,InfoPath 表单可以启用浏览器。
  3. 新的 InfoPath 表单可以嵌入 Outlook。
  4. 表单可以一次构建,并在不同的模式和设备上呈现,即“一次设计”。
  5. 文档信息面板的引入。即,托管在 Word 2007 或 PowerPoint 2007 中的 InfoPath 表单可用于编辑文档属性。
  6. 逻辑检查器的引入。提供表单中嵌入的所有规则的视觉视图的组件。
  7. 新的 InfoPath 表单可以发布到内容类型。
  8. 模板部件的引入,即可重用代码段。
  9. 使用 Visual Studio Tools for Office 在 Visual Studio 2005 中引入集成开发环境。
  10. 信息权限管理可用于保护表单中的敏感数据。

InfoPath 表单模板的结构是什么?

InfoPath 表单模板(.xsn 文件)实际上是一个 CAB 文件(也可视为 zip 文件),其中包含 InfoPath 所构建的不同组件文件。以下是该 CAB 文件包含的一些重要文件

  1. .xsf
  2. .xsl
  3. .xsd
  4. .dll
  5. .htm 和其他资源文件。

什么是 .xsf 文件?或者什么是表单定义文件 [XSF 文件]?或者什么是 manifest.xsf 文件?

它是一个清单文件,提供其他表单文件的基本定义。此文件包含描述表单所有方面的 XML 代码。当 InfoPath 在设计模式下创建和保存新的表单模板时,会自动创建 .xsf 文件。当表单设计人员和开发人员更改表单模板或为其添加新功能时,InfoPath 会更新 .xsf 文件以反映这些更改。

注意:也可以使用任何文本或 XML 编辑器(如 Microsoft Notepad)直接修改 .xsf 文件。但是,在修改 .xsf 文件时应小心:如果输入了无效条目,则可能导致文件关联的表单无法使用。但是,可以对 .xsf 文件进行一些在设计模式下无法生成的自定义。

.xsf 文件是 InfoPath 表单的核心文件,因为它包含有关整个表单的信息。它包含的一些数据包括处理元数据、用户界面自定义、架构定义、视图、业务逻辑声明、事件处理程序和部署信息。

以下是 .xsf 文件包含的一些项目

  • 表单的唯一标识符
  • 关于表单的全局元数据信息,包括部署和发布信息
  • 表单生成的 XML 文档的 XML 架构定义
  • 视图及其关联的用户界面组件(菜单、工具栏和按钮)的定义
  • 使用用户界面组件可用的编辑操作的定义,以及它们的可用性将如何根据上下文确定
  • 工作流和路由信息
  • 事件处理程序、数据验证和与表单底层 XML 文档的各个 XML 节点或 XML 文档本身相关的业务逻辑
  • 与整个表单相关的事件处理程序
  • 关于表单模板中包含的所有文件的打包信息

.xsf 文件基于 xsf 命名空间。其根元素是 xDocumentClass 元素。

<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is automatically created and modified by Microsoft Office InfoPath.
Changes made to the file outside of InfoPath might be lost if the form template
is modified in InfoPath.
-->
<xsf:xDocumentClass trustSetting="automatic" solutionFormatVersion="2.0.0.0" 
   dataFormSolution="yes" solutionVersion="1.0.0.6" productVersion="12.0.0"
   publishUrl="" 
   name="urn:schemas-microsoft-com:office:infopath:Unpacked:-dataFormSolution"
   xmlns:xsf="http://schemas.microsoft.com/office/infopath/2003/solutionDefinition" 
       xmlns:xsf2="http://schemas.microsoft.com/office/
                   infopath/2006/solutionDefinition/extensions" 
       xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
       xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:xdUtil="http://schemas.microsoft.com/office/infopath/2003/xslt/Util" 
       xmlns:xdXDocument="http://schemas.microsoft.com/office/infopath/2003/xslt/xDocument" 
       xmlns:xdMath="http://schemas.microsoft.com/office/infopath/2003/xslt/Math" 
       xmlns:xdDate="http://schemas.microsoft.com/office/infopath/2003/xslt/Date" 
       xmlns:xdExtension= xmlns:xdEnvironment= 
          "http://schemas.microsoft.com/office/infopath/2006/xslt/environment" 
       xmlns:xdUser="http://schemas.microsoft.com/office/infopath/2006/xslt/User" 
       xmlns:q="http://schemas.microsoft.com/office/infopath/2003/ado/queryFields" 
       xmlns:d="http://schemas.microsoft.com/office/infopath/2003/ado/dataFields" 
       xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" 
       xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-03-19T15:02:59" 
       xmlns:xdado="http://schemas.microsoft.com/office/infopath/2003/adomapping">
  <xsf:package>
    <xsf:files>
      <xsf:file name="schema.xsd">
        <xsf:fileProperties>
          <xsf:property name="editability" 
             type="string" value="none"></xsf:property>
          <xsf:property name="namespace" type="string" 
             value="http://schemas.microsoft.com/office/infopath/
                    2003/dataFormSolution"></xsf:property>
          <xsf:property name="rootElement" type="string" 
                value="myFields"></xsf:property>
          <xsf:property name="useOnDemandAlgorithm" 
             type="string" value="yes"></xsf:property>
        </xsf:fileProperties>
      </xsf:file>
      <xsf:file name="schema1.xsd">
        <xsf:fileProperties>
          <xsf:property name="namespace" type="string" 
             value="http://schemas.microsoft.com/office/infopath/2003/ado/dataFields">
          </xsf:property>
          <xsf:property name="editability" type="string" 
                  value="none"></xsf:property>
        </xsf:fileProperties>
      </xsf:file>
      <xsf:file name="schema2.xsd">
        <xsf:fileProperties>
          <xsf:property name="namespace" type="string" 
             value="http://schemas.microsoft.com/office/infopath/2003/ado/queryFields">
          </xsf:property>
          <xsf:property name="editability" type="string" 
             value="none"></xsf:property>
        </xsf:fileProperties>
      </xsf:file>
      <xsf:file name="template.xml"></xsf:file>
      <xsf:file name="sampledata.xml">
        <xsf:fileProperties>
          <xsf:property name="fileType" type="string" 
                      value="sampleData"></xsf:property>
        </xsf:fileProperties>
      </xsf:file>
      <xsf:file name="view1.xsl">
        <xsf:fileProperties>
          <xsf:property name="lang" type="string" value="1033"></xsf:property>
          <xsf:property name="queryView" type="string" value="yes"></xsf:property>
          <xsf:property name="componentId" type="string" value="12"></xsf:property>
          <xsf:property name="xmlToEditName" type="string" value="12"></xsf:property>
          <xsf:property name="mode" type="string" value="1"></xsf:property>
        </xsf:fileProperties>
      </xsf:file>
    </xsf:files>
  </xsf:package>
  <xsf:importParameters enabled="yes"></xsf:importParameters>
  <xsf:extensions>
    <xsf:extension name="SolutionDefinitionExtensions">
      <xsf2:solutionDefinition runtimeCompatibility="client server" 
                   allowClientOnlyCode="no">
        <xsf2:offline openIfQueryFails="yes" cacheQueries="yes"></xsf2:offline>
        <xsf2:server isPreSubmitPostBackEnabled="no" isMobileEnabled="no" 
                   formLocale="en-US"></xsf2:server>
      </xsf2:solutionDefinition>
    </xsf:extension>
  </xsf:extensions>
  <xsf:views default="View 1">
    <xsf:view name="View 1" caption="View 1">
      <xsf:mainpane transform="view1.xsl"></xsf:mainpane>
      <xsf:editing>
        <xsf:xmlToEdit name="DimCustomer_7" 
              item="/dfs:myFields/dfs:dataFields/d:DimCustomer" 
              container="/dfs:myFields">
          <xsf:editWith caption="DimCustomer" 
                  xd:autogeneration="template" component="xCollection">
            <xsf:fragmentToInsert>
              <xsf:chooseFragment parent="dfs:dataFields" innerFragment="d:DimCustomer">
                <d:DimCustomer CustomerKey="" Title="" 
                     FirstName="" MiddleName="" LastName="" 
                     BirthDate="" MaritalStatus="" 
                     Suffix="" Gender="" EmailAddress="" 
                     AddressLine1="" AddressLine2=""></d:DimCustomer>
              </xsf:chooseFragment>
            </xsf:fragmentToInsert>
          </xsf:editWith>
        </xsf:xmlToEdit>
      </xsf:editing>
      <xsf:menuArea name="msoInsertMenu">
        <xsf:menu caption="&Section">
          <xsf:button action="xCollection::insert" 
             xmlToEdit="DimCustomer_7" caption="DimCustomer"></xsf:button>
        </xsf:menu>
      </xsf:menuArea>
      <xsf:menuArea name="msoStructuralEditingContextMenu">
        <xsf:button action="xCollection::insertBefore" xmlToEdit="DimCustomer_7" 
              caption="Insert DimCustomer before" showIf="immediate"></xsf:button>
        <xsf:button action="xCollection::insertAfter" xmlToEdit="DimCustomer_7" 
              caption="Insert DimCustomer after" showIf="immediate"></xsf:button>
        <xsf:button action="xCollection::remove" xmlToEdit="DimCustomer_7" 
              caption="Remove DimCustomer" showIf="immediate"></xsf:button>
        <xsf:button action="xCollection::insert" xmlToEdit="DimCustomer_7" 
              caption="Insert DimCustomer" showIf="immediate"></xsf:button>
      </xsf:menuArea>
    </xsf:view>
  </xsf:views>
  <xsf:applicationParameters application="InfoPath Design Mode">
    <xsf:solutionProperties 
      fullyEditableNamespace="http://schemas.microsoft.com/office/
                              infopath/2003/myXSD/2007-03-19T15:02:59" 
      lastOpenView="view1.xsl" 
      lastVersionNeedingTransform="1.0.0.3"></xsf:solutionProperties>
  </xsf:applicationParameters>
  <xsf:documentSchemas>
    <xsf:documentSchema rootSchema="yes" 
       location="http://schemas.microsoft.com/office/infopath/2003/
                 dataFormSolution schema.xsd"></xsf:documentSchema>
    <xsf:documentSchema 
       location="http://schemas.microsoft.com/office/infopath/2003/ado/
                 dataFields schema1.xsd"></xsf:documentSchema>
    <xsf:documentSchema 
       location="http://schemas.microsoft.com/office/infopath/2003/ado/
                 queryFields schema2.xsd"></xsf:documentSchema>
  </xsf:documentSchemas>
  <xsf:fileNew>
    <xsf:initialXmlDocument caption="Unpacked" 
       href="template.xml"></xsf:initialXmlDocument>
  </xsf:fileNew>
  <xsf:query>
    <xsf:adoAdapter connectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;
                           Persist Security Info=True;Initial Catalog=AdventureWorksDW;
                           Data Source=[Source];Use Procedure for Prepare=1;
                           Auto Translate=True;Packet Size=4096;Workstation ID=[ID];
                           Use Encryption for Data=False;
                           Tag with column collation when possible=False" 
           commandText="select &quot;CustomerKey&quot;,&quot;Title&quot;, 
                        &quot;FirstName&quot;,&quot;MiddleName&quot;,
                        &quot;LastName&quot;,&quot;BirthDate&quot;,
                        &quot;MaritalStatus&quot;,&quot;Suffix&quot;,
                        &quot;Gender&quot;,&quot;EmailAddress&quot;,
                        &quot;AddressLine1&quot;,&quot;AddressLine2&quot; 
                        from &quot;dbo&quot;.&quot;DimCustomer&quot; 
                        as &quot;DimCustomer&quot;" 
           queryAllowed="yes" name="Main connection" 
           submitAllowed="no"></xsf:adoAdapter>
  </xsf:query>
</xsf:xDocumentClass>

xsf:extensions 元素用于将表单绑定到其他平台,如 SharePoint。

InfoPath 中的表单视图文件是什么?或者 XSL 文件?

.xsl 文件是表单视图文件,它提供了一种表示不同信息的方式,具体取决于运行时环境和其他因素,包括最终用户的安全配置文件。它们基于 XML 样式表,可以根据条件进行格式化。(条件格式化本身就是 XSL 的内置属性。)

InfoPath 中的 .XSD 文件是什么?

它是 InfoPath 的表单架构文件。它决定了 InfoPath 识别的数据格式。

InfoPath 表单中的数据存储在哪里?

数据存储在 XML 文件中。

简要解释 InfoPath 表单的架构

InfoPath 表单模板实际上是一个 CAB 文件,其中包含不同的组件文件。

以下是构成 InfoPath 模板一部分的文件列表。

  • .xsf 文件:描述其他表单文件基本定义的清单文件。
  • .xsl 文件:定义数据转换为不同视图的转换。
  • .xsd 文件:定义数据源架构。
  • .dll 文件:包含用 .NET 或 COM 构建的自定义逻辑。
  • .htm 和其他资源文件:自定义 HTML 资源文件和其他表单资源。

当使用管理员部署上传表单模板时,模板将存储在网站的内容数据库中。Office Forms Services 为 InfoPath Forms Services 提供服务器运行时环境。在浏览器中运行时,所有规则、验证和计算都使用客户端脚本在浏览器中执行。

所有业务逻辑都在服务器上执行。因此,当浏览器请求业务逻辑执行时,使用低成本的 XMLHTTP 执行回发。FormsServer.aspx 是一个 Infopath Forms Services 页面,它从内容数据库访问表单数据并将其呈现给客户端。

InfoPath Form Services 中负责在浏览器上呈现 .xsn 文件的主要组件是什么?

InfoPath Form Services 由四个组件组成,负责在浏览器上呈现 .xsn 文件

  1. ASP.NET 模块:将 HTML 返回给浏览器。
  2. Infopath Form Services HTTPHandlers:将 IIS 的请求转发给页面生成器。
  3. 转换器:负责将 .xsn 文件转换为 .aspx 页面。
  4. 页面生成器:与内部数据源通信,并负责处理来自浏览器的回发数据和维护会话状态。

什么是逻辑检查器?

logicInspector.JPG

Logic Inspector 是 InfoPath 2007 中的一个工具,它在一个对话框中显示表单的所有代码依赖项。根据访问 Logic Inspector 的方式,最初您会看到概述窗格,或者概述窗格和详细信息窗格。

什么是模板部件?

它是 InfoPath 表单中一种可重用的部分。模板部件是表单模板的一部分,可以保存下来供多个表单模板重用。典型的模板部件包括控件和数据源(数据源:定义和存储 InfoPath 表单数据的字段和组的集合)。表单中的控件绑定到数据源中的字段和组,也可能包含数据连接(数据连接:InfoPath 表单与外部数据源(如数据库、Web 服务、SharePoint 库或 XML 文件)之间的连接)等功能。数据连接用于查询和提交数据。数据验证是测试数据准确性的过程;一组您可以应用于控件的规则,用于指定用户可以输入的________数据的类型和范围。规则是基于表单中的事件和值自动执行任务的条件或操作,或一组条件或操作。

通过创建和使用模板部件,您可以帮助确保组织中的表单模板在语气、结构和行为上保持一致。例如,人力资源部门可能在其所有表单模板中使用一个“联系信息”模板部件。

模板部件的文件扩展名为 .xtp。要设计模板部件,您必须在“设计表单模板”任务窗格中选择“模板部件”选项而不是“表单模板”选项。打开模板部件时,InfoPath 标题栏中会出现(模板部件设计)前缀,表示您处于设计模板部件的正确模式。

与表单模板不同,您在设计完模板部件后不会发布它。相反,您将其保存为模板部件(.xtp)文件。然后,您可以将 .xtp 文件提供给需要使用它的其他表单设计人员。例如,您可以将 .xtp 文件复制到组织网络上的文件服务器,然后向表单设计人员发送一封电子邮件,说明模板部件的用途、其位置以及如何将其添加到 InfoPath 的“控件”任务窗格中。

当表单设计人员在表单模板中插入模板部件时,它就成为表单模板的一部分,并且表单设计人员可以根据需要对其进行自定义。注意:无法阻止表单设计人员在插入模板部件后对其进行更改。如果您不希望其他人自定义模板部件,则在分发它时应明确说明。

要将模板部件插入 InfoPath 表单模板,表单设计人员必须首先使用“添加自定义控件”向导将其添加到“控件”任务窗格。完成向导后,模板部件将出现在“控件”任务窗格的“自定义”标题下。

要修改模板部件,您可以在 InfoPath 设计模式下打开它,进行所需的更改,然后重新保存模板部件。然后,您必须将更新后的模板部件发送给使用原始模板部件的任何表单设计人员。表单设计人员可以使用“添加自定义控件”向导将更新后的模板部件添加到“控件”任务窗格。完成此操作后,他们可以打开每个受影响的表单模板,并让 InfoPath 用新版本替换原始模板部件。

注意:如果您的组织创建了大量模板部件,您可以构建一个模板部件存储库,该存储库可以从公司网络上的通用位置(如共享文件夹、Web 服务器或 Microsoft SharePoint Services 站点上的表单库)访问。可以将 InfoPath 设置配置在注册表中,以便模板部件自动出现在已安装 InfoPath 的用户的“控件”任务窗格中。为了实现这一点,您可能需要与您的信息技术 (IT) 部门合作,或与负责管理您组织中 InfoPath 的人员合作。有关此主题的更多信息,请参阅 Microsoft TechNet 上的 InfoPath 文档。TechNet 是 IT 专业人员用于成功规划、部署、管理和支持 Microsoft 产品的资源。

创建模板部件的步骤是什么?

在“设计表单”对话框中,您可以选择设计模板部件而不是表单模板。如果这样做,InfoPath 中不支持模板部件的功能将被隐藏或禁用,以免您在模板部件中使用它们。

  1. 在“文件”菜单上,单击“设计表单模板”。
  2. 在“设计表单模板”对话框中,单击“模板部件”。
  3. 在“基于”库中,执行以下操作之一:
    • 要定义数据源(数据源:定义和存储 InfoPath 表单数据的字段和组的集合。表单中的控件绑定到数据源中的字段和组),请在设计模板部件时单击“空白”。
    • 要使用 XML 文档(.xml)文件或 XML 架构(XML 架构:一个用 XML 编写的正式规范,它定义了 XML 文档的结构,包括元素名称和丰富的数据类型,哪些元素可以组合出现,以及每个元素可用的属性)文件(.xsd)作为模板部件的数据源,请单击“XML 或架构”。
    • 注意:如果您的模板部件基于 XML 文档或 XML 架构,InfoPath 会在“数据源”任务窗格中填充与文档或架构中的 XML 元素(XML 元素:由开始标记、结束标记和标签之间的信息组成的 XML 结构;元素可以具有属性,并且可以包含其他元素)相匹配的字段(字段:数据源中可包含数据的元素或属性;如果字段是元素,则它可以包含属性字段;字段存储输入到控件中的数据)和组(组:数据源中可包含字段和其他组的元素;包含其他控件(如重复表和节)的控件绑定到组)。数据源是锁定的。根据文档或架构,您可能无法向部分或全部数据源添加新字段或组,或者更改现有字段和组的某些方面。

    • 为了使您的模板部件与 InfoPath Forms Services 兼容,请选中“仅启用浏览器兼容功能”复选框。
    • 点击“确定”。
    • InfoPath 中会打开一个新的模板部件。

    • 设计您的模板部件。
    • 设计完模板部件后,在“文件”菜单上,单击“保存”。

如何重用模板部件

如果您想基于现有模板部件的设计来创建新的模板部件,则必须打开现有的模板部件,在“模板部件属性”对话框中更改其名称,然后将新模板部件保存为另一个区分性的文件名。当您在“模板部件属性”对话框中更改模板部件名称时,模板部件 ID 会自动更新。此 ID 进一步区分了不同的模板部件。

  1. 在“文件”菜单上,单击“设计表单模板”。
  2. 在“设计表单模板”对话框的“打开表单模板”下,单击“在我电脑上”。
  3. 在“文件类型”列表中,单击“InfoPath 模板部件”。
  4. 浏览并单击要打开的模板部件,然后单击“打开”。
  5. 在“文件”菜单上,单击“属性”。
  6. 在“模板部件属性”对话框中,在“模板部件名称”框中输入新名称。
  7. 执行此操作时,“模板部件 ID”框中的标识文本会反映新名称。模板部件 ID 是由 InfoPath 自动生成的。它必须是您创建的每个新模板部件的唯一标识。

  8. 在“文件”菜单上,单击“另存为”,然后为模板部件输入新的文件名。

什么是文档信息面板?

当您使用 Office Word 2007、Office Excel 2007 或 Office PowerPoint 2007 创建文档时,会自动为您创建一个文档信息面板。此默认文档信息面板包含标准属性,如作者、标题和主题。或者,您可以设计一个文档信息面板并将其与文档关联,或者自定义现有的文档信息面板来添加自定义属性。

文档信息面板是一个在客户端应用程序内显示的表单,其中包含文档元数据的字段。文档信息面板使用户能够随时输入有关文件的重要元数据,而无需离开 Microsoft Office 系统客户端应用程序。

如何从 InfoPath 创建自定义文档信息面板?

从 Microsoft Office InfoPath 2007 应用程序开始,您可以浏览到所需的站点或列表,并选择要为其创建自定义文档信息面板的内容类型。Microsoft Office InfoPath 2007 将选定的内容类型设置为您的主要数据源,并将自动生成的表单作为起点。完成表单后,您可以将其发布到内容类型或其他位置。要从 InfoPath 创建自定义属性面板*p*

  1. 在 Microsoft Office InfoPath 2007 中,在“文件”菜单上,单击“设计表单”。在“设计表单”对话框中,在“设计新表单”下,选择“表单模板”,选择“XML 或架构”,然后单击“确定”。将出现“数据源”向导。
  2. 导航到内容类型所在的 Windows SharePoint Services 3.0 站点或列表。单击“下一步”。
  3. Microsoft Office InfoPath 2007 会查询服务器并显示位于指定列表或站点上的内容类型列表。如果您输入了网站 URL,Microsoft Office InfoPath 2007 将显示该网站上的网站内容类型列表。如果您输入了文档库 URL,Microsoft Office InfoPath 2007 将显示该文档库可用的内容类型列表。

  4. 选择要为其自定义文档信息面板的内容类型,然后单击“下一步”。
  5. Microsoft Office InfoPath 2007 会在已为此内容类型创建自定义文档信息面板时发出警告。要创建另一个自定义表单,请单击“确定”。

    注意:在发布新表单到内容类型之前,现有表单不会被更改。

  6. 单击“完成”。
  7. Microsoft Office InfoPath 2007 会加载一个基于内容类型架构的自动生成的文档信息面板。

  8. 根据需要编辑和自定义表单,然后保存表单。
  9. 注意:由于自定义表单基于内容类型架构,因此您无法像编辑典型的 Microsoft Office InfoPath 2007 表单一样编辑表单架构。要更改自定义文档信息表单架构,您首先需要更改 Windows SharePoint Services 3.0 中的内容类型架构本身。

  10. 发布表单。您可以选择直接将表单发布到内容类型,或发布到某个位置。发布表单到所需位置后,退出 Microsoft Office InfoPath 2007。

将自定义文档信息面板发布到内容类型

  1. 在 Microsoft Office InfoPath 2007 中,从“文件”菜单中,单击“发布”以打开“发布向导”。单击“下一步”。
  2. 验证向导显示的文档类型信息,然后单击“发布”。
  3. Microsoft Office InfoPath 2007 会在已为该内容类型指定自定义文档信息面板时发出警告。要覆盖这些设置,请单击“是”。

    注意:如果初始自定义表单直接发布到内容类型,则该表单将被新自定义表单覆盖。但是,如果初始表单发布到其他位置,则新自定义表单将直接发布到内容类型,并且只有指定自定义文档信息面板位置的内容类型设置才会被覆盖。如果发布到共享位置,您将需要使用内容类型设置页面更新该位置。

    Microsoft Office InfoPath 2007 会显示一个对话框,确认表单已成功发布。

  4. 单击“关闭”。

将自定义文档信息面板发布到其他位置

  1. 在 Microsoft Office InfoPath 2007 中,从“文件”菜单中,单击“发布”以打开“发布向导”,然后单击“下一步”。
  2. 选择“作为 SharePoint 网站内容或列表内容的文档信息面板模板”以外的目的地作为您的发布位置,然后单击“下一步”。
  3. 按照发布任何其他表单的方式完成“发布向导”。
  4. 在 Windows SharePoint Services 3.0 用户界面中,导航到内容类型的设置页面,然后单击“更改文档信息面板设置”。
  5. 选择“使用现有自定义模板(URL、UNC 或 URN)”,然后输入自定义文档信息面板的 URL 或 URN 位置。单击“确定”。

InfoPath Form Services 的主要配置元素是什么?服务器级别配置元素存放在哪里?

InfoPath form services 的服务器级配置元素位于 SharePoint Central Administration 中。

InfoPath Form Services 元素中有多少个部分?

有五个部分

  1. 管理表单模板
  2. 配置 InfoPath Services
  3. 上传表单模板
  4. 管理数据连接文件
  5. 管理 Web 服务代理

借助“管理表单模板”,我们可以执行哪些功能?

本节允许管理员执行以下操作:

  1. 激活表单模板到网站集。
  2. 从网站集中停用表单模板。
  3. 使表单模板静默。
  4. 删除表单模板。

使表单模板静默是什么意思?

静默是一个逐渐将表单模板脱机并防止创建新会话的过程。它允许现有会话完成,从而防止数据丢失。当管理员使表单模板静默时,所有网站集中的表单模板都会脱机。

借助“配置 InfoPath 表单服务”,我们可以执行哪些功能?

此页面允许管理员配置 InfoPath Form Services 的一些基本设置。页面中有许多部分,但其中重要的如下:

  1. 用户浏览器兼容表单模板
  2. 数据连接超时
  3. HTTP 数据连接
  4. 用户表单模板的跨域访问
  5. 表单会话状态
  6. 等等...

如何维护表单会话状态?

InfoPath Form Services 可以以两种模式维护数据:

  1. SQL Server 数据库:这种方法称为使用会话状态服务。
  2. 客户端存储的 ASP.NET 视图状态:称为表单视图。

需要注意的点:应用程序需要与共享服务提供商相关联。

何时使用哪种会话状态模式?

建议低带宽用户使用会话状态服务模式 [SQL Server 数据库],因为表单视图状态会损害低带宽的性能。而对于小团队用户环境,可以使用表单视图。

管理员还可以为表单视图状态允许的会话数据大小输入一个值。如果会话数据大小超过与表单视图模式关联的值,InfoPath Form Services 将自动恢复到会话状态服务。

InfoPath 表单工作需要在网站集中激活什么必需的功能?

需要在网站集中激活名为 Office SharePoint Server Enterprise Site Collection Features 的功能。

如果未激活“Office SharePoint Server Enterprise Site Collection Features”,会发生什么?

这将需要安装 InfoPath 客户端应用程序。

InfoPath 与 SharePoint 的主要集成领域有哪些?

以下是 InfoPath 与 SharePoint 的主要集成领域:

  1. 发布到 Windows SharePoint Services 表单库。
  2. 使用属性提升和属性降级与 SharePoint 表单库集成。
  3. 发布为 SharePoint 内容类型。
  4. 使用文档信息面板。
  5. 工时表、费用报告、差旅申请、帮助台请求等。
© . All rights reserved.