IBM Lotus Notes 8.5 中的高级 Java 视图特性

Java™ 视图是在 IBM® Lotus® Notes® 客户机的 8.0 发行版中引入的。为了使 Lotus Notes 界面现代化,很多新特性是使用 Java 视图实现的。转换应用程序使之可以使用 Java 视图之后,就可以按照本文列出的步骤,利用一些新的视图特性,例如主题(thread)、窄模式(narrow mode)、名片(business card)、分割操作(split action)按钮和定制的上下文菜单。本文假设您的计算机安装了 Lotus Notes 8.5、IBM Lotus Domino Designer 8.5 和 Lotus Notes 8.5 复合应用程序编辑器,并且熟悉 Lotus Domino® Designer 的使用。

Steve Castledine, 顾问软件工程师, EMC

Steve Castledine 是 IBM 的一名顾问软件工程师。他是 Software Group 的一员,并且是面向 IBM Lotus Notes 客户机的 PIM 应用程序、Web 应用程序和社会软件(尤其是博客和 wiki)的开发人员。他曾与用户界面设计师 Margo Ezekiel 一起致力于将 Personal Journal 升级到新的 Notebook 应用程序。



Margo Ezekiel, 用户界面设计师, EMC

Margo Ezekiel 是一名用户界面设计师,从事 IBM Lotus Notes 和 iNotes Mail 客户机方面的工作。她使用本文介绍的 Java 视图特性设计了 Lotus Notes 8.0 Mail Client。她曾与 Steve Castledine 一起更新 Lotus Notes 8.5 中的 Personal Journal(又称 Notebook)应用程序。



2009 年 3 月 09 日

本文假设您已经阅读了本文的姊妹篇,即 developerWorks® 文章 “基本步骤:转换 IBM Lotus Notes 应用程序以使用 Lotus Notes 8 Java 组件”,并且执行了其中列出的步骤。

添加边栏预览选项

至此,前期的修改已经完成,接下来可以回到 Lotus Domino Designer 作进一步的修改。

可以在工具栏的右边添加一个 Show 下拉动作,允许用户在底端或边栏显示预览。

遵循以下步骤:

  1. 在 Lotus Notes client 中选择 File - Exit。
  2. 在一个编辑器(例如 Notepad)中打开 notes.ini 文件(在 Lotus Notes 的安装目录中)。
  3. 添加以下设置到该文件中:Designer_ShowPropForJavaViewsUI=1。
  4. 保存更改并关闭该文件。
  5. 打开 Lotus Domino Designer,并打开新的应用程序。
  6. 在 Navigator 中选择 View。
  7. 双击打开一个视图。
  8. 选择 File - Properties 并切换到 View。
  9. 选择 Show Vertical/Horizontal switcher 选项,将该选项添加到应用程序中。
  10. 对于要选择该选项的每个视图,完成上述操作。如图 1 所示。
图 1. Lotus Domino Designer:选择 Show Horizontal/Vertical 切换程序
Lotus Domino Designer:选择 Show Horizontal/Vertical 切换程序

动态调整列的宽度

在 Lotus Notes 8 的邮件视图中,可将 Subject 列标记为可动态调整宽度,这样一来,当用户调整列表视图大小时(使边栏变宽或变窄),Subject 列将随之变宽或变窄,并使所有其他列具有相同的宽度。这个步骤使用户可以动态调整宽度,而不必引入水平滚动条。

当用户缩小视图时,这个列不断收缩,直到到达最小宽度。然后,软件将视图切换到窄模式。

要将列设置为可动态调整宽度,遵循以下步骤:

  1. 打开要动态调整宽度的列的 Properties 窗口。
  2. 选择 Extend to use available window width 选项。

创建窄视图

除了能在边栏看到预览外,Lotus Notes 8 还在邮件视图中引入了窄视图(narrow view)。用户可以通过窄视图查看邮件,这种方式不必使用传统的列标题,并且可以看到更多的信息。

对于每个窄视图,需要指定:

  • 将列放在哪里 – 也就是说,将它放在第一行,使它层叠到下一行,还是全部隐藏。这是通过列属性中的 If view is narrow 来设置的(选项卡 6)。选项有 Keep on top、Hide this column 和 Wrap to second row。
  • 如果该字段在第一行上,则第二行应该垂直调整,使其位于字段的正下方。同样,这个选项是通过列属性中的 Justify second row under this column 设置的(选项卡 6),如图 2 所示。

    图 2. 第二行的排列
    第二行的排列
  • 操作的顺序 – 也就是说,先处理哪个列,接着处理哪个列,等等。例如,可以设置视图,先将一个列层叠显示,然后当视图变窄时,将第二个列隐藏,如果进一步变窄,则继续层叠第三个列,依此类推。可以使用序列控件来将列标记为第 1 列、第 2 列或第 3 列,如图 3 所示。

    图 3. 定义操作的顺序
    定义操作的顺序

