Jane Rizhanovsky, 信息开发人员, IBM
2008 年 7 月 14 日
本文介绍 IBM Lotus Forms(以前称为 IBM Workplace Forms)中令人兴奋的变化。Lotus Forms 产品套件提供一个服务器、一个表单设计器和一个用户界面产品,让我们能够从概念到实现创建全面定制的表单。
IBM Lotus Forms V3.0 现在已经发布了。本文讨论这个产品套件的总体变化,以及其中每个产品的新特性:
- IBM Lotus Forms Designer
- IBM Lotus Forms Viewer
- IBM Lotus Forms Server – Forms Services Platform
- IBM Lotus Forms Server – Webform. Server
- IBM Lotus Forms Server – API
图 1 显示几个新的 Lotus Forms 图标。
图 1. Lotus Forms 图标
![Lotus Forms 图标](https://i-blog.csdnimg.cn/blog_migrate/a184373b13fa310a67e0415618fac605.png)
Preferences 窗口之类的弹出窗口在外观和感觉上现在与 Microsoft Windows 更一致了。选项显示在左边的面板中,细节显示在右边的面板中。图 2 显示了 Lotus Forms Viewer 中的一个示例 Preferences 窗口。
图 2. 新的 Preferences 窗口
![新的 Preferences 窗口](https://i-blog.csdnimg.cn/blog_migrate/1f30e25b35de241443208c8681291c4f.png)
![]() ![]() |
![]()
|
![]() |
|
与以前的版本相比,Lotus Forms V3.0 对用户更加友好了。用于安装的 Launchpad 和安装后的 First Steps 指南提供了先决条件、系统需求、版本中新特性的总结以及额外的信息源,比如 IBM Lotus Forms Information Center。Lotus Forms Viewer First Steps 还提供了表单示例,可以通过它们测试安装是否正确。Lotus Forms Server Launchpad 包含所有服务器产品的相关信息:API、Webform. Server、Forms Services Platform. 和 Deployment Server。您选择运行一个安装文件,在安装完成之后 Launchpad 会自动显示适当的 First Steps 指南。当前,只在产品的 IBM Lotus Forms Express 版本中提供 Launchpad 和 First Steps 指南。
图 3 显示 Launchpad,图 4 显示 First Steps 指南。
图 3. Lotus Forms Launchpad
![Lotus Forms Launchpad](https://i-blog.csdnimg.cn/blog_migrate/be7dd18c8658a680d493739ed9db91f7.png)
图 4. Lotus Forms First Steps 指南
![Lotus Forms First Steps 指南](https://i-blog.csdnimg.cn/blog_migrate/57168d4a7cecb1df0242484355613452.png)
![]() ![]() |
![]()
|
Lotus Forms 产品支持从右向左阅读的双向语言,比如阿拉伯语和希伯来语。当表单地区设置为 Arabic 或 Hebrew 时,设计区域会镜像反转。这样就允许在使用英文版 Lotus Forms Designer 的同时,设置从右向左阅读的表单条目。可以使用 Lotus Forms Viewer 或 Lotus Forms Server - Webform. Server 查看表单,它们会按照从右向左配置正确地显示。
![]() ![]() |
![]()
|
Lotus Forms Designer V3.0 有几方面的改进:
- 性能改进
- 新的 XFDL Compute Editor
- 演示视频
- 模式支持
- 更好的用户体验
- Forms Conversion Tool
- 可访问性
许多内部性能改进提高了 Lotus Forms Designer 的响应性,尤其是对于大型表单。在以前,由于装载时间很长,操作大型表单比较困难。在 Source 和 Design 模式之间切换时,等待的时间已经显著缩短了。现在可以选择只在 Source 视图中显示 XFDL 的一个页面。另外,可以设置在实现单页面过滤器之前表单必须包含的最小页面数。图 5 是 Lotus Forms Designer 中的一个示例 Preferences 窗口,其中显示了 Source Panel 的选项。
图 5. Lotus Forms Designer 中的 Preferences 窗口
![Lotus Forms Designer 中的 Preferences 窗口](https://i-blog.csdnimg.cn/blog_migrate/aa30b5e0dcfe0f041ec6e99edecb13bb.png)
为了减少装载表单花费的时间,Lotus Forms Designer 提供了一个新特性,即 On Demand Page Loading。这个特性允许指定在打开表单时装载的页面数。例如,装载一个有 30 个页面的表单要花费几分钟。通过使用 On Demand Page Loading,可以指定最初只装载表单的前三个页面。这使用户可以快速地获得前三个页面,而不必等待整个 30 页面的表单装载完成。
以前的 XFDL Compute Editor 版本缺少用户需要的一些特性,比如:
- 允许编辑现有的计算
- 支持 XFDL 和计算的所有方面
- 支持不同的复杂性级别
新的 Compute Editor 允许通过一个容易使用的界面创建简单和复杂的计算。可以将计算添加到所选条目的任何选项或子选项中。Quick Start 为常用的计算提供了模板和说明。可以通过 Preferences 窗口添加自己的计算模板。图 6 显示 Compute Editor,其中的 Quick Start 菜单显示可用的公式模板。
图 6. Compute Editor 中的 Quick Start 菜单
![Compute Editor 中的 Quick Start 菜单](https://i-blog.csdnimg.cn/blog_migrate/e520c01f1b52948d98690ebeed82f1b7.png)
在创建计算时,可以从表单直接选择条目,也可以从图 7 所示的 Available Form. Items 列表中选择条目。选择的条目会出现在 Selected Form. Items 面板中。然后,可以指定要修改这个表单条目的哪个选项。对 Compute Editor 的改进让我们能够更加灵活地创建简单和复杂的计算。
图 7. Select Form. Items 窗口
![Select Form. Items 窗口](https://i-blog.csdnimg.cn/blog_migrate/05da0ccc672feb41d953043caed440ec.png)
为 Lotus Forms Designer 创建了 4 个交互式的演示视频;其中 3 个演示 Compute Editor 中的各种计算,另一个演示如何在字段上设置约束。这些视频提供的示例包括创建 Summation 计算,创建 If/Then/Else 计算,通过设置一个函数让按钮在用户单击时改变颜色,以及将一个字段设置为只接收有效的五位邮政编码。演示视频直接插入文档,并提供了相应的打印说明,用户可以同时观看视频和说明。
改进了从 Instance 视图到 Design 区域的拖放功能。如果实例字段是从一个附属的 XSD 模式生成的,或者与其相关联,那么 Lotus Forms Designer 会通过检查模式决定并创建最适当的表示条目。例如,如果需要日期,就会显示日期选择器而不是文本框。
现在,在将 XML 元素拖到表单面板或框中时,会创建子条目,而不是将数据绑定到面板。这个改进允许在面板或框中插入字段。例如,如果有一个表单面板,您将 Name 字段拖到其中,Lotus Forms Designer 就会创建一个标签为 Name 的字段,而不是将表单面板设置为 Name。
Lotus Forms Designer 现在支持相对 URI,这允许数据模型指向外部模式文件。在这个版本之前,模式只能放在表单内部。可以在一个中心位置存储模式并在表单中引用它,这允许多个用户访问相同的模式。使用外部模式还有助于与外部工具或应用程序共享模式。
Lotus Forms Designer 的工具栏和菜单已经改进了,这有助于更快更方便地创建表单。在以前,用户必须设置工作空间的位置,决定许多选项,然后才会打开空的表单。现在,当用户希望创建新的表单时,一个向导会引导他们执行三个简单的步骤。图 8 显示 New Lotus Form. Wizard,可以通过这个向导选择空的表单或预定义的模板。如果需要,还可以添加自己的模板。
图 8. New Lotus Forms Wizard
![New Lotus Forms Wizard](https://i-blog.csdnimg.cn/blog_migrate/dade3aa2f612b9202c05e84769515125.png)
表单不再被限制在一个预定义的工作空间中。可以将文件保存在本地机器或网络上的任何位置。
这个向导还允许为表单设置地区。设置地区会影响可用的对象库。例如,将地区设置为 English (Canada),菜单就会包含 Canadian postal code 和 Social Insurance Number (SIN) 选项。如果地区设置为 English (United States),那么对象库会包含 zip code 和 Social Security Number (SSN) 选项。因为 Lotus Forms 也支持阿拉伯语和希伯来语等双向语言,所以通过设置这些地区,屏幕上的选项会成为从右向左阅读。
Preferences 窗口中增加了许多帮助表单设计的新选项。Lotus Forms V3.0 中现在有 11 个选项面板,而原来的 IBM Workplace Forms Designer V2.7 中只有 5 个。图 9 的左边显示新的菜单选项,右边显示相关选项。
图 9. Preferences(Filtered)窗口
![Preferences(Filtered)窗口](https://i-blog.csdnimg.cn/blog_migrate/a7fb703acead6815632abe9e84655a0e.png)
Workplace Forms V2.7 只允许在 Lotus Forms Viewer 中预览和测试表单。Lotus Forms Designer V3.0 添加了用于测试表单的 Webform. Server。如果使用 Lotus Forms Server – Webform. Server,就可以在 Preferences 窗口中插入 Webform. Server URL,从而使用 Lotus Forms Server – Webform. Server 测试表单。原来的 Preview 面板已经改名为 Viewer,并增加了新的 Webform. Server 面板,见图 10。
图 10. 视图选项中添加的 Webform. Server 附签
![视图选项中添加的 Webform. Server 附签](https://i-blog.csdnimg.cn/blog_migrate/449dc5b502fa13aabf6ffe7f49eb9379.png)
许多用户有现有的纸制表单,需要将它们转换为电子格式。为了帮助这些用户,引入了 Forms Conversion Tool 的一个 beta 版本,可以从 Launchpad 下载它。Forms Conversion Tool 将 Portable Document Format(PDF)文件转换为 Extensible Forms Definition Language(XFDL)并变换 Lotus Forms。安装它之后,在 Lotus Forms Designer 的 File 菜单中会出现两个新的菜单项:Convert to Lotus Form. 和 Transform. Lotus Form。如图 11 所示,现在可以将多个表单同时转换为 Lotus Forms 格式。
图 11. Forms Conversion Tool 的 Convert Forms 窗口
![Forms Conversion Tool 的 Convert Forms 窗口](https://i-blog.csdnimg.cn/blog_migrate/2d805044070f521e34526095db783059.png)
用户选择要转换的表单并设置应用于表单的规则之后,PDF 文件被转换为 XFDL。还可以使用 Forms Conversion Tool 对现有的表单应用规则,比如应用标准的边框或背景颜色。
Lotus Forms Designer 具有完全的可访问性:
- 允许使用屏幕阅读器,比如 JAWS
- 通过快捷键提供完全的键盘可访问性
- 允许使用高对比度屏幕模式
![]() ![]() |
![]()
|
Lotus Forms Viewer 做了以下这些主要改进:
- 一个新的 JavaScript. API
- 为 Preferences 窗口提供了新的外观和感觉
- 从签名过程中删除了 Advanced 按钮
- 可访问性
可以使用新的 JavaScript. API 与 HTML 中嵌入的表单进行交互。JavaScript. API 允许我们使用熟悉的 JavaScript. 工具创建 HTML 页面,让页面与现有的表单进行交互。可以用脚本控制如何在表单中插入数据以及如何从表单中提取数据。
Preferences 窗口改变了外观,这使导航更加简便,而且与 Microsoft Windows 外观和感觉更一致。主要部分现在显示在左面板中,相关首选项显示在右面板中。图 12 显示 Preferences 窗口的 Input Options 部分。
图 12. Preferences 窗口的 Input Options
![Preferences 窗口的 Input Options](https://i-blog.csdnimg.cn/blog_migrate/cc43f6a2a8cbd09ee9c299e8db4c84db.png)
现在从签名过程中删除了 Advanced 按钮。用户以前常常被 Advanced 按钮弄糊涂,误以为他们必须完成高级功能之后才能对表单进行签名。在以前,单击 Advanced 按钮会向用户显示签名涵盖的表单部分的 XFDL 标记,这并不要求用户执行什么操作。可以通过首选项配置文件启用 Advanced 按钮;但是,默认设置是隐藏 Advanced 按钮。图 13 显示隐藏了 Advanced 按钮的签名过程窗口。如果启用 Advanced 按钮,它会出现在 Delete 按钮右边。
图 13. 隐藏了 Advanced 按钮的签名窗口
![隐藏了 Advanced 按钮的签名窗口](https://i-blog.csdnimg.cn/blog_migrate/56bb46986ab36fc07f087afaeed2f5e0.png)
Lotus Forms Viewer V3.0 具有完全的可访问性:
- 允许使用屏幕阅读器,比如 JAWS
- 通过快捷键提供完全的键盘可访问性
- 允许使用高对比度屏幕模式
- 允许使用 Microsoft Internet Explorer 和 Mozilla Firefox 浏览器
![]() ![]() |
![]()
|
Lotus Forms Server – Forms Services Platform. 中的新特性
Lotus Forms Server - Forms Services Platform. 具有以下新特性:
- 支持 Java 访问
- 与 Webform. Server 集成
- 简化的打包功能
- 新的管道和示例管道
- 改进的调试功能
在以前,Lotus Forms Server - Forms Services Platform. 只能作为一个预先打包的 servlet/WAR 文件使用。这限制了可以使用它的环境。现在,可以通过 Java 库和一个简单的 Java API(名为 Java Access API)访问 Lotus Forms Server - Forms Services Platform。Java Access API 允许我们从任何 Java 应用程序(而不仅仅是 servlet)直接访问 Lotus Forms Server - Forms Services Platform。
可以使用 Lotus Forms Server - Forms Services Platform. 自动地通过 Lotus Forms Server – Webform. Server 将 XFDL 转换为 HTML。这样就不需要扩展 IBMWorkplaceForms ServerServlet 类来把应用程序连接到 Lotus Forms Server – Webform. Server。
Lotus Forms Server - Forms Services Platform. 现在只使用 3 个 JAR 文件和两个配置文件:
- ibm.fsp.core、ibm.fsp.java 和 ibm.fsp.standard
- equinox.properties 和 fsp.properties
有 3 个 JAR 文件和另一个配置文件,其中包含最基本的第三方库:
- commons-io、commons-logging 和 log4j
- log4j.properties
与以前版本的 72 个 JAR 文件相比,文件数大大减少了。减少 JAR 文件和目录的数量使 Lotus Forms Server - Forms Services Platform. 更容易部署和管理。
Lotus Forms Server - Forms Services Platform. 的每个版本都会增加管道(pipe)。在这个版本中,有 3 个新的管道:
- PrintXFDLPipe。这个管道与 Lotus Forms Server - Webform. Server 通信,创建表单的打印版本。
- RepoStorePipe。这个管道把数据以 byte[]、String、Document、Form. 或 InputStream 的形式存储到存储库中。
- ViewerDetectionPipe。这个管道探测安装的 Lotus Forms Viewer 的版本号。它返回版本号,如果没有安装 Lotus Forms Viewer,就返回 none。
还增加了一组示例管道,它们在现有的管道序列中添加额外的管道,从而演示如何扩展表单功能。
增加了一组新的调试消息,帮助开发人员排除管道和管道序列的故障。在以前,Lotus Forms Server - Forms Services Platform. 很难调试,因为在管道运行时生成的报告不够多。现在有 7 个调试消息,可以帮助您发现和解决管道序列中的问题。
![]() ![]() |
![]()
|
Lotus Forms Server – Webform. Server 中的新特性
Lotus Forms Server - Webform. Server 具有以下新特性:
- 缓存
- 表单模板
- On Demand Page Loading
- 大附件
- 签名支持
- JavaScript. API
- 打印成 PDF
Lotus Forms Server – Webform. Server V3.0 中的缓存减少了向 Translator Server 发出的请求数量。在以前,请求要从用户的浏览器发送到应用服务器,再发送到 Translator Server,然后返回。现在,在浏览器级和应用服务器级都会缓存表单资源,这样多个用户都可以快速访问表单资源。在获取表单资源时,用户不必再等待请求被传递给 Translator Server。
系统管理员可以为常用的表单创建并存储表单模板。这些表单模板缓存在应用服务器上,从而大大加快了装载速度。数据实例和图像等表单资源也存储在缓存中,这会减少装载时间并提供更好的用户体验。
表单模板适合非常大的表单,但是您必须确定您的系统能够为缓存和存储提供足够的内存。应该全面测试模板/缓存配置,从而在装载时间和内存使用量之间找到最佳平衡点。如果运行的应用程序要求预先填充表单数据,那么它们必须通过 XForms 数据实例使用表单模板特性。
On Demand Page Loading(ODPL)特性可以减少大型表单使用的时间,提高装载和处理表单的速度。可以指定在最初打开表单时装载哪些页面。正如前面讨论 Lotus Forms Designer 时提到的,在装载表单时,只装载大表单中的两三个页面而不是整个表单,这会显著减少装载时间。当用户单击 Next Page 按钮时,才会装载更多的页面。
大型表单的每个页面上常常包含相似的计算或格式化信息。为了帮助实现 ODPL,创建一个包含所有计算和格式化信息的 Working Page。然后,可以通过 ODPL 装载第一页和 Working Page,这会大大加快装载速度。
在 Workplace Forms Server – Webform. Server V2.7 中,附件被读进内存中并进行编码和压缩,这会大大增加处理时间。Lotus Forms Server - Webform. Server V3.0 对表单进行编码和压缩,但是不把附件保存到内存中,因此显著减少了处理时间。
签名过程已经重新设计过了,这使它更容易使用。Lotus Forms V3.0 使用 Dojo 技术产生轻松的用户体验。Lotus Forms Server - Webform. Server V3.0 支持 Authenticated Clickwrap 签名引擎,在使用 Microsoft Windows 和 Internet Explorer 时还支持完整的 PKI 签名。
当用户第一次单击 CryptoAPI or Generic RSA signature 按钮时,会安装一个 ActiveX 控件,它提供对 Internet Explorer/CryptoAPI 存储的访问。这个 ActiveX 控件提供证书选择对话框。图 14 和图 15 显示 ActiveX 安装请求屏幕和证书选择窗口。
图 14. ActiveX 安装请求屏幕
![ActiveX 安装请求屏幕](https://i-blog.csdnimg.cn/blog_migrate/32af4f16cafa8b5be9e33fcfdda2f670.png)
图 15. 证书选择窗口
![证书选择窗口](https://i-blog.csdnimg.cn/blog_migrate/bba5860555d7031854d98d0da5636bde.png)
在 Lotus Forms Server - Webform. Server 和 Lotus Forms Viewer 中,表单签名过程对话框包含相同的信息。图 16 显示完成的签名过程窗口。
图 16. 完成的签名过程窗口
![完成的签名过程窗口](https://i-blog.csdnimg.cn/blog_migrate/99621f82b409ca781c159c89acd1faf3.png)
Lotus Forms Server – Webform. Server 使用的 JavaScript. API 与 Lotus Forms Viewer 使用的相同,这使修改表单的方式保持一致。
以前的版本打印 PNG 图像,这种格式难以打印。当在浏览器中查看 PNG 文件并尝试打印时,表单往往不能很好地适应纸张页面。Lotus Forms Server – Webform. Server 允许将表单打印成 PDF/PDA 格式。这会生成包含多个页面的单一文档。PDF 格式可以确保表单适合打印页面。
![]() ![]() |
![]()
|
Lotus Forms Server – API 中的新特性
API 具有以下新特性:
- Java API 垃圾收集
- 修改了 UFLCheckValidFormat
- XForms 1.1 数据类型
为了提高性能,更新了 Java API 方法 setHandGCFlag。现在的默认值是 false,这改变了垃圾收集的方法。现在由 Java 虚拟机(而不是系统)管理垃圾收集。这意味着,在 JVM 垃圾收集期间,不会回收已删除的签名、证书或其他对象使用的任何内存。要想回收已删除对象的内存,应该在使用完这些对象时调用新的 release 方法。可以从 Lotus Forms V3.0 Information Center 中的 Lotus Forms Server API – Java API User"s Manual 获得关于这个过程的更多信息。
对 UFLCheckValidFormats 的操作方式做了几个修改和改进:
- 这个函数现在操作 XForms。
- 可以在页面和条目节点以及表单节点上调用这个函数。
- 对这个函数的有效性规则做了几项修改。例如,当关闭格式约束时,不显示或未激活的条目被排除在外。
现在,允许在 API 中对 XForms 1.1 数据类型使用空内容。这些数据类型包括:
- xforms:dateTime
- xforms:float
- xforms:string
![]() ![]() |
![]()
|
Lotus Forms 产品套件为开发人员和用户提供了丰富的功能,包括用 Lotus Forms Designer 构建定制的表单以及用 Lotus Forms Viewer 或 Lotus Forms Server – Webform. Server 显示表单。Lotus Forms 改进了性能,使设计更加直观,而且更容易使用了。
- 参与论坛讨论。
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- 学习 developerWorks 教程 “Integrating IBM Lotus Forms with SAP using the Lotus Forms Services Platform”。
- 阅读 developerWorks 文章 “Integrating IBM Workplace Forms V2.7 with IBM WebSphere Portal V6.0 Document Manager”。
- 阅读 developerWorks 文章 “Extending the functionality of IBM Workplace Forms with Web services”。
- 阅读 developerWorks 文章 “使用 IBM Workplace Forms V2.6 将 XML 数据模型扩展到 XFDL 表单”。
- 阅读 developerWorks 文章 “Integrating XML forms-based processes into Service Oriented Architectures using IBM Workplace Forms Services Platform”。
- 阅读 developerWorks 文章 “IBM Workplace Forms V2.6 与 IBM DB2 V9 集成”。
- 阅读 developerWorks 文章 “Integrating IBM Workplace Forms with WebSphere Portal to create a form-centric application”。
- 阅读 developerWorks 文章 “使用 Function Call Interface 扩展 IBM Workplace Forms 的功能”。
- 阅读 developerWorks 文章 “借助 IBM Workplace Forms Designer 创建表单”。
- 访问 developerWorks Lotus Forms 产品文档页面。
- 访问 IBM Lotus Forms 支持页面。
- 访问 developerWorks Lotus Forms 页面。
![]() | ||
![]() | Jane Rizhanovsky 是位于 Victoria, BC 的 IBM Lotus Forms 团队的作家。这是他的第一篇 developerWorks 文章。 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/707621/viewspace-571199/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/707621/viewspace-571199/