IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Lotus | Java technology  >

基本步骤:转换 IBM Lotus Notes 应用程序以使用 Lotus Notes 8 Java 组件

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

讨论

英文原文

英文原文


级别: 中级

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)按钮和定制的上下文菜单。

这些操作说明只适用于具有导航器(提纲)、列表视图和预览布局的简单应用程序。下面是一组预警说明:

  1. 视图中的多级分类可能无法正常工作。
  2. 多级分类视图中的总计(Total)列可能无法正常工作。
  3. 定制的 twistie 图标可能无法用于类别。
  4. 导航器无法在导航器面板中显示定制的动作。
  5. 导航器无法在导航器标题栏下拉菜单中显示定制的动作。

关于转换过程

要让 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 应用程序 - 转换前
作为传统 Lotus Notes 应用程序的 Personal Journal 应用程序 - 转换前

图 2. Java 视图中更新后的 Personal Journal 应用程序 - 转换后
Java 视图中更新后的 Personal Journal 应用程序




回页首


从空白的 Personal Journal 应用程序开始

在 Lotus Notes client 中,遵循以下步骤:

  1. 基于 journal6.ntf 创建一个新的 Lotus Notes 应用程序。
  2. 确保已关闭 Inherit future design changes 选项。
  3. 打开新的应用程序。
  4. 右键单击选项卡,在 Lotus Domino Designer 中打开新的应用程序。




回页首


在 Lotus Domino Designer 中创建新的复合应用程序

在 Lotus Domino Designer 中遵循以下步骤:

  1. 在导航器中,单击 Composite Applications,然后单击 Applications。
  2. 在 Design 面板中单击 NewCompApp 按钮。
  3. 将新的应用程序文件命名为 Notes Journal Application.xml,并单击 OK,如图 3 所示。



    图 3. CAE:在 Lotus Domino Designer 中创建新的复合应用程序
    CAE:在 Lotus Domino Designer 中创建新的复合应用程序

  4. 在 Lotus Domino Designer 中选择 Framesets,双击 BorderFrame 进行编辑。如图 4 所示。
  5. 选择 File - Properties,然后从显示的列表中选择 Frameset。
  6. 将 Composite Application – App Name 设置为 Notes Journal Application.xml,作为应用程序的名称。
  7. 将 Composite Application – Page Name 设置为 Blank Page,作为页面名称。



    图 4. Lotus Domino Designer:修改 frameset
    Lotus Domino Designer:修改 frameset

  8. 选择 File - Save。
  9. 选择 File - Exit。




回页首


基于邮件组件构建新的应用程序

复合应用程序框架使用 Lotus Notes 邮件组件(导航器和列表视图)构建复合应用程序页面。Lotus Notes 邮件组件已经进行了连接,以驱动列表视图和预览。然后,重新将邮件组件指定到原始 Journal 应用程序的 frameset。

在 Lotus Notes client 中遵循以下步骤:

  1. 打开 Lotus Notes client。
  2. 打开 Journal Example(之前创建的 NSF 文件)。
  3. 选择 Action - Edit Application,打开复合应用程序中的应用程序。
  4. 单击右箭头,打开组件面板。如图 5 所示。

图 5. CAE:编辑应用程序;打开组件面板
CAE:编辑应用程序;打开组件面板

添加组件

现在,需要添加两个组件。

在复合应用程序编辑器中,遵循以下步骤:

  1. 从列表的 PIM 区中选择 Lotus Notes Mail View,将它拖放到中间的面板上。如图 6 所示。



    图 6. CAE:拖放邮件视图组件
    CAE:拖放邮件视图组件

    现在,窗口看上去如图 7 所示。



    图 7. CAE:拖入 Lotus Notes 邮件视图之后
    CAE:拖入 Lotus Notes 邮件视图之后

  2. 前一步骤中所采取的动作可能使焦点回到 Lotus Notes 客户机工作区。如果是这样,在任务栏中单击 Lotus Notes 项,重新打开 Editing: Blank Application。可能还需要单击右箭头,以便重新打开组件面板。
  3. 现在,将 Lotus Notes mail navigator 组件拖到中间的面板中。这个步骤要注意技巧;必须将视图拖到面板的左边缘上。如图 8 所示,当看到左边缘上显示黑色箭头,并伴有狭长的外接矩形时,放下该组件。



    图 8. CAE:拖放 mail navigator
    CAE:拖放 mail navigator

放下该导航器之后,应该看到如图 9 所示的屏幕。


图 9. CAE:拖到中间面板
CAE:拖到中间面板

从 Personal Journal 应用程序继承边框 frameset 设置

现在需要用 Personal Journal 中的元素替代邮件组件。这里需要让新的应用程序继承日志模板的边框 frameset 设置。

