blob: 7effe532dcd2a4bd1f5617e0d1709bd6c7ae615a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><title>Eclipse V2 Help System</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
<!--
a:link { color: #0033CC; text-decoration: none }
a:hover { color: #0033CC; text-decoration: underline }
a:visited { color: #0033CC; text-decoration: none }
li { line-height: 125%; font-size: 10pt }
p { line-height: 125%; font-size: 10pt }
th { font-size: 10pt }
td { font-size: 10pt }
-->
</style>
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body>
<h1>Eclipse User Assistance
Overview</font></h1>
<p>The Eclipse User Assistance is a component of the
Eclipse Platform whose mission is to provide for assisting users of Eclipse
applications in all phases of the usage cycle. It is not a single workbench
artifact but rather a collection artifacts tailored to provide a particular
flavor of assistance.</p>
<p>User Assistance component includes the following systems and mechanisms:</p>
<ul>
<li>Online Help system for serving traditional help documents</li>
<li>Initial User Experience (Welcome) support</li>
<li>Cheat sheets</li>
<li>UI Forms<font color="#800000">*</font></li>
<li>Samples</li>
<li>Eclipse Automation</li>
</ul>
<p><font color="#800000">* Although UI Forms are strictly a SWT-based toolkit for creating slick
user interfaces and are not directly aimed at user assistance, it is listed here
because it is owned by the same team and because form-based UIs are typically
easer to understand and use. In addition, UI Forms are particularly good at
integrating user assistance content directly into the user interface. This
reduces the need for users to leave the work area to read user assistance
content.</font></p>
<p>Eclipse User Assistance is more than the current list of technologies. Our
mission can be summed up in the following way:</p>
<p><b>Eclipse User Assistance component is a hub for all ideas and mechanisms that serve the purpose of making Eclipse
applications easier to use both for new and returning users.</b></p>
<p>We will briefly describe the current elements of the User Assistance
component the following text.</p>
<h2>Online Help</h2>
<p>
<a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/guide/help.htm">
The Eclipse platform's help</a> facilities provide the raw building blocks to
structure and contribute documentation to the platform. It does not dictate
structure or granularity of documentation. You can choose the tools and
structure for your documentation that suits your needs.&nbsp;The help plug-in allows
you to describe your documentation structure to the platform using a table of
contents (toc) file.</p>
<p>Help system can be used in three modes:</p>
<ol>
<li><b>Integrated</font> </b>- If you are creating an Eclipse-based product,
the help system is automatically provided. You can launch the help browser
from the <b>Help</b> menu in the workbench, or through welcome or dynamic
help links.<br>
&nbsp;</li>
<li><b>Stand-alone (local)</font></b> - If you are creating an application
that is not based on the Eclipse framework, you can still use the Eclipse
help system. Your application can package and install the <i>stand-alone
help system</i>, a very small version of Eclipse that has had everything
except the help system stripped out of it. Then, your application can make
API calls from its <b>Help</b> menu, or from UI objects, to launch the help
browser. The stand-alone help system has all the features of the integrated
help system, as described in the following sections. However, it interacts
with the application UI for features such as context-sensitive help or
active help will vary. All features except dynamic help and active help are
supported.<br>
&nbsp;</li>
<li><b>Infocenter (served)</font></b> - You can also allow your users to
access the help system over the Internet or their intranet, by installing
the stand-alone help system and the documentation plug-ins on a server. The
application accesses the documentation by calling a URL, and the help system
is shown in their web browser. The infocenter help system can be used both
for client applications and for web applications, either of which can have
their help accessed remotely. All features except dynamic and active help
are supported. </li>
</ol>
<p align="center">
<img border="0" src="images/overview-help.png" width="600" height="450"></p>
<p align="center">
<img border="0" src="images/overview-dynamic-help.png" width="298" height="837"></p>
<h2>Initial User Experience (Welcome)</h2>
<p>
<a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/guide/workbench_advext_intro.htm">
Initial User Experience</a> support provides for greeting the first time users
of an Eclipse application with a series of pages that are meant to introduce
him/her to the application and make the initial experience favorable. The
implementation can simply guide the user through the initial setup and then
offer common tasks to do in the application, offer tutorials, samples (for
development applications), links to online resources, news etc.</p>
<p>The trigger and lifecycle of the welcome support is controlled by the
workbench. If welcome content is registered, it will be opened on fresh startup.
Once closed, it can be reopened from the Help menu. In the most direct form,
welcome can be written using pure SWT widgets. However, a more typical scenario
is to use the support provided by the User Assistance intro component and author
welcome content as a series of web pages, using either XML, HTML or XHTML
format.</p>
<p>When XML or XHTML formats are used, welcome content can be particularly
flexible because content reuse, content contribution and dynamic content are
supported.</p>
<p align="center">
<img border="0" src="images/overview-welcome.png" width="480" height="379"></p>
<h2>Cheat sheets</h2>
<p>
<a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/guide/workbench_advext_cheatsheets.htm">
Cheat sheets</a> are a type of assistive technology that is meant to lead users
through sequential tasks. They follow the user through steps, offer help links
for each, provide an option to perform the step for the user or let the user do
it herself. Cheat sheets are available from the Help menu but can be
programmatically opened whenever a task assistance is needed.</p>
<p align="center">
<img border="0" src="images/overview-cheatsheets.png" width="200" height="559"></p>
<h2>UI Forms</h2>
<p>
<a href="http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/guide/forms.htm">
UI Forms</a> is a toolkit based on SWT for creating powerful Web-like user
interfaces. It is not strictly part of user assistance but is used as a
technology for many User Assistance artifacts (implementation of initial user
experience for platforms that do not support embedded browser, dynamic help
view, cheat sheets etc.). For example, PDE multi-page editors use UI Forms
extensively:</p>
<p align="center">
<img border="0" src="images/overview-uiforms.png" width="460" height="433"></p>
<h2>Samples</h2>
<p>Samples are code artifacts that are imported into the workspace as projects
so that users can browse the code and lunch it. User Assistance provides support
for samples that ensures the code compiles correctly regardless of the settings
and the environment. When launched from the Welcome window, a Forms-based view
provides assistance for the sample.</p>
<p align="center">
<img border="0" src="images/overview-samples.png" width="298" height="422"></p>
<p align="left">
<font color="#800000">Support for samples will be reworked and opened up in the
coming releases. Watch User Assistance home page for design documents in the
near future.</font></p>
<h2>Eclipse Automation</h2>
<p>Eclipse Automation has two main aspects: tracking and playback. Tracking user
activity can be used for various purposes such as monitoring user actions,
recording these actions for further analysis, recording commands into groups
(macros) etc. The flip side is the process of affecting the workbench behavior
by playing these commands back, typically by executing a script. Although the
two processes are interrelated, the one does not necessarily require the other.
For example, although command sequences can be recorded and played back later,
the sequence of commands can also be hand-crafted. Similarly, sequence of
commands can be converted into an activity report without any further desire to
feed it back into the workbench.</p>
<p>The area of application automation is wide and there are many approaches
depending on the task (macro recording/playback, scripting, usage analysis,
automated GUI testing). The goal of Eclipse Automation is not to provide a
complete solution for all these approaches. Instead, it is limited to enabling
Eclipse platform to expose itself to all kinds of automation approaches that can
be contributed by the applications building on top of the platform.</p>
<p><font color="#800000">Eclipse Automation is currently in the design stage.
Watch User Assistance home page for design documents in the near future.</font></p>
</body>
</html>