添加动作到 Show 下拉窗口中

在 Lotus Notes 中,我们将更多的动作添加到了 Show 下拉窗口中,以允许用户控制他们的视图。“Unread Only” 就是一个新增的动作。如图 4 所示。

图 4. 动作栏上的 Show 下拉窗口
动作栏上的 Show 下拉窗口

要添加动作到 Show 下拉窗口中,打开 Shared Action 属性框。然后,选择属性 Right align action control,如图 5 所示。

图 5. 在 Show 下拉窗口中显示一个动作
在 Show 下拉窗口中显示一个动作

修改列

还可以为列设置一些新的属性。在 Mail 8 模板中可以看到这些属性的使用。这些设置在 Attrs: field for the Column 属性中显示。

如表 1 所示,有 5 个新的选择。

表 1. 可用于 Java 视图的新的列属性
设置描述示例
$ThinColumn=true 设置一个 thin 列$ThinColumn=true 例子
$MaskSelectionColor=true 使高亮度条在这个列上不可见$MaskSelectionColor=true 例子
$TypeHeaderIcon=index:colicon1:129将图标放在列标题中$TypeHeaderIcon=index:colicon1:129 例子
$ShowGradientColor=true 为列添加灰色背景$ShowGradientColor=true 例子
$ShowThreadTwistie=true 在列中显示 twistie 图标$ShowThreadTwistie=true 例子

要做出这些更改,选择要更改的列,然后遵循以下步骤:

  1. 选择 File - Properties,然后选择 Column。
  2. 在 Attributes 区(标签名为 Attrs:,第 6 个选项卡),可以插入表 1 中显示的任何属性。如果想使用多个属性,可以用分号隔开它们。
  3. 注意,当视图处于窄模式时,还有一些设置可用于调整视图。
  4. 关闭视图,保存更改。

创建名片视图

Lotus Notes 8 在 Contacts 区引入了一个名片视图。也可以为您的应用程序创建名片视图。

可以在 View 属性窗口中的 Viewers 字段中设置定义视图显示方式的查看器(viewer)。这里列出的适用的查看器有 Table、Tiled 或 Calendar。如果没有指定查看器,那么默认使用 Table(一个标准视图)。还可以将它们组合在一起,并以分号分隔。然后,查看器显示在 Show 菜单中,作为其中的选项。

图 6. 显示名片视图的控件
显示名片视图的控件

对于视图中的每个列,需要指定在哪里(顶部、底部还是隐藏)以及哪一行上显示字段,如图 7 所示。

图 7. 格式化平铺视图(名片)中的列和字段
格式化平铺视图(名片)中的列和字段

创建选项卡式视图或 alpha 视图

Lotus Notes 8 联系人视图包含显示在视图左侧的 alpha 选项卡(如图 8 所示)。单击 alpha 选项卡中的一个字母,就可以让视图仅显示由该字母标识的内容。

还可以通过在 View 属性中选择 Show Tab Navigator,使视图中包含 alpha 选项卡。如图 9 所示。

图 8. Alpha 选项卡
Alpha 选项卡
图 9. 选项卡式导航器视图
选项卡式导航器视图

启用视图中的主题

在 Lotus Notes 8 中,引入了主题视图,它们被集成到收件箱中,如图 10 所示。

图 10. 收件箱中的主题视图
收件箱中的主题视图

可以在应用程序中使用这些主题视图,但是应用有限,因为当前的设计只针对邮件模板。例如,文本 “messages in this conversation” 目前是固定的。

首先为应用程序选择 Support Response Thread History 选项。可以在 Database 属性窗口中选择该选项,如图 11 所示。

图 11. 选择 Support Response Thread History 选项
选择 Support Response Thread History 选项

如果选择这个选项,将为主题视图创建一个内部缓存或索引。默认情况下,这个缓存只能保存 7 天以内的记录。可以通过将 ini MAX_DAYS_FOR_THREAD_CONVERSATIONS=365(或其他用于指定天数的值)添加到 Notes.ini 来更改这个默认设置。

假设已经遵循本文和上一篇文章中的步骤创建了一个呈现 Java 视图的应用程序,接下来需要将两个视图添加到应用程序中。一个视图控制主题视图的外观,另一个视图作为回复层次结构的索引。

