Information Center

You can allow your users to access the help system over the Internet or an intranet by installing an information center and the documentation plug-ins on a server. Clients view help by navigating to a URL, and the help system is shown in their Web browser. The information center help system can be used for both client and web applications, either of which can have their help accessed remotely. All features of help system except context help, active help, command support, and the help view are supported.

The information center help system allows passing number of options that can be used to customize various aspects of the information center. The following options are supported:

Installation/packaging

These steps are for the help system integrator and are not meant to address all the possible scenarios. It is assumed that all your documentation is delivered as Eclipse plug-ins and, in general, you are familiar with the eclipse help system.

  1. Download the Eclipse Platform Runtime Binary driver from eclipse.org.
  2. Install (unzip) the driver in a directory, say d:\myApp. This will create an eclipse sub-directory, d:\myApp\eclipse that contains the code required for the Eclipse platform (which includes the help system).

How to start or stop information center from command line

The org.eclipse.help.standalone.Infocenter class has a main() method that you can use to launch the information center from the command line. The command line argument syntax is:

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

To start an information center on port 8081, issue a start command by running

java -classpath d:\myApp\eclipse\plugins\org.eclipse.help.base_[version].jar org.eclipse.help.standalone.Infocenter -command start -eclipsehome d:\myApp\eclipse -port 8081

To shut down the information center issue a shutdown command by running

java -classpath d:\myApp\eclipse\plugins\org.eclipse.help.base_[version].jar org.eclipse.help.standalone.Infocenter -command shutdown -eclipsehome d:\myApp\eclipse

Using the information center

Start the information center using the instructions above. Point a web browser to the "/help/index.jsp" starting point for the Web application running on the port specified when starting the information center (e.g. 8081). For example, from the machine on which the information center is installed, this would be http://localhost:8081/help/index.jsp.

How to start and stop an information center from Java

When including an information center as part of another application, it may be more convenient to start it and stop it using Java API calls instead of system commands. If this is the case, follow the steps:

  1. Make sure d:\myApp\eclipse\plugins\org.eclipse.help.base_[version].jar is on your application's classpath. The class you use to start and shut down the information center is org.eclipse.help.standalone.Infocenter .
  2. Create an array of String objects containing options that you want to pass to the information center. Typically, the eclipsehome and port options are needed.
    String[] options = new String[] { "-eclipsehome", "d:\\myApp\\eclipse" , "-port", "8081" };
  3. In your application, create an instance of the Help class by passing in the options.
    Infocenter infocenter = new Infocenter(options);
  4. To start the help system:
    infocenter.start();
  5. To shut down the information center:
    infocenter.shutdown();

Making information center available on the web

Eclipse contains a complete information center and does not require any other server software to run. However, in an unsecure environment like the Internet, it is not recommended to allow direct access by the clients, but instead made available through an HTTP server or an application server. Most servers come with modules or servlets for delegating certain request to other Web resources. For example, you can configure a proxy module of the Apache HTTP Server to redirect requests made to http://mycompany.com/myproduct/infocenter to http://internalserver:8081/help that runs an information center. Adding the lines

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

to the conf/httpd.conf file of Apache server running the mycompany web site accomplishes this.

Some versions of the Apache HTTP server may contain an AddDefaultCharset directive enabled in configuration file. Remove the directive or replace it with

AddDefaultCharset Off

to have browsers display documents using correct character set.

Running multiple instances of an information center

Multiple instances of an information center can be run on a machine from one installation. Each started instance must use its own port and must be provided with a workspace, hence the -port and -data options must be specified. The instances can serve documentation from different sets of plug-ins by providing a valid platform configuration with the -configuration option.

If -configuration is not used and the configuration directory is shared among multiple information center instances with overlapping sets of locales, you must be ensure that all search indexes are created by one information center instance before another instance is started. Indexes are saved in the configuration directory, and write access is not synchronized across information center instances.

Filtering

Filtering support is turned off when running in information center mode, causing all content, including filtered content, to be visible. If you intent to host your documentation in both workbench and information center modes, you should use filters in a way that makes sense even if filtering is turned off.

Some documentation plug-ins may have dependencies on other plug-ins, usually by specifying the required plug-ins in their bundle manifest. The dependent plug-ins need to be installed on the information center as well.

See the Product customization topic for more information on customizing the help system.