在创建InfoPath表单之前,收集需求,并对表单、布局、规则和可能得工作流有个清楚的认识是很重要的。这些类型的表单模板有什么不同,为什么兼容性要求很重要?特定的控件和函数在每个表单上被使用,并且,一些只能用在特定的SP版本和客户端上。不要担心:如果你尽力做一些事情,如插入不兼容的控件、InfoPath的设计检查会让你知道。对于每个列出的因素,在左边的方框中,找出你的SP版本,与右边的框中将让你知道哪种类型的表单模板或兼容性可以被使用。
1. 重复表
表单是否需要有重复表?什么是重复表?一个例子是费用报告表单。你每次旅程,表单都有记录,但是每次旅程有多个支出要填写。这种列表使用重复表控件和重复部分。它可以允许在单个表单中包含多个列表项目。这就叫信息层次结构,并且,它在SP列表表单可用。
注意:查看第三章节“表单设计基础:处理InfoPath布局、控件和视图”获得重复表的更多信息。
2. 大量的域
表单中需要有多少个域?当机遇客户端或浏览器的表单库表单被创建时,你可以选取并决定,那些域编程库的栏目。当一个SP列表表单被创建时,每个域都等同于SP的栏目。作为通用规则,如果表单有多于50或60个域,使用表单库表单是更好的方法。
3. 用户角色
这个功能允许你定义一些表单中的AD用户和角色。对于每一组用户名或组名,角色都可以被分配。表单的规则中的条件可以查询当前用户的角色,并执行响应操作。下面是处理用户角色时的一些警告:
A. 它们不与SP组一起工作
B. 只有AD组或单个登陆名称可以被使用。一般情况下,把单个用户名放到表单中不是好的实践。当公司有变动时,对于表单开发者来说,追踪到那个表单需要修改是很困难的。
C. 用户角色只有处理基于客户端(filler)表单时可用,但是没关系。你有几个办法,不使用它完成相同功能。例如使用用户配置文件服务(在第九章节“处理SP用户配置文件Web服务”有讨论)
当我们输入任一用户的所有配置信息,如她的部门或经理名称时,表单的规则可以基于那些域的值的条件进行自定义。
4. 拼写检查、自动完成和Placeholder文本
文本框控件在属性的显示选项卡上有设置,使你选择检查框来启动自动完成和拼写检查。Placeholder文本是灰色文本,在填入之前它显示在域中。这些设置是可见的,但是当表单在浏览器中填写时,功能不会出现。
小贴士:使用基于浏览器的表单时,浏览器固有的自动完成设置将会被使用,与InfoPath设置是独立的。
小贴士:除了使用Placeholder,前往高级选项卡填写屏幕提示框。这个文本将作为工具提示来显示,并且与基于浏览器的表单兼容。
5. 提交到数据库
你可以选择一个模板基于数据库创建表单。甚至如果这个模板最初未被选择,仍然有一种数据连接可以被创建,将数据直接提交到数据库。可以购买第三方工具完成此任务。许多情况下,公司使用内部开发人与写web services来与他们的专有系统进行沟通。
6. 表单参数
SP2010中新出现的是表单输入和输出参数。在表单发布过程中,对话框打开,从中你可以选择表单域作为输入、输出或输入/输出参数。使用参数,你可以在Web部件页上使用InfoPath表单Web部件。参数可以从其他Web部件传送到表单,反过来也一样。
注意:在第八章节“使用InfoPath表单Web部件”了解更多InfoPath表单Web部件和参数。
7. 脱机表单
当客户端电脑脱机,不连网络的时候,表单需要被填写吗?在表单的选项中的一个设置可以允许用户在数据不可用时填写表单。在做最初表单决策时,你需要理解这些因素
A. 表单在浏览器中不能脱机填写。这意味着尽管表单可以配置成基于浏览器兼容,对于脱机填写表单的用户,将会需要一些客户端软件。
B. 如果表单时SP列表表单,使用SP Workspace2010可以脱机填写。
C. 对于表单库表单,InfoPath Filler软件必须安装在客户端。并且,从次要数据源缓存数据只有在表单在客户端上填写完成时才发生。
注意:脱机设置和如何使用将会在第十四章节“高级选项”讲解。
8. 其他控件
更多不著名的表单控件只有在基于客户端的表单上可用。这些空间是垂直标签、水墨画、签名行、滚动区域、水平区域、重复递归部分、水平重复表、主从表以及重复选项组。如果任何一个控件使用在表单上,它就不能作为基于浏览器的表单发布了。
9. 管理员批准模板
管理员批准模板是一个XSN文件,在SP Server的企业版管理中心创建和上传。当表单需要全局部署到多个网站集时可以使用。一些情况下,表单必须作为管理员批准模板创建,并且不能简单发布到表单库中。下面是一些主要因素:
A. 自定义代码。在某些情况下,InfoPath内置功能不够用,自定义代码需要添加到表单。当表单的兼容性设置涉及到自定义代码时,比单必须是基于浏览器的它必须作为管理员批准模板发布。
B. 网站集间的数据源。当数据源不是从正在填写的表单,而从网站集获取或者提交数据到网站集是,表单必须作为管理员批准模板创建。否则,当表单打开并查询数据时,错误呈现给用户。、
C. 完全信任或限制安全级别。在表单的选项中由一些安全设置。当完全信任级别被选中时,比偶单必须作为管理员批准模板发布。更进一步,它必须获得可信任根证书的数字签名。
当需要管理员批准模板时,在表单发布过程中会很明显。
注意:在第六章节“发布和提交表单数据”了解更多关于发布和提交表单的信息。在第十二章节“管理和监控InfoPath表单服务”了解更多InfoPath表单服务。
附:SP和Office 365中的自定义代码。
程序员可以通过使用VS应用程序工具(VSTA,visual studio tools for application)添加自定义代码到表单。安装InfoPath时,VSTA是一个安装部件。如果MSSP Foundation沙箱代码服务在网站集上运行,管理员可以发布表单模板(含代码)到表单库中(作为沙箱解决方案)。如果表单设计者也是网站集管理员,她可以发布表单(无需SP Online管理员批准)。沙箱解决方案将会在环境(能够访问服务器对象模型的子集)中运行。“完全信任”安全设置的表单在SP Online中不支持。