遵循以下步骤:

  1. 右键单击 Lotus Notes Mail Navigator 组件(在左面板中),选择 Edit Component Properties。
  2. 从 Display Settings 选项卡中,选择 Title Bar 以显示标题栏。
  3. 单击 Component Settings 选项卡。
  4. 选择字段 Lotus Notes URL。
  5. 用 0 替换 E;用 BorderFrame 替换 MailFS(notes:///0000000000000000/BorderFrame?OpenFrameset),使窗口看上去如图 10 所示。



    图 10. CAE:更新 Lotus Notes URL 字段
    CAE:更新 Lotus Notes URL 字段

  6. 单击 OK 关闭窗口。
  7. 在左面板中右键单击 Lotus Notes mail view 组件,选择 Edit Component Properties。
  8. 单击 Component Settings 选项卡。
  9. 选择字段 Notes URL。
  10. 用 0 替换 E;用 BorderFrame 替换 MailFS:notes:///0000000000000000/BorderFrame?OpenFrameset。
  11. 单击 Advanced 选项卡。
  12. 选择 com.ibm.rcp.csiviews.viewpart.threadurl 并单击 Delete。
  13. 选择 com.ibm.rcp.csiviews.viewpart.folderalias 并单击 Delete。
  14. 单击 OK。
  15. 要保存到目前为止做出的更改,从 File 菜单中选择 Save 和 Close。

设置页面图标和重命名应用程序

在 Lotus Domino Designer 中遵循以下步骤:

  1. 这里需要一个 PNG(16 X 16)格式的图像。例如 notebook8.ntf 模板图像 tab_notebook_16.png。
  2. 打开 Lotus Domino Designer。
  3. 选择 Resources – Images。
  4. 单击 Import Image Resource,将该图像导入为新的图像资源。在 File name 中输入 *.png。如图 11 所示。



    图 11. Lotus Domino Designer:将页面图标添加到共享的 resources/image 目录中
    Lotus Domino Designer:将页面图标添加到共享的 resources/image 目录中



    图 12. Lotus Domino Designer:设置 File name 字段以显示 PNG 文件
    Lotus Domino Designer:设置 File name 字段以显示 PNG 文件

  5. 通过 Lotus Notes 客户机打开复合应用程序编辑器。
  6. 在导航器中右键单击 Blank Page,选择 Edit Page Properties 选项。
  7. 单击 Select 选择之前步骤中存储的图标。如图 13 所示。



    图 13. CAE:编辑页面图标
    CAE:编辑页面图标

  8. 接下来,可以通过编辑 Page Title 来调整应用程序的名称。如图 14 所示。



    图 14. CAE:编辑 Page Title 字段
    CAE:编辑 Page Title 字段

  9. 单击 OK。
  10. 从 File 菜单中选择 Save 和 Close。

    这时可以回到 Lotus Notes 客户机并打开应用程序。它看上去应该如图 15 所示。为了更新选项卡图标,可能需要重新启动 Lotus Notes。



    图 15. Lotus Notes:Lotus Notes 客户机中更新后的应用程序
    Lotus Notes:Lotus Notes 客户机中更新后的应用程序

为页面图标设置引用

这里需要为这个页面图标设置引用,以便可以将这个应用程序转移到另一台计算机(并正确解析页面图标引用),并且可以基于这个模板创建新的应用程序。

在 Lotus Domino Designer 中遵循以下步骤:

  1. 打开之前创建的 Applications - Notes Journal Application。
  2. 选择之前创建的 Notes Journal Application.xml 文件,并右键单击 Open。
  3. 单击 Source。
  4. 在文本中查找 <preference name=”com.ibm.portal.PageIcon”>。
  5. 将 base:value 值设为用于页面图标的 PNG 文件。这里必须像下面这样指定 PNG 文件:
    <preference name=”com.ibm.portal.PageIcon”>
    <base:value value=”Notebook_view16.png” xsi:type=”base:String”/>
    </preference>
  6. 保存文件并退出。

为工具栏创建 split-action 按钮

Lotus Notes 8 在工具栏中引入了 split-action 按钮。split-action 按钮使用户可以单击一次获得一个默认的动作,或者单击一个下拉列表获得一组选项。

split-action 按钮的一个例子可以从邮件应用程序的收件箱中看到。当单击一个 New 按钮时,会打开一个新的邮件文档。但是如果单击 New 按钮中的下拉箭头,则可以看到一组选择,如图 16 所示。


图 16. 新的 split-action 按钮
新的 split-action 按钮

要创建 split-action 按钮,需要进入到 Lotus Domino Designer 中。遵循以下步骤:

  1. 打开 Shared Action 属性窗口。
  2. 在 action 或 shared actions 属性窗口中,选择 Display as Split Action 属性。如图 17 所示。



    图 17. 创建 split-action 按钮
    创建 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 首选项
添加 Bookmark_level 首选项

关闭导航器切换程序

默认情况下,导航器的标题栏显示 Switch to Calendar 切换程序。可以使用另一个复合应用程序 XML 首选项禁用这个切换程序。


图 20. Calendar/To Do 切换程序
Calendar/To Do 切换程序

遵循以下步骤:

  1. 启动复合应用程序编辑器(选择 Actions - Edit Application),右键单击鼠标以编辑导航器的 component 属性。
  2. 当 component 属性窗口显示时,单击 Advanced 选项卡。单击 Add,添加首选项 com.ibm.rcp.showSwitch,将值设为 false。保存并关闭。如图 21 所示。



    图 21. 添加 show switcher 首选项
    添加 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)应用程序。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款