在模板中创建一个新视图(使用默认设计),并将它命名为 ($ThreadsEmbed);通过用括号括起来,使之隐藏。选择属性 Show response documents in a hierarchy 和 Show partial response hierarchies,如图 12 所示。

图 12. 新的 $ThreadsEmbed 视图的设置
新的 $ThreadsEmbed 视图的设置

对于作为主题或题目的列,转到属性窗口,在 Attrs 字段中输入 $ThreadSubject=true。如图 13 所示。

图 13. 设置 $ThreadSubject 属性
设置 $ThreadSubject 属性

创建另一个视图(同样使用默认设计),并将它命名为 (Threads);对于这个视图,选择 Evaluate actions for every document save 和 Show response documents in a hierarchy 选项。

然后需要将一个属性添加到复合应用程序的 XML 文件中。遵循以下步骤:

  1. 选择 Actions - Edit Application。
  2. 选择视图组件,右键单击 Edit Component Properties。
  3. 从 Advanced 选项卡中,添加属性 com.ibm.rcp.csiviews.viewpart.threadurl,将它的值设为 notes:///0000000000000000/Threads?OpenView。如图 14 所示。
  4. 选择 File - Save & Close。
图 14. 添加 XML 属性 threadurl
添加 XML 属性 threadurl

接下来,需要配置与主题视图一起使用的可见视图。如图 15 所示,在 View 属性窗口中,执行以下步骤:

  1. 清除 Show response documents in a hierarchy 选项。
  2. 选择 Show Vertical/Horizontal switcher 选项。
  3. 在 Thread View 中选择 ($ThreadsEmbed)。
  4. 选择 Allow conversation mode 选项。
图 15. 指定 twistie expansion 上显示的视图
指定 twistie expansion 上显示的视图

另外还需要添加一个列,用于在其中显示 twistie,使用户可以选择主题视图。为此,遵循以下步骤:

  1. 用值 ""(空值)添加一个列。
  2. 将列的大小设为 1。
  3. 在 Attrs 字段中,输入 $ShowThreadTwistie=true。如图 16 所示。

    图 16. 设置 twistie 属性
    设置 twistie 属性

然后,可能需要使用 Show 菜单的 mail client 中的 Conversation 和 Messages 选项。Conversations 只显示每个电子邮件会话的最新回复。而 Messages 则显示所有内容。这些是选择了 Right Align action control 属性后的标准动作。对于 Individual Messages,它们将环境变量 $VIEW_CONVERSATION_MODE 设为 1,对于会话模式,则将该环境变量设为 2。


在导航器中添加分隔线

在应用程序的导航器中,可以在条目之间添加分隔线,如图 17 所示。

图 17. 导航器中的分隔线
导航器中的分隔线

为此,打开 Lotus Domino Designer 并遵循以下步骤:

  1. 单击 Shared Code。
  2. 单击 Notes Mail Outline。
  3. 在 Outline Entry 中,选择 Display separator above this entry 选项,在导航器中添加一根分隔线。

创建视图中的右键单击上下文菜单

默认情况下,右键单击上下文菜单包括文档属性等默认项。可以禁用这些默认项,选择自己的菜单项,并且可以使用图像和子菜单。

首先,需要关闭默认项:

  1. 打开 Lotus Domino Designer。
  2. 打开 Action Bar Properties。
  3. 清除 Show default items in right-mouse menu 选项。

然后,使用设置 Include in right mouse button menu 启用上下文菜单中要显示的各项动作。该设置可以在动作属性框中找到。

还可以像任何 Lotus Notes 动作栏菜单那样,创建图标和子菜单。对于复杂的菜单,可以在动作栏中创建单独的右键单击项,以便使用特定的图标和分隔,这样做更容易一些。

还可以通过在 Label 与快捷键之间包括 @Char(9),使键盘快捷键信息右对齐,如图 18 中 Action 属性窗口中的 Label 字段所示。图 19 显示最终的上下文菜单。

图 18. 在上下文菜单中右对齐快捷方式信息
在上下文菜单中右对齐快捷方式信息
图 19. 最终的右键单击上下文菜单
最终的右键单击上下文菜单

结束语

本文介绍了一些定制应用程序和使应用程序现代化的一些步骤。您现在应该可以使用很多工具使定制的应用程序看上去类似于 Lotus Notes 8 本地 PIM 应用程序(Mail、Calendar、Contacts、To Dos 和 Notebook)。

参考资料

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus, Java technology
ArticleID=374714
ArticleTitle=IBM Lotus Notes 8.5 中的高级 Java 视图特性
publish-date=03092009