初识 Eclipse User Assistance

改善基于 Eclipse 的应用程序的可用性

本文介绍了 Eclipse User Assistance 项目,并讨论了众多可为基于 Eclipse 的应用程序提供高质量用户辅助的方法。

Chris Aniszczyk, 软件工程师, IBM

Chris AniszczykChris Aniszczyk 是 IBM Lotus 的软件工程师,专门从事 OSGi 相关开发工作。他是开放源码的忠实拥护者,目前在开发 Gentoo Linux 发行版,他还是一些 Eclipse 项目(PDE、ECF、EMFT)的参与者。他十分 乐意与您讨论 关于开放源码和 Eclipse 方面的问题。



2007 年 4 月 02 日

无论对于哪一种软件来说,缩短用户学习曲线的能力对于该软件的推广及其能否取得成功都是至关重要的。幸运的是,Eclipse 有了 User Assistance 项目(参见 参考资料),该项目包括能够使基于 Eclipse 的应用程序改善其最终用户体验的工具。根据 Eclipse User Assistance 项目的 Web 站点,该项目的目标是 “在 Eclipse 使用周期的所有阶段为该应用程序的用户提供帮助。它不是一个简单的工作台工件,而是一个提供特定协助的工件集合”。

本文通过一些示例和相关扩展点列表解释了其中一些工件。我们的目的不是深入研究每一个工件(见 参考资料),而是向那些希望为其用户提供帮助的开发人员引介这些工件。

Eclipse User Assistance 概览

User Assistance 组件

除了本文讨论的三个组件(欢迎框架、备忘单和帮助),Eclipse User Assistance 项目还负责 Eclipse Forms、Samples Gallery 和 Eclipse Automation。从 Eclipse User Assistance Overview 可获得更多相关信息。.

Eclipse User Assistance 项目由很多组件构成,但是提供了三个主要的工具来协助用户:

  • 欢迎框架
  • 备忘单
  • 帮助

欢迎框架

用户启动 Eclipse 时会看到一个表示欢迎的屏幕。

图 1. Eclipse 欢迎屏幕
Eclipse 欢迎屏幕

Eclipse 欢迎屏幕为用户提供了对教程和示例的便捷访问。如果您希望为自己的应用程序用户提供类似的东西,Eclipse 提供了欢迎框架。欢迎框架中有一些工具(用作欢迎内容),您可以使用它引导用户完成诸如初始设置之类的任务,或者提供对在线资源的便捷访问。可以使用原始的 SWT 部件指定欢迎内容,或者更典型的 —— 一系列集成的 Web 页面。为更好地理解典型的欢迎内容是什么样子,我们将使用插件开发环境(PDE) —— 使用一个模板 —— 来创建一个示例 RCP 应用程序来提供欢迎内容。

要利用 PDE 模板,先要创建一个新的插件项目(File > New > Project... > Plug-in Project)。需要强调一下,我们是在新的插件项目向导中创建一个 Rich Client Application。完成之后,将转向下个页面,我们可以使用一组模板创建一个项目。在本例中,需要选择 RCP application with an intro 模板。

图 2. RCP application with an intro
RCP application with an intro

创建插件项目后,即可启动该应用程序,此时将看到弹出了一个新的欢迎屏幕。

图 3. RCP 应用程序显示欢迎屏幕
RCP 应用程序显示欢迎屏幕

如果详细剖析生成的插件进行分解,将看到这里使用了一些扩展(参见表 1)。我们对 org.eclipse.ui.intro.config 扩展点的用法特别感兴趣,应用程序正是使用它链接到了 introContent.xml 文件。该文件包含到 XHTML 文件(即欢迎内容)的链接。 开始构建欢迎内容就是这么简单。

表 1. 相关欢迎框架扩展点
扩展点 描述
org.eclipse.ui.intro用来将特定的产品和引导屏幕联系起来。
org.eclipse.ui.intro.config用来创建一个引导配置。引导配置是 Eclipse 欢迎框架的一个基本构成部分。
org.eclipse.ui.intro.configExtension用于将现有的引导配置扩展到更多内容。它还提供了将内容与特定配置分离的方法,以便使欢迎内容更具可重用性。

备忘单

了解备忘单

要对备忘单工作原理进行更深层次的了解,请参阅 Philipp Tiedt 撰写的一篇很优秀的文章,名为 “在 Eclipse V3.2 中构建备忘单”,还可参阅名为 “在 Eclipse 中构建备忘单” 的相关教程,其中包含了一个很全面的示例。

备忘单可看作是一组可完成特定任务的交互式指令。它提供了一种方法,通过脚本性质的交互操作引导用户完成一系列步骤,从而简化了用户所需操作的内容。比如说,假设您的应用程序需要用户创建特定类型的项目(例如,照片项目)来开始使用您的应用程序。备忘单允许您自动启动新的项目向导,而不是由用户手动启动。这类行为的一个很好的例子就是创建一个 Hello World 应用程序 备忘单。

