InfoPath From Service只有SharePoint07或10的企业版上才会集成。而且他对我来说还是比较神秘的,但这并不妨碍我去使用它,我们暂时先理解为他作为一个组件存在于SharePoint环境中,并用于渲染表单模版文件为可以由浏览器打开的若干网页。至于他是如何运作的(原理如何)可以暂时不用理会,我会在后面的文章中深入讨论。
我们只需要先了解在哪里能看到比较直观的配置入口。首先打开SharePoint 2010的管理中心|一般应用程序设置里面我们就可以找到InfoPath Forms Services的相关设置(如下图):
他主要有下面五项:
1、管理表单模版(Manage form templates)
2、配置InfoPath Forms Services(Configure InfoPath Forms Services)
3、上传表单模版(Upload form template)
4、管理数据连接文件(Manage data connection files)
5、配置InfoPath Forms Services Web服务代理(Configure InfoPath Forms Services Web Service Proxy)
下面我们大致介绍一下这几个页面
一、“管理表单模版”与“上传表单模版”
上传表单模版是管理表单模版中的一个子项,我们可以放在一起来看待。
上面我们看到的这些表单并不是我创建的,相反,这些表单是我刚刚安装、配置好SharePoint环境后系统预设的。根据使用的语言环境的不同,可能列表中的表单模版文件名略有不同。除了Name(名称)栏外,列表中还有“Version”、“Moditied”、“Category”、“Status”、“Workflow Enabled”五个字段。这里我要说明几个比较不易理解的字段:
Version字段是标识着每个表单模板的版本。在上图中因为我的环境为SharePoint 2010 他内置了 Infopath Forms Services 2010 因为他的版本是14.0.0.0(2007的话他就是12)当然我们也可以在InfoPath2010中创建Infopath 2007的表单模版,此时他的版本就是12.0.0.0。在深入理解这个字段的含义之前我们要先回过头来看一下InfoPath Designer 2010中的一个比较重要的配置界面:点击 文件|信息 后弹出了“表单信息”配置页面。在这里不仅能显示当前设计表单模版的基本信息,而且还有最重要的几个功能的入口。将这个界面熟记于胸将有助于我们理解表单设计的相关问题。后面的几遍文章我们也会多次见到这个页面。我们先打开界面下方的“窗体选项”按钮。
在弹出的表单选项中,我们可以在“兼容性”控制里面找到表单类型选项。如果我们选择了Infopath 2007的表单类型,那么在上传到表单管理模块后在Version中将看到12.0.0.0的版本。
这个类别其实并无特别的用处,只是可以对自定义的表单进行分类的显示筛选。当表单很多时可以根据此属性进行筛选。我们可以在“表单信息”那个菜单里找到“表单模版属性”按钮。在点击此按钮所弹出的对话框中。我们勾选“启用自定义类别”在下方的文本框中可以输入我们的类别名称。
这个字段很重要,做表单时往往会在这个地方有一些摸不清门路的问题会出现,当我们更新一个场级别的表单模版时,状态往往显示不正确,如一直显示正在安装、正在更新、正在删除等信息,即使我们反复对Server或IIS做Reset也无济于是。这些问题的存在往往是我们对Forms Services的运作模式不了解造成的。在中后期我会单独就此类问题进行分析。
这个选项与表单模版的部署方式关系密切,当我们使用Infopath Designer 2010 自带的方式进行部署时,我们并不能与SharePoint Workflow进行关联。所以您可能会发现我们自己在Infopath Designer中发布的表单模版不能启用这个功能。
在表单模版管理页面中我们选择每个表单后会弹出详细的功能菜单,具体有视图属性、激活、停用、静止、删除表单模版。另外,当WorkFlow Enable 属性为True时,我们将不能使用激活、停用、静止、删除表单模版进行操作。它会提示:This form template cannot be activated or deactivated. It is part of an installed workflow and cannot be accessed directly outside of the workflow.(这个表单模版不能被激活或停止,因为他属于工作流的一部分。)如果我们要操作该表单只能通过操作Feature的方式进行。
“视图属性”页面
在“视图属性”的页面。我们主要关注“Security Information”、“Identification” 两个节点,第一个节点中主要标识了模板的标识信息。如创建时间、修改时候、标题、类别名称、Form ID、等。其中,Form ID在结合工作流Feature时比较重要。表单模板属性中的ID可以变更此属性(不过不建议手动进行变更)。属性Form ID在一些情况下也叫做URN(Uniform Resource Name)下面就是一个普通的
schemas-microsoft-com:office:infopath:HelloWorld:-myXSD-2011-03-05T04-07-49
一般一个URN为分三个部分:
在本地通过InfoPath(Filler)填写多个相同的XSN表单时,可以通过URN进行限制,在系统中,如果打开的多个进程中发现模板使用了相同的Form ID(URN)时就会弹出如果警告对话框,并限制用户的填写。SharePoint中的工作流要要通过URN来区分相同的表单模版,而且相同的表单模版可能会处在不同的工作流模版、工作流实例等。
在InfoPath Designer 2010的表单信息界面中,我们选择“表单模板属性”后的对话框中可以设置Form ID属性,如下图:
下面是我们再选择“上选表单模版”后所看到的页面。界面没什么可说的,说明写的很详细,本文暂不赘述。具体使用方式将在 《好好学习天天向上之InfoPath学习系列(八):探索表单模版的部署方式》 中进行详细分析。
二、配置InfoPath Forms Services(Configure InfoPath Forms Services)
指定在用户会话中存储的大小和时间最大值。
“配置InfoPath Forms Services Web服务代理”与 “管理数据连接文件”后面会在《好好学习天天向上之InfoPath学习系列(五):“数据连接”》中深入分析。
三、InfoPath Designer 2010除了设置表单之外还能做些什么
注:下面的截图实在是懒得做了,在网上找了些现成的DEMO样图。我会在以后的文章里尽量的做多的相关实例。
1、设计SharePoint列表表单
SharePoint列表(也包括External List)表单页面(新增、修改、显示)终于可以通过InfoPath来设计了。
2、电子邮件表单
设计一个可以在电子邮件中填写和审批的表单,但是企业的电子邮件环境需要Exchange 2007及以上支持。
3、Xml或架构
通过一个或多个XML、XSD文件设计表单。
4、文档信息面板
基于SharePoint的文档内容类型,我们可以通过InfoPath的文档信息面板功能去设计文档中的元数据结点,以便将元数据结构化的存储到文档库中。
_____________________________________________________________________________________________________
关于本系列的目录我是第一次写整个系列的Blog,在二、三、四、五、六这几篇里面我会找一些例子进行阐述。然后我会用一个例子来讲解,将SharePoint工作流中的表单实现。在第八、九两篇中我会与大家分享一些项目开发中经常遇到的问题及解决方法。由于本人水平有限,到时希望大家能对错误与不足加以指正。
00、好好学习天天向上之InfoPath学习系列(零):写在最前面
01、好好学习天天向上之InfoPath学习系列(一):Form Services与InfoPath初识
02、好好学习天天向上之InfoPath学习系列(二):“域”、“组”、“控件”
03、好好学习天天向上之InfoPath学习系列(三):“高级表单选项”与“视图”
04、好好学习天天向上之InfoPath学习系列(四):“规则”与“条件格式”
05、好好学习天天向上之InfoPath学习系列(五):“数据连接”
06、好好学习天天向上之InfoPath学习系列(六):通过“文档信息面板”实现对SharePoint更灵活的集成
07、好好学习天天向上之InfoPath学习系列(七):如何将表单模版融入工作流
08、好好学习天天向上之InfoPath学习系列(八):探索表单模版的部署方式
09、好好学习天天向上之InfoPath学习系列(九):Infopath开发过程中遇到的问题总结