级别: 中级 Steve Castledine, 顾问软件工程师, IBM Margo Ezekiel, 用户界面设计师, IBM
2009 年 3 月 09 日 Java™ 视图是在 IBM® Lotus® Notes® 客户机的 8.0 发行版中引入的。为了使 Lotus Notes 界面现代化,很多新特性是使用 Java 视图实现的。本文概述 IBM Lotus Domino 开发人员将自己的简单 Lotus Domino® 应用程序转换到 Java 视图中所采取的步骤。本文假设您的计算机上已安装了 Lotus Notes 8.5、IBM Lotus Domino Designer 8.5 和 Lotus Notes 复合应用程序编辑器 8.5,并且熟悉 Lotus Domino Designer 的使用。
本文以 Personal Journal 应用程序为例,描述如何将 Lotus Notes 应用程序转换成 Java 应用程序。可以应用这种技巧转换其他的 Lotus Notes 模板,使它们拥有 Lotus Notes 8 个人信息管理或 PIM(邮件、日程表、联系人)应用程序的感观。
本文的姊妹篇“高级 Java 视图特性”已经在 developerWorks® Lotus 上发表,它将列出更多的步骤,从而利用一些新的视图特性,例如主题(thread)、窄模式(narrow mode)、名片(business card)、分割操作(split action)按钮和定制的上下文菜单。
这些操作说明只适用于具有导航器(提纲)、列表视图和预览布局的简单应用程序。下面是一组预警说明:
- 视图中的多级分类可能无法正常工作。
- 多级分类视图中的总计(Total)列可能无法正常工作。
- 定制的 twistie 图标可能无法用于类别。
- 导航器无法在导航器面板中显示定制的动作。
- 导航器无法在导航器标题栏下拉菜单中显示定制的动作。
关于转换过程
要让 Lotus Notes 8 及更高版本的客户机在 Java 视图中呈现 Lotus Notes 应用程序,该应用程序必须是复合应用程序。因此,第一步是使用复合应用程序编辑器(CAE)创建一个复合应用程序。然后,在 Lotus Domino Designer 中修改模板,并使用 CAE 作进一步的更改。
本文以 Personal Journal 应用程序作为起点,因为它是一个简单的应用程序,具有导航器、列表视图和预览面板,而且它满足以上要求。
首先,确保安装了 Lotus Notes 8.5 客户机,并且其中包括 CAE 和 Lotus Domino Designer 8.5。另外还需要一个 16x16 PNG 文件,用作页面图标,该图标将在应用程序的选项卡中显示。
图 1 显示了转换之前的原始 Personal Journal 应用程序,图 2 显示完成本文列出的步骤之后的应用程序。
图 1. 作为传统 Lotus Notes 应用程序的 Personal Journal 应用程序 - 转换前
图 2. Java 视图中更新后的 Personal Journal 应用程序 - 转换后
从空白的 Personal Journal 应用程序开始
在 Lotus Notes client 中,遵循以下步骤:
- 基于 journal6.ntf 创建一个新的 Lotus Notes 应用程序。
- 确保已关闭 Inherit future design changes 选项。
- 打开新的应用程序。
- 右键单击选项卡,在 Lotus Domino Designer 中打开新的应用程序。
在 Lotus Domino Designer 中创建新的复合应用程序
在 Lotus Domino Designer 中遵循以下步骤:
- 在导航器中,单击 Composite Applications,然后单击 Applications。
- 在 Design 面板中单击 NewCompApp 按钮。
- 将新的应用程序文件命名为 Notes Journal Application.xml,并单击 OK,如图 3 所示。
图 3. CAE:在 Lotus Domino Designer 中创建新的复合应用程序
- 在 Lotus Domino Designer 中选择 Framesets,双击 BorderFrame 进行编辑。如图 4 所示。
- 选择 File - Properties,然后从显示的列表中选择 Frameset。
- 将 Composite Application – App Name 设置为 Notes Journal Application.xml,作为应用程序的名称。
- 将 Composite Application – Page Name 设置为 Blank Page,作为页面名称。
图 4. Lotus Domino Designer:修改 frameset
- 选择 File - Save。
- 选择 File - Exit。
基于邮件组件构建新的应用程序
复合应用程序框架使用 Lotus Notes 邮件组件(导航器和列表视图)构建复合应用程序页面。Lotus Notes 邮件组件已经进行了连接,以驱动列表视图和预览。然后,重新将邮件组件指定到原始 Journal 应用程序的 frameset。
在 Lotus Notes client 中遵循以下步骤:
- 打开 Lotus Notes client。
- 打开 Journal Example(之前创建的 NSF 文件)。
- 选择 Action - Edit Application,打开复合应用程序中的应用程序。
- 单击右箭头,打开组件面板。如图 5 所示。
图 5. CAE:编辑应用程序;打开组件面板
添加组件
现在,需要添加两个组件。
在复合应用程序编辑器中,遵循以下步骤:
- 从列表的 PIM 区中选择 Lotus Notes Mail View,将它拖放到中间的面板上。如图 6 所示。
图 6. CAE:拖放邮件视图组件
现在,窗口看上去如图 7 所示。
图 7. CAE:拖入 Lotus Notes 邮件视图之后
- 前一步骤中所采取的动作可能使焦点回到 Lotus Notes 客户机工作区。如果是这样,在任务栏中单击 Lotus Notes 项,重新打开 Editing: Blank Application。可能还需要单击右箭头,以便重新打开组件面板。
- 现在,将 Lotus Notes mail navigator 组件拖到中间的面板中。这个步骤要注意技巧;必须将视图拖到面板的左边缘上。如图 8 所示,当看到左边缘上显示黑色箭头,并伴有狭长的外接矩形时,放下该组件。
图 8. CAE:拖放 mail navigator
放下该导航器之后,应该看到如图 9 所示的屏幕。
图 9. CAE:拖到中间面板
从 Personal Journal 应用程序继承边框 frameset 设置
现在需要用 Personal Journal 中的元素替代邮件组件。这里需要让新的应用程序继承日志模板的边框 frameset 设置。
遵循以下步骤:
- 右键单击 Lotus Notes Mail Navigator 组件(在左面板中),选择 Edit Component Properties。
- 从 Display Settings 选项卡中,选择 Title Bar 以显示标题栏。
- 单击 Component Settings 选项卡。
- 选择字段 Lotus Notes URL。
- 用 0 替换 E;用 BorderFrame 替换 MailFS(notes:///0000000000000000/BorderFrame?OpenFrameset),使窗口看上去如图 10 所示。
图 10. CAE:更新 Lotus Notes URL 字段
- 单击 OK 关闭窗口。
- 在左面板中右键单击 Lotus Notes mail view 组件,选择 Edit Component Properties。
- 单击 Component Settings 选项卡。
- 选择字段 Notes URL。
- 用 0 替换 E;用 BorderFrame 替换 MailFS:notes:///0000000000000000/BorderFrame?OpenFrameset。
- 单击 Advanced 选项卡。
- 选择 com.ibm.rcp.csiviews.viewpart.threadurl 并单击 Delete。
- 选择 com.ibm.rcp.csiviews.viewpart.folderalias 并单击 Delete。
- 单击 OK。
- 要保存到目前为止做出的更改,从 File 菜单中选择 Save 和 Close。
设置页面图标和重命名应用程序
在 Lotus Domino Designer 中遵循以下步骤:
- 这里需要一个 PNG(16 X 16)格式的图像。例如 notebook8.ntf 模板图像 tab_notebook_16.png。
- 打开 Lotus Domino Designer。
- 选择 Resources – Images。
- 单击 Import Image Resource,将该图像导入为新的图像资源。在 File name 中输入 *.png。如图 11 所示。
图 11. Lotus Domino Designer:将页面图标添加到共享的 resources/image 目录中
图 12. Lotus Domino Designer:设置 File name 字段以显示 PNG 文件
- 通过 Lotus Notes 客户机打开复合应用程序编辑器。
- 在导航器中右键单击 Blank Page,选择 Edit Page Properties 选项。
- 单击 Select 选择之前步骤中存储的图标。如图 13 所示。
图 13. CAE:编辑页面图标
- 接下来,可以通过编辑 Page Title 来调整应用程序的名称。如图 14 所示。
图 14. CAE:编辑 Page Title 字段
- 单击 OK。
- 从 File 菜单中选择 Save 和 Close。
这时可以回到 Lotus Notes 客户机并打开应用程序。它看上去应该如图 15 所示。为了更新选项卡图标,可能需要重新启动 Lotus Notes。
图 15. Lotus Notes:Lotus Notes 客户机中更新后的应用程序
为页面图标设置引用
这里需要为这个页面图标设置引用,以便可以将这个应用程序转移到另一台计算机(并正确解析页面图标引用),并且可以基于这个模板创建新的应用程序。
在 Lotus Domino Designer 中遵循以下步骤:
- 打开之前创建的 Applications - Notes Journal Application。
- 选择之前创建的 Notes Journal Application.xml 文件,并右键单击 Open。
- 单击 Source。
- 在文本中查找 <preference name=”com.ibm.portal.PageIcon”>。
- 将 base:value 值设为用于页面图标的 PNG 文件。这里必须像下面这样指定 PNG 文件:
<preference name=”com.ibm.portal.PageIcon”>
<base:value value=”Notebook_view16.png” xsi:type=”base:String”/>
</preference>
- 保存文件并退出。
为工具栏创建 split-action 按钮
Lotus Notes 8 在工具栏中引入了 split-action 按钮。split-action 按钮使用户可以单击一次获得一个默认的动作,或者单击一个下拉列表获得一组选项。
split-action 按钮的一个例子可以从邮件应用程序的收件箱中看到。当单击一个 New 按钮时,会打开一个新的邮件文档。但是如果单击 New 按钮中的下拉箭头,则可以看到一组选择,如图 16 所示。
图 16. 新的 split-action 按钮
要创建 split-action 按钮,需要进入到 Lotus Domino Designer 中。遵循以下步骤:
- 打开 Shared Action 属性窗口。
- 在 action 或 shared actions 属性窗口中,选择 Display as Split Action 属性。如图 17 所示。
图 17. 创建 split-action 按钮
设置 bookmark 类型
默认情况下,当从 application 选项卡中为应用程序设置书签时,复合应用程序 XML 设置会导致 Lotus Notes 创建 Notes Remote Procedure Call(NRPC)URL。这些 URL 比较慢,而且当应用程序不复存在时会产生错误。因此,明智的做法是将 Notes URL 用于书签。这个步骤还可以确保使用数据库图标作为书签图标。
要切换到 Notes URL,需要将一个首选项添加到复合应用程序 XML 中。可以通过打开复合应用程序编辑器(通过选择 Actions - Edit Application),然后从页面元素中选择 Edit Page Properties 来添加该首选项。如图 18 所示。
图 18. 在复合应用程序编辑器中编辑页面属性
然后,在 Edit Page Properties 窗口中,切换到 Advanced 并单击 Add 以添加首选项 com.ibm.rcp.bookmark_level,将值设为 selection。如图 19 所示。
图 19. 添加 Bookmark_level 首选项
关闭导航器切换程序
默认情况下,导航器的标题栏显示 Switch to Calendar 切换程序。可以使用另一个复合应用程序 XML 首选项禁用这个切换程序。
图 20. Calendar/To Do 切换程序
遵循以下步骤:
- 启动复合应用程序编辑器(选择 Actions - Edit Application),右键单击鼠标以编辑导航器的 component 属性。
- 当 component 属性窗口显示时,单击 Advanced 选项卡。单击 Add,添加首选项 com.ibm.rcp.showSwitch,将值设为 false。保存并关闭。如图 21 所示。
图 21. 添加 show switcher 首选项
结束语
本文概述用于定制应用程序和使应用程序现代化的各个步骤。现在,您应该可以使用很多工具使定制的应用程序看上去类似 Lotus Notes 8 本地 PIM 应用程序(Mail、Calendar、Contacts、To Dos 和 Notebook)。要获得更多信息,请参阅 Lotus Notes composite application editor 帮助和 Domino Designer 8.5 帮助。
参考资料
作者简介  | |  | Steve Castledine 是 IBM 的一名顾问软件工程师。他是 Software Group 的一员,并且是面向 IBM Lotus Notes 客户机的 PIM 应用程序、Web 应用程序和社会软件(尤其是博客和 wiki)的开发人员。他曾与用户界面设计师 Margo Ezekiel 一起致力于将 Personal Journal 升级到新的 Notebook 应用程序。 |
 | |  | Margo Ezekiel 是一名用户界面设计师,从事 IBM Lotus Notes 和 iNotes Mail 客户机方面的工作。她使用本文介绍的 Java 视图特性设计了 Lotus Notes 8.0 Mail Client。她曾与 Steve Castledine 一起更新 Lotus Notes 8.5 中的 Personal Journal(又称 Notebook)应用程序。 |
对本文的评价
|