图 4. 创建一个 Hello World 应用程序备忘单
创建一个 Hello World 应用程序备忘单

Eclipse 提供了一种简单的方法,可通过一个新的编辑器来编辑这些备忘单(从 Eclipse V3.3 开始),图 5 显示了这个编辑器,通过 File > New > Other... > User Assistance > Cheat Sheet 即可访问它。这对于那些不希望直接使用 XML 格式的 Eclipse 备忘单文件的人来说更加简单。这个新的编辑器上面是一个允许您轻易链接到现有 Eclipse 命令的命令设计器。这将有效消除在 Eclipse 中手动使用命令的猜测性和易出错性。

图 5. 备忘单编辑器和命令设计器
备忘单编辑器和命令设计器

下面列出了备忘单的有关扩展点。

表 2. 备忘单有关扩展点
扩展点描述
org.eclipse.ui.cheatsheets.cheatsheetContent用于记录备忘单内容的组成,这样才能在 Eclipse 的 Help 菜单中显示出来。
org.eclipse.ui.cheatsheets.cheatSheetItemExtension为备忘单各项创建扩展。使您能够将新的属性引入到备忘单文件格式中,并且使用合适的方式处理它们。

帮助

如果您以前使用过 Eclipse 或 IBM® 产品,那么很可能对 infocenters 有所困惑。Infocenters 是 Eclipse 帮助系统的一部分,它能够使您编辑并组织内容,并且允许用户搜索该内容。可以在 Eclipse 内部访问这些内容(Help > Help Contents...)或者使用刚刚提到的 infocenters 通过浏览器访问。通常,帮助内容被组织为与 HTML 文件相链接的 XML 文件层次。如果您已经将帮助内容放到了诸如 Darwin Information Typing Architecture (DITA) 或 DocBook 这样的常见文档格式中,有几种方法可以将您的内容转换为可用的 Eclipse 帮助插件。

帮助内容制作者

从 Eclipse V3.3 开始,出现了帮助内容制作者这个概念,(参见 org.eclipse.help.contentProducer 扩展点)。它允许其他来源的文档(如 DITA 或 DocBook)被插入 Eclipse 帮助系统中。

PDE 提供了一个非常优秀的模板,使您开始使用示例帮助内容。通过选择 Plug-in with sample help content 模板(见图 6),PDE 将创建一个初始项目,它包含 org.eclipse.help.toc 扩展点的扩展。创建项目后,仅启动一个新的运行时工作台并选择帮助(Help > Help Contents...)来查看您的帮助内容发挥作用。

图 6. 示例帮助内容模板
示例帮助内容模板

远程帮助现在已成为 Eclipse V3.3 的一个选项。这意味着您现在可以将帮助内容与实际的应用程序分离。您可以将承载帮助内容的服务器和应用程序指向帮助服务器(见图 7)。这样的话,当用户请求帮助时,当需要时将下载帮助内容。作为开发人员,您必须仔细考虑这点,因为如果您的用户工作在脱机环境下,他们将无法获得帮助,这是非常不利的。需要对减少应用程序下载内容的初始大小和完全在脱机环境下工作的便利性之前权衡。

图 7. 示例远程帮助设置
示例远程帮助设置

下面列出了 Eclipse 帮助的相关扩展点。

表 3. 帮助的相关扩展点
扩展点描述
org.eclipse.help.toc通过单个插件用于帮助内容。
org.eclipse.help.index用于生成帮助内容使用的索引。
org.eclipse.help.contexts通过单个插件提供对上下文敏感的帮助。
org.eclipse.help.contentProducer用于提供在运行时动态生成的帮助内容。
org.eclipse.help.contentExtension允许帮助系统重新使用可重用的帮助内容。

结束语

这篇文章介绍了 Eclipse 的用户辅助工具,并建议您(开发人员)考虑使用这样的工具来使您的最终用户受益。最后,良好且集成的文档将有助于缩短用户的学习曲线,Eclipse User Assistance 项目也提供了帮助用户入门的工具。

致谢

特此对 Dejan Glozic,Curtis D'Entremont,Lee Anne Kowalski 和 Chris Goldthorpe 在审阅本文时提供的 UA 经验表示感谢。

参考资料

学习

获得产品和技术

讨论

  • Eclipse Platform 新闻组 将是您讨论关于 Eclipse 问题的第一站。(选择这个链接将启动默认的 Usenet 新闻阅读器呈现应用程序并打开 eclipse.platform)。
  • Eclipse 新闻组 为对使用和扩展 Eclipse 感兴趣的用户提供了大量参考资料。
  • 通过参与 developerWorks blog 加入 developerWorks 社区。

条评论

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=Open source
ArticleID=205360
ArticleTitle=初识 Eclipse User Assistance
publish-date=04022007