信息中心

通过在服务器上安装信息中心和文档插件,可以允许用户通过因特网或内部网访问帮助系统。客户机通过浏览至 URL 来查看帮助,帮助系统将显示在它们的 Web 浏览器中。信息中心帮助系统可供客户机应用程序和 Web 应用程序使用,这两种应用程序都以远程方式访问它们的帮助。支持帮助系统中除上下文帮助、活动帮助、命令支持和“帮助”视图以外的所有功能部件。

信息中心帮助系统允许传递许多可用来定制信息中心各个方面的选项。支持下列选项:

安装/打包

这些步骤旨在供帮助系统集成者使用,它们并不适用于所有可能的情况。我们假定所有文档都是作为 Eclipse 插件交付的,并且您大体熟悉 Eclipse 帮助系统。

  1. eclipse.org 下载“Eclipse 平台运行时二进制文件”驱动程序。
  2. 将该驱动程序安装(解压缩)到一个目录(例如 d:\myApp)中。这将创建一个 Eclipse 子目录(d:\myApp\eclipse),该子目录包含 Eclipse 平台(包括帮助系统)所必需的代码。

如何从命令行启动或停止信息中心

org.eclipse.help.standalone.Infocenter 类有一个 main() 方法,您可以使用该方法来从命令行启动信息中心。命令行参数的语法如下所示:

-command start | shutdown | [-eclipsehome eclipseInstallPath] [-data instanceArea] [-host helpServerHost] [-locales localeList] [-port helpServerPort] [-dir rtl] [-noexec] [platform options] [-vmargs JavaVMarguments]

要在端口 8081 上启动信息中心,请通过运行以下命令来发出 start 命令:

java -classpath d:\myApp\eclipse\plugins\org.eclipse.help.base_3.1.0.jar org.eclipse.help.standalone.Infocenter -command start -eclipsehome d:\myApp\eclipse -port 8081

要关闭信息中心,请通过运行以下命令来发出 shutdown 命令:

java -classpath d:\myApp\eclipse\plugins\org.eclipse.help.base_3.1.0.jar org.eclipse.help.standalone.Infocenter -command shutdown -eclipsehome d:\myApp\eclipse

使用信息中心

使用以上指示信息启动信息中心。将 Web 浏览器指向在启动信息中心时指定的端口(例如 8081)上运行的 Web 应用程序“help”。例如,在安装了信息中心的机器上,这将是 http://localhost:8081/help/

如何从 Java 中启动和停止信息中心

当将信息中心包括为另一应用程序的一部分时,更方便的做法是使用 Java API 调用(而不是系统命令)来启动或停止它。在这种情况下,请执行以下步骤:

  1. 确保 d:\myApp\eclipse\plugins\org.eclipse.help.base_3.1.0.jar 在应用程序的类路径中。用来启动和关闭信息中心的类是 org.eclipse.help.standalone.Infocenter
  2. 创建一个 String 对象数组并使其包含要传递至信息中心的选项。通常,需要 eclipsehomeport 选项。
    String[] options = new String[] { "-eclipsehome", "d:\\myApp\\eclipse" , "-port", "8081" };
  3. 在应用程序中,通过传递这些选项来创建 Help 类的实例。
    Infocenter infocenter = new Help(options);
  4. 要启动帮助系统:
    helpSystem.start();
  5. 要关闭信息中心:
    helpSystem.shutdown();

在 Web 上提供信息中心

Eclipse 包含完整的信息中心,并且不要求运行任何其他服务器软件。但是,在不安全的环境(例如因特网)中,建议不要允许客户机直接访问信息中心,而是通过 HTTP 服务器或应用程序服务器来访问信息中心。大多数服务器提供了模块或 Servlet 来委托对其他 Web 资源发出的特定请求。例如,可以对 Apache HTTP Server 的代理模块进行配置,以将对 http://mycompany.com/myproduct/infocenter 发出的请求重定向至运行信息中心的 http://internalserver:8081/help。要完成此任务,请将下列各行:

LoadModule proxy_module modules/ApacheModuleProxy.dll
ProxyPass /myproduct/infocenter http://internalserver:8081/help
ProxyPassReverse /myproduct/infocenter http://internalserver:8081/help

添加到运行 mycompany Web 站点的 Apache 服务器的 conf/httpd.conf 文件中。

某些版本的 Apache HTTP Server 可能包含在配置文件中启用的 AddDefaultCharset 伪指令。请除去该伪指令,或者将其替换为:

AddDefaultCharset Off

以使浏览器使用正确的字符集来显示文档。

运行信息中心的多个实例

可以在一台机器上从一个安装版本中运行信息中心的多个实例。启动的每个实例都必须使用自己的端口,并且您必须为每个实例提供工作空间,因此,必须指定 -port-data 选项。通过使用 -configuration 选项提供有效的平台配置,这些实例可以提供不同插件集中的文档。

如果未使用 -configuration,并且在多个包含重叠语言环境集的信息中心实例之间共享配置目录,则必须确保在一个信息中心实例创建了所有搜索索引之后才启动另一个实例。索引保存在配置目录中,各个信息中心实例执行的写访问并不同步。

过滤

当以信息中心方式运行时,过滤支持处于关闭状态,这导致所有内容(包括已过滤掉的内容)都可视。如果您打算同时以工作台方式和信息中心方式来主管文档,则即使过滤支持处于关闭状态,也应该以有意义的方式使用过滤器。

[可选] 安装最小一组插件

信息中心不需要整个“Eclipse 平台”包。可使用下列插件(它们在 eclipse\plugins 目录中)来运行信息中心:

org.apache.lucene
org.eclipse.core.runtime
org.eclipse.help
org.eclipse.help.appserver
org.eclipse.help.base
org.eclipse.help.webapp
org.eclipse.osgi
org.eclipse.tomcat
org.eclipse.update.configurator

某些文档插件可能依赖于其他插件,这通常是通过在它们的捆绑软件清单中指定必需的插件实现的。还需要在信息中心上安装所依赖的插件。

通过使用从命令行更新正在运行的信息中心主题中说明的命令,可以在不重新启动信息中心的情况下更新信息中心插件。要使用此功能,最小组件集必须包含 org.eclipse.update.core 插件。

要了解有关定制帮助系统的更多信息,请参阅产品定制主题。