Author: ochikvina
Date: 2010-02-17 15:35:12 -0500 (Wed, 17 Feb 2010)
New Revision: 20340
Modified:
trunk/drools/docs/guvnor_ref/en/master_output.xml
trunk/drools/docs/reference/en/master_output.xml
Log:
<html><head><meta name="qrichtext" content="1"
/></head><body style="font-size:9pt;font-family:Sans Serif">
<
p>https://jira.jboss.org/jira/browse/JBDS-1104 - Updated versions,corrected
master_output file</p>
</body></html>
Modified: trunk/drools/docs/guvnor_ref/en/master_output.xml
===================================================================
--- trunk/drools/docs/guvnor_ref/en/master_output.xml 2010-02-17 19:58:04 UTC (rev 20339)
+++ trunk/drools/docs/guvnor_ref/en/master_output.xml 2010-02-17 20:35:12 UTC (rev 20340)
@@ -19,1059 +19,1059 @@
<!ENTITY strutsreflink
"../../struts_tools_ref_guide/html_single/index.html">
<!ENTITY strutstutoriallink
"../../struts_tools_tutorial/html_single/index.html">
-]><book
xmlns:diffmk="http://diffmk.sf.net/ns/diff">
-
- <bookinfo>
- <title>Eclipse Guvnor Tools Reference Guide</title>
-
- <corpauthor>
- <inlinemediaobject>
- <imageobject role="fo">
- <imagedata fileref="images/jbosstools_logo.png"
format="PNG"></imagedata>
- </imageobject>
- <imageobject role="html">
- <imagedata></imagedata>
- </imageobject>
- </inlinemediaobject>
- </corpauthor>
-
<author><firstname>John</firstname><surname>Graham</surname><email>jgraham(a)redhat.com</email></author>
-
<author><firstname>Olga</firstname><surname>Chikvina</surname></author>
-
- <pubdate>April 2008</pubdate>
- <copyright>
- <year>2009</year>
- <holder>JBoss by Red Hat</holder>
- </copyright>
- <releaseinfo>
- Version: 5.1.0.trunk
- </releaseinfo>
-<abstract>
- <title></title>
- <para>
- <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/en/guvnor_too...
version</ulink>
- </para>
- </abstract>
-
- </bookinfo>
-
-
- <toc></toc>
-
-
-<chapter id="introduction"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/guvnor_ref/en/modules/introduction.xml"
xreflabel="introduction">
- <title>Introduction</title>
-
- <para>The purpose of this document is to describe briefly the functionality
present in the
- <property moreinfo="none">Eclipse Guvnor
Tools</property> (EGT) for Drools 5. While not intended as a
- comprehensive reference, there should be enough detail included for early
adopters using
- these tools.</para>
-
- <para>The <property moreinfo="none">Guvnor
repository</property> is not intended as a Source Code Management
- (SCM) solution, and the <property
moreinfo="none">EGT</property> are not intended to be Eclipse “team
- provider” extensions or replacements. Rather, the Guvnor repository is a location
where
- certain artifacts (such as rules and SOA policy definitions) are controlled
(“governed”) by
- policies defined by the deployment environment. The purpose of the <property
moreinfo="none">EGT</property>
- is then to enable access to resources held by the Guvnor repository, so
- they can be used in development. Thus, limited capabilities for reading, writing,
adding,
- and removing Guvnor repository resources are provided in the
- <property moreinfo="none">EGT</property>.</para>
-
- <section id="drools_key_features">
- <title>Guvnor Tools Key Features</title>
-
- <para>The following table lists all valuable features of the <property
moreinfo="none">Guvnor
- Tools</property>.</para>
- <table>
- <title>Key Functionality of Guvnor Tools</title>
- <tgroup cols="3">
-
- <colspec align="left" colnum="1"
colwidth="1*"></colspec>
- <colspec colnum="2"
colwidth="5*"></colspec>
- <colspec align="left" colnum="3"
colwidth="1*"></colspec>
-
- <thead>
- <row>
- <entry>Feature</entry>
- <entry>Benefit</entry>
- <entry>Chapter</entry>
- </row>
- </thead>
-
- <tbody>
-
- <row>
- <entry>
- <para>Guvnor Repositories View</para>
- </entry>
- <entry>
- <para>The purpose of the view is to enable access to
Guvnor repository
- resources in a standard tree format</para>
- </entry>
- <entry>
- <link
linkend="guvnor_repositories_view">Guvnor Repositories View</link>
- </entry>
- </row>
-
- <row>
- <entry>
- <para>Guvnor Connection Wizard</para>
- </entry>
- <entry>
- <para>The wizard helps to create a connection to a
Guvnor
- repository.</para>
- </entry>
- <entry>
- <link linkend="connection_wizard">Guvnor
Connection Wizard</link>
- </entry>
- </row>
-
- <row>
- <entry>
- <para>Guvnor Resource History View</para>
- </entry>
- <entry>
- <para>This view shows revisions of specific resources
available in the
- repository.</para>
- </entry>
- <entry>
- <link linkend="guvnor_history_view">Guvnor
Resource History View</link>
- </entry>
- </row>
-
- <row>
- <entry>
- <para>Resources from Guvnor Wizard</para>
- </entry>
- <entry>
- <para>The wizard helps to get local copies of Guvnor
repository
- resources.</para>
- </entry>
- <entry>
- <link
linkend="resources_from_guvnor">Importing Guvnor Repository
- Resources</link>
- </entry>
- </row>
-
- <row>
- <entry>
- <para>A number of actions for working with
files</para>
- </entry>
- <entry>
- <para>The Guvnor actions (available through the
<emphasis>
- <property
moreinfo="none">Guvnor</property>
- </emphasis> context menu on files) are provided for
working with
- files, both those associated with Guvnor repository
master copies
- and those not associated.</para>
- </entry>
- <entry>
- <link linkend="actions">Actions for Local
Guvnor Resources</link>
- </entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
- </section>
-
- <section id="how_to_start">
- <title>How to start with Guvnor Tools</title>
-
- <para><property moreinfo="none">Guvnor
Tools</property> is a part of the <property moreinfo="none">JBoss
Tools</property>
- project. Thus to get started with <property
moreinfo="none">Guvnor Tools</property>, you should have the
following:</para>
-
- <itemizedlist>
- <listitem>
- <para>Eclipse 3.4.x with Jboss Tools bundle of Eclipse plugins
installed. How to
- install JBoss Tools onto Eclipse you can find in the <ulink
url="../../GettingStartedGuide/html_single/index.html#JBossToolsInstall">"JBoss
Tools
- Installation"</ulink> section.</para>
- </listitem>
-
- <listitem>
- <para>JBoss Server 4.2 or higher with Guvnor repository deployed.
Thus, you should
- download <ulink
url="http://download.jboss.org/drools/release/5.0.0.25561.CR1/drools...
CR1</ulink> and extract it to the deploy directory of the
- server.</para>
- </listitem>
- </itemizedlist>
-
- <para>Now refer to the <link
linkend="functionality_overview">"Functionality
- Overview"</link> section to find out what you can do with
Guvnor and
- Eclipse synchronisation tool.</para>
- </section>
-
- <section>
- <title>Other relevant resources on the topic</title>
-
- <itemizedlist>
- <listitem>
- <para>Guvnor <ulink
url="http://www.jboss.org/community/wiki/Guvnor">wiki
page</ulink></para>
- </listitem>
-
- <listitem>
- <para>Drools on <ulink
url="http://www.jboss.org/drools/">JBoss.org</ulink>&l...
- </listitem>
-
- <listitem>
- <para>
- <ulink
url="http://www.jboss.org/tools/">JBoss Tools
Home Page</ulink>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/">The latest
- JBossTools/JBDS documentation builds</ulink>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <ulink
url="http://docs.jboss.org/tools/">JBossTools/JBDS
- release documentation</ulink></para>
- </listitem>
- </itemizedlist>
-
- </section>
-</chapter>
-
-
-<chapter id="functionality_overview"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/guvnor_ref/en/modules/functionality_overview.xml"
xreflabel="functionality_overview">
- <?dbhtml filename="functionality_overview.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Eclipse Guvnor Tools</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Functionality Overview</title>
-
- <para>This chapter will introduce you to the <property
moreinfo="none">Guvnor Repository Exploring
- perspective</property> and give an overview on all functionality the
<property moreinfo="none">Guvnor Tools</property>
provides.</para>
-
- <section id="guvnor_perspective">
- <title>Guvnor Perspective</title>
-
- <para>The <property moreinfo="none">Guvnor Repository
Exploring perspective</property> contains two views
- supplied by <property moreinfo="none">EGT</property> –
<property moreinfo="none">Repository Explorer</property> and
- <property moreinfo="none">Version
History</property>, that will be the center of most interaction
- with Guvnor, and Eclipse standard views such as <property
moreinfo="none">Properties</property> and
- <property moreinfo="none">Resource
Navigator</property> that are also useful.</para>
-
- <para>While each of these views can be opened and positioned independently
within an Eclipse
- workbench, the <property moreinfo="none">Guvnor
perspective</property> provides a convenient method of
- getting a suggested layout. In the Eclipse workbench menu, choose
<emphasis>
- <property moreinfo="none">Window > Open
Perspective > Other</property>
- </emphasis> to get the perspective list:</para>
-
- <figure float="0">
- <title>Enabling the Guvnor Repository Perspective</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/open_guvnor_perspectine.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>And then choose <emphasis>
- <property moreinfo="none">Guvnor Repository
Exploring</property>.</emphasis> This opens the
- <property moreinfo="none">Guvnor
perspective</property>.</para>
- </section>
-
- <section id="connection_wizard">
- <title>Guvnor Connection Wizard</title>
-
- <para>After opening the <property moreinfo="none">Guvnor
perspective</property>, the first task is to make a
- connection to a Guvnor repository. This is handled by the <property
moreinfo="none">Guvnor Connection
- wizard</property>. This wizard appears in a number of places within
the
- <property moreinfo="none">EGT</property> (as
detailed below), but in this section we will cover only
- the two most basic entry points.</para>
-
- <para>The <property moreinfo="none">Guvnor Connection
wizard</property> can be started in the following
- ways:</para>
-
- <itemizedlist>
- <listitem>
- <para>using the Eclipse menu <emphasis>
- <property moreinfo="none">File > New
> Other > Guvnor > Guvnor
- repository location</property>
- </emphasis></para>
-
- <figure float="0">
- <title>New Guvnor Repository Location</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/start_guvnor_connection1.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
- </listitem>
-
- <listitem>
- <para>in the <property moreinfo="none">Guvnor
Repositories view</property> using the drop-down menu</para>
-
- <figure float="0">
- <title>Adding New Guvnor Connection</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/start_guvnor_connection2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
- </listitem>
-
- <listitem>
- <para>using the menu button
- ( <inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/guvnor_connection_button.png"></imagedata>
- </imageobject>
- </inlinemediaobject> )
- </para>
- </listitem>
- </itemizedlist>
-
- <para>Choosing either of these will start the <property
moreinfo="none">Guvnor Connection
- wizard</property>.</para>
-
- <figure float="0" id="guvnor_connection_wizard">
- <title>Guvnor Connection Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/guvnor_connection_wizard.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Default values appear in the <emphasis>
- <property
moreinfo="none">Location</property>,</emphasis>
- <emphasis>
- <property
moreinfo="none">Port</property>,</emphasis> and <emphasis>
- <property moreinfo="none">Repository</property>
- </emphasis> fields (See the <link
linkend="guvnor_preferences">“Guvnor Preferences”</link> section below
for details about how to
- change these default values.) Of course, any of these fields can be edited by
typing in
- the corresponding text box. Drag-and-drop or paste into the <emphasis>
- <property moreinfo="none">Location</property>
- </emphasis> field of a typical Guvnor repository URL such
as:</para>
-
- <para>
- <emphasis>
- <property
moreinfo="none">http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav</property>
- </emphasis>
- </para>
-
- <para>Results in the URL being parsed into the respective fields as well.
The authentication
- information (user name and password) can optionally be stored in the Eclipse
- workbench's key-ring file based on the selection of <emphasis>
- <property moreinfo="none">Save user name and
password</property>.</emphasis></para>
-
- <note>
- <title>Note:</title>
- <para>If the authentication information is not stored in the key-ring,
then the
- <property moreinfo="none">EGT</property> uses a
session authentication, what means that the
- credentials supplied are used only for the lifetime of the Eclipse
workbench
- instance.</para>
- </note>
-
- <para>If authentication information is not stored in the key-ring or the
authentication
- information (key-ring or session) is not valid, the <property
moreinfo="none">EGT</property> will prompt
- for authentication information when it has to access the Guvnor
repository.</para>
-
- <para>If authentication fails, the <property
moreinfo="none">EGT</property> will retry once and then issue
- an authentication failure error.</para>
-
- <tip>
- <title>Tip:</title>
- <para>If an authentication failure error occurs, you can retry the same
operation and
- supply different authentication information.</para>
- </tip>
-
- <para>Note that the <property
moreinfo="none">EGT</property> calls the Guvnor repository at various
times,
- such as when determining if resource updates are available. Thus if you use
session
- authentication, the authentication dialog will appear at different times
during the
- Eclipse workbench session, depending on what actions you take. For ease of
use, we
- recommend saving the authentication information in the Eclipse
key-ring.</para>
-
- <note>
- <title>Note:</title>
- <para>The Eclipse key-ring file is distinct from key-ring files found
in some platforms
- such as Mac OS X and many forms of Linux. Thus, sometimes if you access a
Guvnor
- repository outside the <property
moreinfo="none">EGT</property>, the key-ring files might become
- unsynchronized and you will be unexpectedly prompted for authentication
in Eclipse.
- This is nuisance, but your usual credentials should apply in this
case.</para>
- </note>
- </section>
-
- <section id="guvnor_repositories_view">
- <title>Guvnor Repositories View</title>
-
- <para>The <property moreinfo="none">Guvnor Repositories
view</property> contains tree structures for Guvnor
- repository contents.</para>
-
- <figure float="0">
- <title>Guvnor Repositories View</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/guvnor_repository.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>You can perform the following actions under the resources in the
- <property moreinfo="none">Guvnor Repositories
view</property>:</para>
-
- <itemizedlist>
- <listitem>
- <para>create a new Guvnor repository connection. How to do this is
describe above in the <link linkend="connection_wizard">"Guvnor
Connection Wizard"</link> section.</para>
- </listitem>
-
- <listitem>
- <para>remove a Guvnor repository connection. Use the Delete button
- ( <inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/delete_connection_button.png"></imagedata>
- </imageobject>
- </inlinemediaobject> ) in the tool-bar or the
<emphasis>
- <property moreinfo="none">Delete</property></emphasis>
option in the context menu to remove a repository connection.</para>
- </listitem>
-
- <listitem>
- <para>refresh Guvnor repository resorces. Use the <emphasis>
- <property moreinfo="none">Refresh</property></emphasis>
context menu item to reload a tree content for the selected node.</para>
- </listitem>
-
- <listitem>
- <para>make use of "drill-into" functionality. It's
represented by a number of tool-bar/context menu items such as
<emphasis><property moreinfo="none">Go
Home</property></emphasis>
- ( <inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/go_home_button.png"></imagedata>
- </imageobject>
- </inlinemediaobject> ), <emphasis><property
moreinfo="none">Go Back</property></emphasis>
- ( <inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/go_back_button.png"></imagedata>
- </imageobject>
- </inlinemediaobject> ) and <emphasis>
- <property moreinfo="none">Go
Into</property></emphasis>
- ( <inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/go_into_button.png"></imagedata>
- </imageobject>
- </inlinemediaobject> ).</para>
- </listitem>
- </itemizedlist>
-
- <para>Drill-down is useful when working with deeply nested tree structures
and when you wish to concentrate on only branch of the tree. For example, drilling into
the <emphasis>
- <property
moreinfo="none">"defaultPackage"</property></emphasis>
node changes the tree view to:</para>
-
- <figure float="0">
- <title>Going Into the
<emphasis>"defaultPackage"</emphasis></title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/go_into_defaultPackage.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Clicking on the Go Home button ( <inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/go_home_button.png"></imagedata>
- </imageobject>
- </inlinemediaobject> ) or selecting <emphasis>
- <property moreinfo="none">Go Home</property></emphasis>
in the context menu returns the tree to the top-level structure shown in the previous
picture above.
- </para>
-
- <para>There are a number of operations that can be performed on Guvnor repository
files. Selecting a file in
-the Guvnor repository causes the Eclipse <property
moreinfo="none">Properties view</property> to update with details about
that file:
-</para>
-
- <figure float="0">
- <title>Guvnor Repository Files Properties</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/repository_files_properties.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para></para>
- </section>
-
- <section id="local_copies">
- <title>Local Copies of Guvnor Files</title>
-
- <para>As mentioned in the <link
linkend="introduction">"Introduction"</link>, the main
purpose
- of the <property moreinfo="none">EGT</property> is to
allow development using resources held in a Guvnor
- repository. There are two method of getting local copies of Guvnor
repository
- resources:</para>
-
- <orderedlist continuation="restarts"
inheritnum="ignore">
- <listitem>
- <para>Drag-and-drop from the <property
moreinfo="none">Guvnor Repositories view</property></para>
- </listitem>
- <listitem>
- <para>Using the <link
linkend="resources_from_guvnor">Import from Guvnor
- wizard</link>, as described further in this
document</para>
- </listitem>
- </orderedlist>
-
- <para>When local copies of Guvnor repository files are created, the
<property moreinfo="none">EGT</property>
- sets an association between the local copy and the master file in the
repository. This
- information is kept in the (normally) hidden <emphasis>
- <property moreinfo="none">.guvnorinfo</property>
- </emphasis> folder in the local project and, like all metadata, should
not be changed by
- end users.</para>
-
- <figure float="0">
- <title>.guvnorinfo metadata</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/guvnorinfo.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The association allows for operations such as update and commit in
- synchronization with the master copy held in the Guvnor
repository.</para>
-
- <para>The <property moreinfo="none">EGT</property>
decorates local resources associated with Guvnor
- repository master copies. This decoration appears in Eclipse views conforming
to the
- Eclipse Common Navigator framework, such as the Eclipse <property
moreinfo="none">Resource
- Navigator</property> and the Java <property
moreinfo="none">Package Explorer</property>. On the image
- above you can see the <emphasis>
- <property moreinfo="none">Dummy
rule.drl</property></emphasis> file with the decoration in the <property
moreinfo="none">Resource Navigator</property>. The Guvnor icon
decorator is on the top right of the file image, and the Guvnor
- revision details are appended to the file name. (The presence/location of
these can be
- changed the <link
linkend="resource_decoration_preferences">Guvnor
- Preferences</link>.)</para>
-
- <para>Here we see that, <emphasis><property
moreinfo="none">Dummy role.drl</property></emphasis> is
associated with a Guvnor repository
- resource and the local copy is based on revision 0, with a
<code>02-10-2008, 4:21:53</code> date/time
- stamp. The file <emphasis><property
moreinfo="none">Sample.drl</property>,</emphasis> however, is not
associated with a Guvnor repository
- file. Further details about the association can be found in the standard
Eclipse
- properties page, accessed via the <emphasis><property
moreinfo="none">Properties</property></emphasis> option in the
context menu:</para>
-
- <figure float="0">
- <title>Association Details</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/association_details.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The <property moreinfo="none">EGT</property>
contributes a property page to the standard Eclipse
- properties dialog, the contents of which are shown above. It displays the
specific Guvnor
- repository, the location within the repository, the version (date/time stamp)
and
- the revision number.</para>
- </section>
-
- <section id="actions">
- <title>Actions for Local Guvnor Resources</title>
-
- <para>The <property moreinfo="none">EGT</property>
provides a number of actions (available through the
- <emphasis><property
moreinfo="none">Guvnor</property></emphasis> context menu on
files) for working with files, both those associated with
- Guvnor repository master copies and those not associated. The actions
are:</para>
-
- <itemizedlist>
- <listitem>
- <para>
- <link linkend="update_action">Update</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="add_action">Add</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="commit_action">Commit</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="show_history_action">Show
History</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="compare_with_version">Compare with
Version</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="switch_to_version">Switch to
Version</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="delete_action">Delete</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <link
linkend="disconnect_action">Disconnect</link>
- </para>
- </listitem>
- </itemizedlist>
-
- <para>Each of these actions is described below.</para>
-
- <section id="update_action">
- <title>Update Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Update</property>
- </emphasis> action is available for one or more Guvnor resources
that are not in
- synchronization with the Guvnor repository master copies. These resources
would not
- be in synchronization because either/both</para>
-
- <orderedlist continuation="restarts" inheritnum="ignore">
- <listitem><para>There are local changes to these
- resources</para></listitem>
- <listitem><para>The master copies have been changed in the Guvnor
repository</para></listitem>
- </orderedlist>
-
- <para>Performing the <emphasis>
- <property moreinfo="none">Update</property>
- </emphasis> action replaces the local file contents with the
current contents from
- the Guvnor repository master copies (equivalent to <emphasis>
- <link linkend="switch_to_version">Switch to
version</link>
- </emphasis> for the latest version).</para>
- </section>
-
- <section id="add_action">
- <title>Add Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Add</property>
- </emphasis> action is available for one or more local files that
are not associated
- with a Guvnor repository master copy. Choosing the <emphasis>
- <property moreinfo="none">Add</property>
- </emphasis> action launches the <property
moreinfo="none">Add to Guvnor wizard</property>:</para>
-
- <figure float="0">
- <title>Add to Guvnor Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/add_toGuvnor_wizard.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The first page of the wizard asks for the selection of the target
Guvnor
- repository and gives the choice to create a new Guvnor repository
connection (in
- which case the second page is the same as the <link
linkend="guvnor_connection_wizard">Guvnor Connection wizard</link>).
Once the target Guvnor repository is chosen,
- the wizard then asks for the folder location to add the selection
files:</para>
-
- <figure float="0">
- <title>Selecting a Target Folder</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/select_target_folder.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Here the <emphasis>
- <property
moreinfo="none">"defaultPackage"</property></emphasis>
folder is selected as the destination
- location.</para>
-
- <note>
- <title>Note:</title>
- <para>Note that the <emphasis>
- <property
moreinfo="none">"snapshot"</property></emphasis> folder
in the Guvnor repository is read-only for
- <property moreinfo="none">EGT</property>,
and hence not visible as a candidate location in
- this wizard. The Guvnor repository web administration tools must be
used to add
- snapshot content.</para>
- </note>
-
- <para>Clicking on <emphasis>
- <property moreinfo="none">Finish</property>
- </emphasis> adds the selected files to the Guvnor repository and
creates an
- association between the local and Guvnor repository files.</para>
-
- <note>
- <title>Note:</title>
- <para>Note that the wizard will not allow for overwrite of existing
Guvnor
- repository files. Another target location must be
chosen.</para>
- </note>
- </section>
-
- <section id="commit_action">
- <title>Commit Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Commit</property>
- </emphasis> action is enabled for one or more Guvnor repository
associated files
- that have local changes. The <emphasis>
- <property moreinfo="none">Commit</property>
- </emphasis> action will write the local changes back to the
associated Guvnor
- repository files and update the association for the new revision
created.</para>
-
- <para>If a local change is based on an older revision of a file that is
currently in the
- Guvnor repository (for example, someone else changed the same file), then
the <emphasis>
- <property moreinfo="none">Commit</property>
- </emphasis> action will<figure float="0">
- <title>Add to Guvnor Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/add_toGuvnor_wizard.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure> ask whether you wish to overwrite the current version in the
- Guvnor repository with the local content. When such conflicts occur,
however, you
- should use the Eclipse Guvnor version tools, along with Eclipse standard
tools, to
- determine the differences and merge content based on the current version
in the
- Guvnor repository.</para>
- </section>
-
- <section id="show_history_action">
- <title>Show History Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Show
History</property>
- </emphasis> action is enable for one Guvnor repository associated
file and causes
- the <link linkend="guvnor_history_view">Guvnor Resource
History view</link> to be
- populated with revision history for the selected file.</para>
- </section>
-
- <section id="compare_with_version">
- <title>Compare with Version Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Compare with
Version</property>
- </emphasis> action is enabled for one Guvnor repository associated
file. This action
- first opens a wizard asking for the version for comparison (with the
local file
- contents):</para>
-
- <figure float="0">
- <title>Compare with Version Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/compare_with_version.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Once the revision is selected, the action opens the Eclipse
<property moreinfo="none">Compare
- editor</property> (read-only):</para>
- <figure float="0">
- <title>Eclipse Compare Editor</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/compare_with_version2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>This editor uses Eclipse-standard comparison techniques to show
the differences in
- the two versions. In cases where there are no differences, the editor
will not open,
- rather a dialog saying that there are no differences will
appear.</para>
- <figure float="0">
- <title>Alert Dialog</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/compare_with_version3.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section id="switch_to_version">
- <title>Switch to Version Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Switch to
Version</property>
- </emphasis> action is enabled for one Guvnor repository associated
file.</para>
- <para>First the <emphasis>
- <property moreinfo="none">Switch to
Version</property>
- </emphasis> action prompts for selection of version:</para>
-
- <figure float="0">
- <title>Select Version Window</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/compare_with_version.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Once the version is selected, the <emphasis>
- <property moreinfo="none">Switch to
Version</property>
- </emphasis> action replaces the local file contents with those from
the revision
- selected.</para>
- </section>
-
- <section id="delete_action">
- <title>Delete Action</title>
-
- <para>The <emphasis>
- <property moreinfo="none">Delete</property>
- </emphasis> action is enabled for one or more Guvnor repository
associated files.
- After confirmation via a dialog, the <emphasis>
- <property moreinfo="none">Delete</property>
- </emphasis> action removes the files in the Guvnor repository and
deletes local
- metadata for the Guvnor repository association.</para>
-
- <figure float="0">
- <title>Comfirm Delete Dialog</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/confirm_delete.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section id="disconnect_action">
- <title>Disconnect Action</title>
-
- <para>The <emphasis>
- <property
moreinfo="none">Disconnect</property>
- </emphasis> action is enabled for one or more Guvnor repository
associated files,
- and removes local metadata for the Guvnor repository
association.</para>
- </section>
- </section>
-
- <section id="guvnor_history_view">
- <title>Guvnor Resource History View</title>
-
- <para>The <property moreinfo="none">Guvnor Resource History
view</property> should details about revision
- history for selected files, both local and those in Guvnor repositories. The
initial
- state of this view is shown on the figure below.</para>
-
- <figure float="0">
- <title>Initial State of the Guvnor Resource History View</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/resource_history_view.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The <property moreinfo="none">Guvnor Resource History
view</property> is populated by <emphasis>
- <property moreinfo="none">Show History</property>
- </emphasis> actions in either the local <emphasis>
- <property
moreinfo="none">Guvnor</property></emphasis> context menu or in
the context menu for
- a Guvnor repository file in the <link
linkend="guvnor_repositories_view">Guvnor
- Repositories view</link>. Once this action is performed, the
<property moreinfo="none">Guvnor
- Resource History view</property> updates to show the revision
history:</para>
-
- <figure float="0">
- <title>IGuvnor Resource History View</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/resource_history_view2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Here we see that the file <emphasis>
- <property moreinfo="none">test.txt</property>
- </emphasis> has three revisions. Double clicking on a revision row (or
the context menu <emphasis>
- <property moreinfo="none">Open (Read
only)</property>)</emphasis> opens an Eclipse read-only editor
- with the revision contents.</para>
-
- <figure float="0">
- <title>Eclipse Read-only Editor with the Revision Contents</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/resource_history_view3.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
- <note>
- <title>Note:</title>
- <para>You can also use the <emphasis>
- <property moreinfo="none">Save
As...</property>
- </emphasis> option when a file is open in a read-only editor to
save a local
- writable copy of the contents. Doing so, however, will not associate the
file
- created with its Guvnor source.</para>
- </note>
-
- </section>
-
- <section id="resources_from_guvnor">
- <title>Importing Guvnor Repository Resources</title>
-
- <para>In addition to the single file drag-and-drop from the <property
moreinfo="none">Guvnor Repositories
- view</property>, the <property
moreinfo="none">EGT</property> also includes a wizard for copying one
- or more files from a Guvnor repository to the local workspace (and setting
the
- association with the Guvnor repository). This wizard is available from the
<emphasis>
- <property moreinfo="none">File > Import >
Guvnor > Resource from
- Guvnor</property>
- </emphasis> and the <emphasis>
- <property moreinfo="none">File > New >
Other > Guvnor > Resource from
- Guvnor</property>
- </emphasis> menu items.</para>
- <note>
- <title>Note:</title>
-
- <para>Note that the wizard is identical but appears in both locations
to accommodate
- users who tend to view this functionality as being in either
category.</para>
- </note>
-
- <para>The first page of the wizard asks for the selection of the source
Guvnor repository
- and gives the choice to create a new Guvnor repository connection (in which
case the
- second page is the same as the <link
linkend="guvnor_connection_wizard">Guvnor Connection
wizard</link>).</para>
-
- <figure float="0">
- <title>Resource from Guvnor Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/add_toGuvnor_wizard.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Once the source Guvnor repository is chosen, the wizard prompts for
resource selection:</para>
-
- <figure float="0">
- <title>Resource Selection</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/resource_from_guvnor.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Finally, the target location in the local workspace should be
chosen:</para>
- <figure float="0">
- <title>Choosing the Target Location</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/resource_from_guvnor2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>On completion the wizard copies the selected files from the Guvnor
repository to the local workspace.
- If a file with the same name already exists in the destination, the wizard
uses the Eclipse standard
- "prompt for rename" dialog:</para>
-
- <figure float="0">
- <title>Prompt for Rename Dialog</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/functionality_overview/resource_from_guvnor3.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-</chapter>
-
-
-<chapter id="guvnor_preferences"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/guvnor_ref/en/modules/guvnor_preferences.xml"
xreflabel="guvnor_preferences">
- <?dbhtml filename="guvnor_preferences.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Eclipse Guvnor Tools</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Guvnor Preferences</title>
-
- <para>The <property moreinfo="none">EGT</property>
provides a preference page in the <emphasis>
- <property moreinfo="none">Guvnor</property>
- </emphasis> category:</para>
-
- <figure float="0">
- <title>Resource Selection</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guvnor_preferences/guvnor_preferences.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The preferences cover two categories:</para>
- <itemizedlist>
- <listitem><para>Guvnor repository
connections</para></listitem>
-
- <listitem><para>Local Guvnor
- repository resource decorations.</para></listitem>
- </itemizedlist>
-
- <section id="repo_connection_preferences">
- <title>Guvnor Repository Connection Preferences</title>
- <para>There are two preferences that can be set for Guvnor repository
connections, that are
- used when creating new connections:</para>
-
- <itemizedlist>
- <listitem>
- <para>The first is a default Guvnor repository URL template, which
can make it
- easier to create multiple similar connections by simply changing part
of the
- field, such as the host name.</para>
- </listitem>
- <listitem>
- <para>The second is whether saving of authentication information in
the Eclipse
- platform key-ring should be enabled by default.</para>
- </listitem>
- </itemizedlist>
-
- <para>As with the Guvnor repository URL template, actually whether to save
a specific
- instance of authentication information in the Eclipse platform key-ring can
be
- determined when actually creating the connection. That is, both of these
preferences are
- simply convenience values set to reasonable defaults.</para>
- </section>
-
- <section id="resource_decoration_preferences">
- <title>Local Guvnor Repository Resource Decoration
Preferences</title>
-
- <para>The second category of preferences provided by the <property
moreinfo="none">EGT</property> deals with how the decoration of
- local resources associated with Guvnor repository resources is presented.
Since the
- Guvnor repository is not a substitute for a SCM, and since SCM tools in
Eclipse tend to
- decorate local resources, it is useful to be able to control just how the
<property moreinfo="none">EGT</property> decorate
- its local resources to avoid messy conflicts with SCM packages.</para>
-
- <para>In the <emphasis>
- <property moreinfo="none">File
Decoration</property></emphasis>
- section of the preference page, you can choose the location (Top right, Top
left, Bottom right,
- Bottom left) of the decoration icon, or you can choose not to display it.
In
- the <emphasis>
- <property
moreinfo="none">Text</property></emphasis> section, you can
format the Guvnor metadata that is appended to the file
- names:</para>
- <itemizedlist>
- <listitem>
- <para>Whether to show an indicator (>) when the local file
has changes not committed back to the
- Guvnor repository</para>
- </listitem>
- <listitem>
- <para>Whether to show the revision number</para>
- </listitem>
- <listitem>
- <para>Whether to show the date/time stamp</para>
- </listitem>
- </itemizedlist>
-
- <para>Any changes to these preferences take effect immediately upon
clicking the <emphasis>
- <property
moreinfo="none">Apply</property></emphasis> and then
<emphasis>
- <property
moreinfo="none">Ok</property></emphasis> buttons.</para>
- </section>
-</chapter>
-
-
-<chapter id="conclusion"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/guvnor_ref/en/modules/conclusion.xml"
xreflabel="conclusion">
- <?dbhtml filename="conclusion.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Eclipse Guvnor Tools</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Conclusion</title>
-
- <para>As stated at the beginning of this document, the key goal of the
<property moreinfo="none">EGT</property>
- is to provide a way of interacting with Guvnor repository resources in a local
Eclipse
- workspace. While clearly there is a lot more that could be done, and no doubt
there will be
- aspects of the current tooling that require revision going forward, we feel that
the current
- state of the <property moreinfo="none">EGT</property> is
sufficient for the major use cases.</para>
-
- <para>If you have some questions, comments or suggestions on the topic, please
feel free to ask in the
- <ulink
url="http://www.jboss.org/index.html?module=bb&op=viewforum&...
Tools Forum</ulink>.</para>
-</chapter>
-
-
-</book>
+]><book
xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+
+ <bookinfo>
+ <title>Eclipse Guvnor Tools Reference Guide</title>
+
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/jbosstools_logo.png"
format="PNG"></imagedata>
+ </imageobject>
+ <imageobject role="html">
+ <imagedata></imagedata>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+
<author><firstname>John</firstname><surname>Graham</surname><email>jgraham(a)redhat.com</email></author>
+
<author><firstname>Olga</firstname><surname>Chikvina</surname></author>
+
+ <copyright>
+ <year>2009</year>
+ <year
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">2010</diffmk:wrapper></year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 5.1.0.trunk
+ </releaseinfo>
+<abstract>
+ <title></title>
+ <para>
+ <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/en/guvnor_too...
version</ulink>
+ </para>
+ </abstract>
+
+ </bookinfo>
+
+
+ <toc></toc>
+
+
+<chapter id="introduction"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/guvnor_ref/en/modules/introduction.xml"
xreflabel="introduction">
+ <title>Introduction</title>
+
+ <para>The purpose of this document is to describe briefly the functionality
present in the
+ <property moreinfo="none">Eclipse Guvnor
Tools</property> (EGT) for Drools 5. While not intended as a
+ comprehensive reference, there should be enough detail included for early
adopters using
+ these tools.</para>
+
+ <para>The <property moreinfo="none">Guvnor
repository</property> is not intended as a Source Code Management
+ (SCM) solution, and the <property
moreinfo="none">EGT</property> are not intended to be Eclipse “team
+ provider” extensions or replacements. Rather, the Guvnor repository is a location
where
+ certain artifacts (such as rules and SOA policy definitions) are controlled
(“governed”) by
+ policies defined by the deployment environment. The purpose of the <property
moreinfo="none">EGT</property>
+ is then to enable access to resources held by the Guvnor repository, so
+ they can be used in development. Thus, limited capabilities for reading, writing,
adding,
+ and removing Guvnor repository resources are provided in the
+ <property moreinfo="none">EGT</property>.</para>
+
+ <section id="drools_key_features">
+ <title>Guvnor Tools Key Features</title>
+
+ <para>The following table lists all valuable features of the <property
moreinfo="none">Guvnor
+ Tools</property>.</para>
+ <table>
+ <title>Key Functionality of Guvnor Tools</title>
+ <tgroup cols="3">
+
+ <colspec align="left" colnum="1"
colwidth="1*"></colspec>
+ <colspec colnum="2"
colwidth="5*"></colspec>
+ <colspec align="left" colnum="3"
colwidth="1*"></colspec>
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+ <entry>Chapter</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>
+ <para>Guvnor Repositories View</para>
+ </entry>
+ <entry>
+ <para>The purpose of the view is to enable access to
Guvnor repository
+ resources in a standard tree format</para>
+ </entry>
+ <entry>
+ <link
linkend="guvnor_repositories_view">Guvnor Repositories View</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>Guvnor Connection Wizard</para>
+ </entry>
+ <entry>
+ <para>The wizard helps to create a connection to a
Guvnor
+ repository.</para>
+ </entry>
+ <entry>
+ <link linkend="connection_wizard">Guvnor
Connection Wizard</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>Guvnor Resource History View</para>
+ </entry>
+ <entry>
+ <para>This view shows revisions of specific resources
available in the
+ repository.</para>
+ </entry>
+ <entry>
+ <link linkend="guvnor_history_view">Guvnor
Resource History View</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>Resources from Guvnor Wizard</para>
+ </entry>
+ <entry>
+ <para>The wizard helps to get local copies of Guvnor
repository
+ resources.</para>
+ </entry>
+ <entry>
+ <link
linkend="resources_from_guvnor">Importing Guvnor Repository
+ Resources</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>A number of actions for working with
files</para>
+ </entry>
+ <entry>
+ <para>The Guvnor actions (available through the
<emphasis>
+ <property
moreinfo="none">Guvnor</property>
+ </emphasis> context menu on files) are provided for
working with
+ files, both those associated with Guvnor repository
master copies
+ and those not associated.</para>
+ </entry>
+ <entry>
+ <link linkend="actions">Actions for Local
Guvnor Resources</link>
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section id="how_to_start">
+ <title>How to start with Guvnor Tools</title>
+
+ <para><property moreinfo="none">Guvnor
Tools</property> is a part of the <property moreinfo="none">JBoss
Tools</property>
+ project. Thus to get started with <property
moreinfo="none">Guvnor Tools</property>, you should have the
following:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Eclipse 3.4.x with Jboss Tools bundle of Eclipse plugins
installed. How to
+ install JBoss Tools onto Eclipse you can find in the <ulink
url="../../GettingStartedGuide/html_single/index.html#JBossToolsInstall">"JBoss
Tools
+ Installation"</ulink> section.</para>
+ </listitem>
+
+ <listitem>
+ <para>JBoss Server 4.2 or higher with Guvnor repository deployed.
Thus, you should
+ download <ulink
url="http://download.jboss.org/drools/release/5.0.0.25561.CR1/drools...
CR1</ulink> and extract it to the deploy directory of the
+ server.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Now refer to the <link
linkend="functionality_overview">"Functionality
+ Overview"</link> section to find out what you can do with
Guvnor and
+ Eclipse synchronisation tool.</para>
+ </section>
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Guvnor <ulink
url="http://www.jboss.org/community/wiki/Guvnor">wiki
page</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para>Drools on <ulink
url="http://www.jboss.org/drools/">JBoss.org</ulink>&l...
+ </listitem>
+
+ <listitem>
+ <para>
+ <ulink
url="http://www.jboss.org/tools/">JBoss Tools
Home Page</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/">The latest
+ JBossTools/JBDS documentation builds</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <ulink
url="http://docs.jboss.org/tools/">JBossTools/JBDS
+ release documentation</ulink></para>
+ </listitem>
+ </itemizedlist>
+
+ </section>
+</chapter>
+
+
+<chapter id="functionality_overview"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/guvnor_ref/en/modules/functionality_overview.xml"
xreflabel="functionality_overview">
+ <?dbhtml filename="functionality_overview.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Eclipse Guvnor Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Functionality Overview</title>
+
+ <para>This chapter will introduce you to the <property
moreinfo="none">Guvnor Repository Exploring
+ perspective</property> and give an overview on all functionality the
<property moreinfo="none">Guvnor Tools</property>
provides.</para>
+
+ <section id="guvnor_perspective">
+ <title>Guvnor Perspective</title>
+
+ <para>The <property moreinfo="none">Guvnor Repository
Exploring perspective</property> contains two views
+ supplied by <property moreinfo="none">EGT</property> –
<property moreinfo="none">Repository Explorer</property> and
+ <property moreinfo="none">Version
History</property>, that will be the center of most interaction
+ with Guvnor, and Eclipse standard views such as <property
moreinfo="none">Properties</property> and
+ <property moreinfo="none">Resource
Navigator</property> that are also useful.</para>
+
+ <para>While each of these views can be opened and positioned independently
within an Eclipse
+ workbench, the <property moreinfo="none">Guvnor
perspective</property> provides a convenient method of
+ getting a suggested layout. In the Eclipse workbench menu, choose
<emphasis>
+ <property moreinfo="none">Window > Open
Perspective > Other</property>
+ </emphasis> to get the perspective list:</para>
+
+ <figure float="0">
+ <title>Enabling the Guvnor Repository Perspective</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/open_guvnor_perspectine.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>And then choose <emphasis>
+ <property moreinfo="none">Guvnor Repository
Exploring</property>.</emphasis> This opens the
+ <property moreinfo="none">Guvnor
perspective</property>.</para>
+ </section>
+
+ <section id="connection_wizard">
+ <title>Guvnor Connection Wizard</title>
+
+ <para>After opening the <property moreinfo="none">Guvnor
perspective</property>, the first task is to make a
+ connection to a Guvnor repository. This is handled by the <property
moreinfo="none">Guvnor Connection
+ wizard</property>. This wizard appears in a number of places within
the
+ <property moreinfo="none">EGT</property> (as
detailed below), but in this section we will cover only
+ the two most basic entry points.</para>
+
+ <para>The <property moreinfo="none">Guvnor Connection
wizard</property> can be started in the following
+ ways:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>using the Eclipse menu <emphasis>
+ <property moreinfo="none">File > New
> Other > Guvnor > Guvnor
+ repository location</property>
+ </emphasis></para>
+
+ <figure float="0">
+ <title>New Guvnor Repository Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/start_guvnor_connection1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+
+ <listitem>
+ <para>in the <property moreinfo="none">Guvnor
Repositories view</property> using the drop-down menu</para>
+
+ <figure float="0">
+ <title>Adding New Guvnor Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/start_guvnor_connection2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+
+ <listitem>
+ <para>using the menu button
+ ( <inlinemediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/guvnor_connection_button.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> )
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Choosing either of these will start the <property
moreinfo="none">Guvnor Connection
+ wizard</property>.</para>
+
+ <figure float="0" id="guvnor_connection_wizard">
+ <title>Guvnor Connection Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/guvnor_connection_wizard.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Default values appear in the <emphasis>
+ <property
moreinfo="none">Location</property>,</emphasis>
+ <emphasis>
+ <property
moreinfo="none">Port</property>,</emphasis> and <emphasis>
+ <property moreinfo="none">Repository</property>
+ </emphasis> fields (See the <link
linkend="guvnor_preferences">“Guvnor Preferences”</link> section below
for details about how to
+ change these default values.) Of course, any of these fields can be edited by
typing in
+ the corresponding text box. Drag-and-drop or paste into the <emphasis>
+ <property moreinfo="none">Location</property>
+ </emphasis> field of a typical Guvnor repository URL such
as:</para>
+
+ <para>
+ <emphasis>
+ <property
moreinfo="none">http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav</property>
+ </emphasis>
+ </para>
+
+ <para>Results in the URL being parsed into the respective fields as well.
The authentication
+ information (user name and password) can optionally be stored in the Eclipse
+ workbench's key-ring file based on the selection of <emphasis>
+ <property moreinfo="none">Save user name and
password</property>.</emphasis></para>
+
+ <note>
+ <title>Note:</title>
+ <para>If the authentication information is not stored in the key-ring,
then the
+ <property moreinfo="none">EGT</property> uses a
session authentication, what means that the
+ credentials supplied are used only for the lifetime of the Eclipse
workbench
+ instance.</para>
+ </note>
+
+ <para>If authentication information is not stored in the key-ring or the
authentication
+ information (key-ring or session) is not valid, the <property
moreinfo="none">EGT</property> will prompt
+ for authentication information when it has to access the Guvnor
repository.</para>
+
+ <para>If authentication fails, the <property
moreinfo="none">EGT</property> will retry once and then issue
+ an authentication failure error.</para>
+
+ <tip>
+ <title>Tip:</title>
+ <para>If an authentication failure error occurs, you can retry the same
operation and
+ supply different authentication information.</para>
+ </tip>
+
+ <para>Note that the <property
moreinfo="none">EGT</property> calls the Guvnor repository at various
times,
+ such as when determining if resource updates are available. Thus if you use
session
+ authentication, the authentication dialog will appear at different times
during the
+ Eclipse workbench session, depending on what actions you take. For ease of
use, we
+ recommend saving the authentication information in the Eclipse
key-ring.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>The Eclipse key-ring file is distinct from key-ring files found
in some platforms
+ such as Mac OS X and many forms of Linux. Thus, sometimes if you access a
Guvnor
+ repository outside the <property
moreinfo="none">EGT</property>, the key-ring files might become
+ unsynchronized and you will be unexpectedly prompted for authentication
in Eclipse.
+ This is nuisance, but your usual credentials should apply in this
case.</para>
+ </note>
+ </section>
+
+ <section id="guvnor_repositories_view">
+ <title>Guvnor Repositories View</title>
+
+ <para>The <property moreinfo="none">Guvnor Repositories
view</property> contains tree structures for Guvnor
+ repository contents.</para>
+
+ <figure float="0">
+ <title>Guvnor Repositories View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/guvnor_repository.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can perform the following actions under the resources in the
+ <property moreinfo="none">Guvnor Repositories
view</property>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>create a new Guvnor repository connection. How to do this is
describe above in the <link linkend="connection_wizard">"Guvnor
Connection Wizard"</link> section.</para>
+ </listitem>
+
+ <listitem>
+ <para>remove a Guvnor repository connection. Use the Delete button
+ ( <inlinemediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/delete_connection_button.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ) in the tool-bar or the
<emphasis>
+ <property moreinfo="none">Delete</property></emphasis>
option in the context menu to remove a repository connection.</para>
+ </listitem>
+
+ <listitem>
+ <para>refresh Guvnor repository resorces. Use the <emphasis>
+ <property moreinfo="none">Refresh</property></emphasis>
context menu item to reload a tree content for the selected node.</para>
+ </listitem>
+
+ <listitem>
+ <para>make use of "drill-into" functionality. It's
represented by a number of tool-bar/context menu items such as
<emphasis><property moreinfo="none">Go
Home</property></emphasis>
+ ( <inlinemediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/go_home_button.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ), <emphasis><property
moreinfo="none">Go Back</property></emphasis>
+ ( <inlinemediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/go_back_button.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ) and <emphasis>
+ <property moreinfo="none">Go
Into</property></emphasis>
+ ( <inlinemediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/go_into_button.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Drill-down is useful when working with deeply nested tree structures
and when you wish to concentrate on only branch of the tree. For example, drilling into
the <emphasis>
+ <property
moreinfo="none">"defaultPackage"</property></emphasis>
node changes the tree view to:</para>
+
+ <figure float="0">
+ <title>Going Into the
<emphasis>"defaultPackage"</emphasis></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/go_into_defaultPackage.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Clicking on the Go Home button ( <inlinemediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/go_home_button.png"></imagedata>
+ </imageobject>
+ </inlinemediaobject> ) or selecting <emphasis>
+ <property moreinfo="none">Go Home</property></emphasis>
in the context menu returns the tree to the top-level structure shown in the previous
picture above.
+ </para>
+
+ <para>There are a number of operations that can be performed on Guvnor repository
files. Selecting a file in
+the Guvnor repository causes the Eclipse <property
moreinfo="none">Properties view</property> to update with details about
that file:
+</para>
+
+ <figure float="0">
+ <title>Guvnor Repository Files Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/repository_files_properties.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para></para>
+ </section>
+
+ <section id="local_copies">
+ <title>Local Copies of Guvnor Files</title>
+
+ <para>As mentioned in the <link
linkend="introduction">"Introduction"</link>, the main
purpose
+ of the <property moreinfo="none">EGT</property> is to
allow development using resources held in a Guvnor
+ repository. There are two method of getting local copies of Guvnor
repository
+ resources:</para>
+
+ <orderedlist continuation="restarts"
inheritnum="ignore">
+ <listitem>
+ <para>Drag-and-drop from the <property
moreinfo="none">Guvnor Repositories view</property></para>
+ </listitem>
+ <listitem>
+ <para>Using the <link
linkend="resources_from_guvnor">Import from Guvnor
+ wizard</link>, as described further in this
document</para>
+ </listitem>
+ </orderedlist>
+
+ <para>When local copies of Guvnor repository files are created, the
<property moreinfo="none">EGT</property>
+ sets an association between the local copy and the master file in the
repository. This
+ information is kept in the (normally) hidden <emphasis>
+ <property moreinfo="none">.guvnorinfo</property>
+ </emphasis> folder in the local project and, like all metadata, should
not be changed by
+ end users.</para>
+
+ <figure float="0">
+ <title>.guvnorinfo metadata</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/guvnorinfo.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The association allows for operations such as update and commit in
+ synchronization with the master copy held in the Guvnor
repository.</para>
+
+ <para>The <property moreinfo="none">EGT</property>
decorates local resources associated with Guvnor
+ repository master copies. This decoration appears in Eclipse views conforming
to the
+ Eclipse Common Navigator framework, such as the Eclipse <property
moreinfo="none">Resource
+ Navigator</property> and the Java <property
moreinfo="none">Package Explorer</property>. On the image
+ above you can see the <emphasis>
+ <property moreinfo="none">Dummy
rule.drl</property></emphasis> file with the decoration in the <property
moreinfo="none">Resource Navigator</property>. The Guvnor icon
decorator is on the top right of the file image, and the Guvnor
+ revision details are appended to the file name. (The presence/location of
these can be
+ changed the <link
linkend="resource_decoration_preferences">Guvnor
+ Preferences</link>.)</para>
+
+ <para>Here we see that, <emphasis><property
moreinfo="none">Dummy role.drl</property></emphasis> is
associated with a Guvnor repository
+ resource and the local copy is based on revision 0, with a
<code>02-10-2008, 4:21:53</code> date/time
+ stamp. The file <emphasis><property
moreinfo="none">Sample.drl</property>,</emphasis> however, is not
associated with a Guvnor repository
+ file. Further details about the association can be found in the standard
Eclipse
+ properties page, accessed via the <emphasis><property
moreinfo="none">Properties</property></emphasis> option in the
context menu:</para>
+
+ <figure float="0">
+ <title>Association Details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/association_details.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property moreinfo="none">EGT</property>
contributes a property page to the standard Eclipse
+ properties dialog, the contents of which are shown above. It displays the
specific Guvnor
+ repository, the location within the repository, the version (date/time stamp)
and
+ the revision number.</para>
+ </section>
+
+ <section id="actions">
+ <title>Actions for Local Guvnor Resources</title>
+
+ <para>The <property moreinfo="none">EGT</property>
provides a number of actions (available through the
+ <emphasis><property
moreinfo="none">Guvnor</property></emphasis> context menu on
files) for working with files, both those associated with
+ Guvnor repository master copies and those not associated. The actions
are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="update_action">Update</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="add_action">Add</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="commit_action">Commit</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="show_history_action">Show
History</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="compare_with_version">Compare with
Version</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="switch_to_version">Switch to
Version</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="delete_action">Delete</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link
linkend="disconnect_action">Disconnect</link>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Each of these actions is described below.</para>
+
+ <section id="update_action">
+ <title>Update Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Update</property>
+ </emphasis> action is available for one or more Guvnor resources
that are not in
+ synchronization with the Guvnor repository master copies. These resources
would not
+ be in synchronization because either/both</para>
+
+ <orderedlist continuation="restarts" inheritnum="ignore">
+ <listitem><para>There are local changes to these
+ resources</para></listitem>
+ <listitem><para>The master copies have been changed in the Guvnor
repository</para></listitem>
+ </orderedlist>
+
+ <para>Performing the <emphasis>
+ <property moreinfo="none">Update</property>
+ </emphasis> action replaces the local file contents with the
current contents from
+ the Guvnor repository master copies (equivalent to <emphasis>
+ <link linkend="switch_to_version">Switch to
version</link>
+ </emphasis> for the latest version).</para>
+ </section>
+
+ <section id="add_action">
+ <title>Add Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> action is available for one or more local files that
are not associated
+ with a Guvnor repository master copy. Choosing the <emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> action launches the <property
moreinfo="none">Add to Guvnor wizard</property>:</para>
+
+ <figure float="0">
+ <title>Add to Guvnor Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/add_toGuvnor_wizard.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The first page of the wizard asks for the selection of the target
Guvnor
+ repository and gives the choice to create a new Guvnor repository
connection (in
+ which case the second page is the same as the <link
linkend="guvnor_connection_wizard">Guvnor Connection wizard</link>).
Once the target Guvnor repository is chosen,
+ the wizard then asks for the folder location to add the selection
files:</para>
+
+ <figure float="0">
+ <title>Selecting a Target Folder</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/select_target_folder.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Here the <emphasis>
+ <property
moreinfo="none">"defaultPackage"</property></emphasis>
folder is selected as the destination
+ location.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>Note that the <emphasis>
+ <property
moreinfo="none">"snapshot"</property></emphasis> folder
in the Guvnor repository is read-only for
+ <property moreinfo="none">EGT</property>,
and hence not visible as a candidate location in
+ this wizard. The Guvnor repository web administration tools must be
used to add
+ snapshot content.</para>
+ </note>
+
+ <para>Clicking on <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> adds the selected files to the Guvnor repository and
creates an
+ association between the local and Guvnor repository files.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>Note that the wizard will not allow for overwrite of existing
Guvnor
+ repository files. Another target location must be
chosen.</para>
+ </note>
+ </section>
+
+ <section id="commit_action">
+ <title>Commit Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Commit</property>
+ </emphasis> action is enabled for one or more Guvnor repository
associated files
+ that have local changes. The <emphasis>
+ <property moreinfo="none">Commit</property>
+ </emphasis> action will write the local changes back to the
associated Guvnor
+ repository files and update the association for the new revision
created.</para>
+
+ <para>If a local change is based on an older revision of a file that is
currently in the
+ Guvnor repository (for example, someone else changed the same file), then
the <emphasis>
+ <property moreinfo="none">Commit</property>
+ </emphasis> action will<figure float="0">
+ <title>Add to Guvnor Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/add_toGuvnor_wizard.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure> ask whether you wish to overwrite the current version in the
+ Guvnor repository with the local content. When such conflicts occur,
however, you
+ should use the Eclipse Guvnor version tools, along with Eclipse standard
tools, to
+ determine the differences and merge content based on the current version
in the
+ Guvnor repository.</para>
+ </section>
+
+ <section id="show_history_action">
+ <title>Show History Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Show
History</property>
+ </emphasis> action is enable for one Guvnor repository associated
file and causes
+ the <link linkend="guvnor_history_view">Guvnor Resource
History view</link> to be
+ populated with revision history for the selected file.</para>
+ </section>
+
+ <section id="compare_with_version">
+ <title>Compare with Version Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Compare with
Version</property>
+ </emphasis> action is enabled for one Guvnor repository associated
file. This action
+ first opens a wizard asking for the version for comparison (with the
local file
+ contents):</para>
+
+ <figure float="0">
+ <title>Compare with Version Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/compare_with_version.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Once the revision is selected, the action opens the Eclipse
<property moreinfo="none">Compare
+ editor</property> (read-only):</para>
+ <figure float="0">
+ <title>Eclipse Compare Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/compare_with_version2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>This editor uses Eclipse-standard comparison techniques to show
the differences in
+ the two versions. In cases where there are no differences, the editor
will not open,
+ rather a dialog saying that there are no differences will
appear.</para>
+ <figure float="0">
+ <title>Alert Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/compare_with_version3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="switch_to_version">
+ <title>Switch to Version Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Switch to
Version</property>
+ </emphasis> action is enabled for one Guvnor repository associated
file.</para>
+ <para>First the <emphasis>
+ <property moreinfo="none">Switch to
Version</property>
+ </emphasis> action prompts for selection of version:</para>
+
+ <figure float="0">
+ <title>Select Version Window</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/compare_with_version.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Once the version is selected, the <emphasis>
+ <property moreinfo="none">Switch to
Version</property>
+ </emphasis> action replaces the local file contents with those from
the revision
+ selected.</para>
+ </section>
+
+ <section id="delete_action">
+ <title>Delete Action</title>
+
+ <para>The <emphasis>
+ <property moreinfo="none">Delete</property>
+ </emphasis> action is enabled for one or more Guvnor repository
associated files.
+ After confirmation via a dialog, the <emphasis>
+ <property moreinfo="none">Delete</property>
+ </emphasis> action removes the files in the Guvnor repository and
deletes local
+ metadata for the Guvnor repository association.</para>
+
+ <figure float="0">
+ <title>Comfirm Delete Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/confirm_delete.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="disconnect_action">
+ <title>Disconnect Action</title>
+
+ <para>The <emphasis>
+ <property
moreinfo="none">Disconnect</property>
+ </emphasis> action is enabled for one or more Guvnor repository
associated files,
+ and removes local metadata for the Guvnor repository
association.</para>
+ </section>
+ </section>
+
+ <section id="guvnor_history_view">
+ <title>Guvnor Resource History View</title>
+
+ <para>The <property moreinfo="none">Guvnor Resource History
view</property> should details about revision
+ history for selected files, both local and those in Guvnor repositories. The
initial
+ state of this view is shown on the figure below.</para>
+
+ <figure float="0">
+ <title>Initial State of the Guvnor Resource History View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/resource_history_view.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property moreinfo="none">Guvnor Resource History
view</property> is populated by <emphasis>
+ <property moreinfo="none">Show History</property>
+ </emphasis> actions in either the local <emphasis>
+ <property
moreinfo="none">Guvnor</property></emphasis> context menu or in
the context menu for
+ a Guvnor repository file in the <link
linkend="guvnor_repositories_view">Guvnor
+ Repositories view</link>. Once this action is performed, the
<property moreinfo="none">Guvnor
+ Resource History view</property> updates to show the revision
history:</para>
+
+ <figure float="0">
+ <title>IGuvnor Resource History View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/resource_history_view2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Here we see that the file <emphasis>
+ <property moreinfo="none">test.txt</property>
+ </emphasis> has three revisions. Double clicking on a revision row (or
the context menu <emphasis>
+ <property moreinfo="none">Open (Read
only)</property>)</emphasis> opens an Eclipse read-only editor
+ with the revision contents.</para>
+
+ <figure float="0">
+ <title>Eclipse Read-only Editor with the Revision Contents</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/resource_history_view3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <note>
+ <title>Note:</title>
+ <para>You can also use the <emphasis>
+ <property moreinfo="none">Save
As...</property>
+ </emphasis> option when a file is open in a read-only editor to
save a local
+ writable copy of the contents. Doing so, however, will not associate the
file
+ created with its Guvnor source.</para>
+ </note>
+
+ </section>
+
+ <section id="resources_from_guvnor">
+ <title>Importing Guvnor Repository Resources</title>
+
+ <para>In addition to the single file drag-and-drop from the <property
moreinfo="none">Guvnor Repositories
+ view</property>, the <property
moreinfo="none">EGT</property> also includes a wizard for copying one
+ or more files from a Guvnor repository to the local workspace (and setting
the
+ association with the Guvnor repository). This wizard is available from the
<emphasis>
+ <property moreinfo="none">File > Import >
Guvnor > Resource from
+ Guvnor</property>
+ </emphasis> and the <emphasis>
+ <property moreinfo="none">File > New >
Other > Guvnor > Resource from
+ Guvnor</property>
+ </emphasis> menu items.</para>
+ <note>
+ <title>Note:</title>
+
+ <para>Note that the wizard is identical but appears in both locations
to accommodate
+ users who tend to view this functionality as being in either
category.</para>
+ </note>
+
+ <para>The first page of the wizard asks for the selection of the source
Guvnor repository
+ and gives the choice to create a new Guvnor repository connection (in which
case the
+ second page is the same as the <link
linkend="guvnor_connection_wizard">Guvnor Connection
wizard</link>).</para>
+
+ <figure float="0">
+ <title>Resource from Guvnor Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/add_toGuvnor_wizard.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Once the source Guvnor repository is chosen, the wizard prompts for
resource selection:</para>
+
+ <figure float="0">
+ <title>Resource Selection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/resource_from_guvnor.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Finally, the target location in the local workspace should be
chosen:</para>
+ <figure float="0">
+ <title>Choosing the Target Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/resource_from_guvnor2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On completion the wizard copies the selected files from the Guvnor
repository to the local workspace.
+ If a file with the same name already exists in the destination, the wizard
uses the Eclipse standard
+ "prompt for rename" dialog:</para>
+
+ <figure float="0">
+ <title>Prompt for Rename Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/functionality_overview/resource_from_guvnor3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+</chapter>
+
+
+<chapter id="guvnor_preferences"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/guvnor_ref/en/modules/guvnor_preferences.xml"
xreflabel="guvnor_preferences">
+ <?dbhtml filename="guvnor_preferences.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Eclipse Guvnor Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Guvnor Preferences</title>
+
+ <para>The <property moreinfo="none">EGT</property>
provides a preference page in the <emphasis>
+ <property moreinfo="none">Guvnor</property>
+ </emphasis> category:</para>
+
+ <figure float="0">
+ <title>Resource Selection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guvnor_preferences/guvnor_preferences.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The preferences cover two categories:</para>
+ <itemizedlist>
+ <listitem><para>Guvnor repository
connections</para></listitem>
+
+ <listitem><para>Local Guvnor
+ repository resource decorations.</para></listitem>
+ </itemizedlist>
+
+ <section id="repo_connection_preferences">
+ <title>Guvnor Repository Connection Preferences</title>
+ <para>There are two preferences that can be set for Guvnor repository
connections, that are
+ used when creating new connections:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The first is a default Guvnor repository URL template, which
can make it
+ easier to create multiple similar connections by simply changing part
of the
+ field, such as the host name.</para>
+ </listitem>
+ <listitem>
+ <para>The second is whether saving of authentication information in
the Eclipse
+ platform key-ring should be enabled by default.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>As with the Guvnor repository URL template, actually whether to save
a specific
+ instance of authentication information in the Eclipse platform key-ring can
be
+ determined when actually creating the connection. That is, both of these
preferences are
+ simply convenience values set to reasonable defaults.</para>
+ </section>
+
+ <section id="resource_decoration_preferences">
+ <title>Local Guvnor Repository Resource Decoration
Preferences</title>
+
+ <para>The second category of preferences provided by the <property
moreinfo="none">EGT</property> deals with how the decoration of
+ local resources associated with Guvnor repository resources is presented.
Since the
+ Guvnor repository is not a substitute for a SCM, and since SCM tools in
Eclipse tend to
+ decorate local resources, it is useful to be able to control just how the
<property moreinfo="none">EGT</property> decorate
+ its local resources to avoid messy conflicts with SCM packages.</para>
+
+ <para>In the <emphasis>
+ <property moreinfo="none">File
Decoration</property></emphasis>
+ section of the preference page, you can choose the location (Top right, Top
left, Bottom right,
+ Bottom left) of the decoration icon, or you can choose not to display it.
In
+ the <emphasis>
+ <property
moreinfo="none">Text</property></emphasis> section, you can
format the Guvnor metadata that is appended to the file
+ names:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Whether to show an indicator (>) when the local file
has changes not committed back to the
+ Guvnor repository</para>
+ </listitem>
+ <listitem>
+ <para>Whether to show the revision number</para>
+ </listitem>
+ <listitem>
+ <para>Whether to show the date/time stamp</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Any changes to these preferences take effect immediately upon
clicking the <emphasis>
+ <property
moreinfo="none">Apply</property></emphasis> and then
<emphasis>
+ <property
moreinfo="none">Ok</property></emphasis> buttons.</para>
+ </section>
+</chapter>
+
+
+<chapter id="conclusion"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/guvnor_ref/en/modules/conclusion.xml"
xreflabel="conclusion">
+ <?dbhtml filename="conclusion.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Eclipse Guvnor Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Conclusion</title>
+
+ <para>As stated at the beginning of this document, the key goal of the
<property moreinfo="none">EGT</property>
+ is to provide a way of interacting with Guvnor repository resources in a local
Eclipse
+ workspace. While clearly there is a lot more that could be done, and no doubt
there will be
+ aspects of the current tooling that require revision going forward, we feel that
the current
+ state of the <property moreinfo="none">EGT</property> is
sufficient for the major use cases.</para>
+
+ <para>If you have some questions, comments or suggestions on the topic, please
feel free to ask in the
+ <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
Tools Forum</ulink>.</para>
+</chapter>
+
+
+</book>
Modified: trunk/drools/docs/reference/en/master_output.xml
===================================================================
--- trunk/drools/docs/reference/en/master_output.xml 2010-02-17 19:58:04 UTC (rev 20339)
+++ trunk/drools/docs/reference/en/master_output.xml 2010-02-17 20:35:12 UTC (rev 20340)
@@ -21,761 +21,1107 @@
<!ENTITY strutsreflink
"../../struts_tools_ref_guide/html_single/index.html">
<!ENTITY strutstutoriallink
"../../struts_tools_tutorial/html_single/index.html">
-]><book
xmlns:diffmk="http://diffmk.sf.net/ns/diff">
-
- <bookinfo>
- <title>Drools Tools Reference Guide</title>
- <corpauthor>
- <inlinemediaobject>
- <imageobject role="fo">
- <imagedata fileref="images/jbosstools_logo.png"
format="PNG"></imagedata>
- </imageobject>
- <imageobject role="html">
- <imagedata></imagedata>
- </imageobject>
- </inlinemediaobject>
- </corpauthor>
-
<author><firstname>Olga</firstname><surname>Chikvina</surname></author>
-
- <pubdate>April 2008</pubdate>
- <copyright>
- <year>2007</year>
- <year>2009</year>
- <holder>JBoss by Red Hat</holder>
- </copyright>
- <releaseinfo>
- Version: 5.1.0.trunk
- </releaseinfo>
-<abstract>
- <title></title>
- <para>
- <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/en/as/pdf/AS_...
version</ulink>
- </para>
-</abstract>
-
- </bookinfo>
-
-
- <toc></toc>
-
-<chapter id="introduction"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/reference/en/modules/introduction.xml"
xreflabel="introduction">
- <title>Introduction</title>
-
- <section id="whatisDrools">
- <title>What is Drools?</title>
-
- <para><property moreinfo="none">Drools</property> is
a business rule management system (BRMS) with a forward
- chaining inference based rules engine, more correctly known as a production
rule system,
- using an enhanced implementation of the Rete algorithm.</para>
-
- <para> In this guide we are going to get you familiar with Drools Eclipse
plugin which
- provides development tools for creating, executing and debugging Drools
processes and
- rules from within Eclipse.</para>
-
- <note>
- <title>Note:</title>
- <para>It is assumed that you has some familiarity with rule engines and
Drools in
- particular. If no, we suggest that you look carefully through the
<ulink
url="http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_sing...
Documentation</ulink>.</para>
- </note>
-
- <para><property moreinfo="none">Drools
Tools</property> come bundled with <property moreinfo="none">JBoss
Tools</property>
- set of Eclipse plugins. How to install <property
moreinfo="none">JBoss Tools</property> you can find in
- the <ulink
url="../../GettingStartedGuide/html_single/index.html#JBossToolsInstall">Getting
Started Guide</ulink>.</para>
- </section>
-
- <section id="drools_key_features">
- <title>Drools Tools Key Features</title>
-
- <para>The following table lists all valuable features of the <property
moreinfo="none">Drools
- Tools</property>.</para>
- <table>
- <title>Key Functionality of Drools Tools</title>
- <tgroup cols="3">
-
- <colspec align="left" colnum="1"
colwidth="1*"></colspec>
- <colspec colnum="2"
colwidth="5*"></colspec>
- <colspec align="left" colnum="3"
colwidth="1*"></colspec>
-
- <thead>
- <row>
- <entry>Feature</entry>
- <entry>Benefit</entry>
- <entry>Chapter</entry>
- </row>
- </thead>
-
- <tbody>
-
- <row>
- <entry>
- <para>Wizard for creating a new Drools
Project</para>
- </entry>
- <entry>
- <para>The wizard allows to create a sample project to
easy get started
- with Drools</para>
- </entry>
- <entry>
- <link
linkend="sample_drools_project">Creating a Sample Drools
- Project</link>
- </entry>
- </row>
-
- <row>
- <entry>
- <para>Wizards for creation new Drools
resources</para>
- </entry>
- <entry>
- <para>A set of wizards are provided with the Drools
Eclipse tools to
- quickly create a new Rule resource, a new Domain Specific
language,
- Decision Table and Business rule</para>
- </entry>
- <entry>
- <link linkend="creating_rule">Creating a New
Rule</link>
- <!--link linkend="creating_dsl">Creating a
New DSL</link>
- <link
linkend="creating_decision_table">Creating a New Decision
- Table</link>
- <link
linkend="creating_business_rule">Creating a New Business
- Rule</link-->
- </entry>
- </row>
-
- <row>
- <entry>
- <para>The Rule editor</para>
- </entry>
- <entry>
- <para>An editor that is aware of DRL syntax and
provides content
- assistance and synchronizing with the Outline
view</para>
- </entry>
- <entry>
- <link linkend="textual_rule_editor">The Rule
Editor</link>
- </entry>
- </row>
-
- <row>
- <entry>
- <para>The Domain Specific Language editor</para>
- </entry>
- <entry>
- <para>The editor allows to create and manage mappings
from users
- language to the rule language</para>
- </entry>
- <entry>
- <!--link linkend="dsl_editor">The Domain
Specific Language Editor</link-->
- </entry>
- </row>
-
- <row>
- <entry>
- <para>The Guided editor</para>
- </entry>
- <entry>
- <para>This guided editor for rules allows you to build
rules in a GUI
- driven fashion based on your object model</para>
- </entry>
- <entry>
- <!--link linkend="guided_editor">The Guided
Editor</link-->
- </entry>
- </row>
-
- <row>
- <entry>
- <para>The Rule Flow graphical editor</para>
- </entry>
- <entry>
- <para>The editor is meant for editing visual graphs
which represent a
- process (a rule flow)</para>
- </entry>
- <entry>
- <!--link linkend="ruleflow_editor">The Rule
Flow Graphical Editor</link-->
- </entry>
- </row>
-
- </tbody>
- </tgroup>
- </table>
- </section>
-
- <section>
- <title>Other relevant resources on the topic</title>
-
- <itemizedlist>
- <listitem>
- <para>Drools on <ulink
url="http://www.jboss.org/drools/">JBoss.org</ulink>&l...
- </listitem>
-
- <listitem>
- <para>
- <ulink
url="http://www.jboss.org/tools/">JBoss Tools
Home Page</ulink>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/">The latest
- JBossTools/JBDS documentation builds</ulink>
- </para>
- </listitem>
-
- <listitem>
- <para>All <property moreinfo="none">JBoss
Tools/JBDS</property> documentation you can find on the
- <ulink
url="http://docs.jboss.org/tools/">documentation release
- page</ulink>.</para>
- </listitem>
- </itemizedlist>
-
- </section>
-</chapter>
-
-
-<chapter id="create_new_project"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/reference/en/modules/create_new_project.xml"
xreflabel="create_new_project">
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Drools Tools</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Creating a New Drools Project</title>
-
- <para>In this chapter we are going to show you how to setup an executable
sample Drools project
- to start using rules immediately.</para>
-
-
-
- <section id="sample_drools_project">
- <title>Creating a Sample Drools Project</title>
-
- <para>First, we suggest that you use <property
moreinfo="none">Drools perspective</property> which is aimed
- at work with Drools specific resources.</para>
-
- <para>To create a new Drools project follow to <emphasis>
- <property moreinfo="none">File > New >
Drools Project</property>. </emphasis> This will open
- <property moreinfo="none">New Drools Project
wizard</property> like on the figure below.</para>
-
- <para>On the first page type the project name and click
- <emphasis><property
moreinfo="none">Next</property>.</emphasis></para>
-
- <figure float="0">
- <title>Creating a New Drools Project</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project1.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Next you have a choice to add some default artifacts to it like
sample rules, decision
- tables or ruleflows and Java classes for them. Let's select first two
check
- boxes and press <emphasis>
- <property moreinfo="none">Next</property>.
</emphasis></para>
-
- <figure float="0">
- <title>Selecting Drools Project Elements</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Next page asks you to specify a Drools runtime. If you have not yet
set it up, you
- should do this now by clicking the <emphasis>
- <property moreinfo="none">Configure Workspace
Settings</property>
- </emphasis> link.</para>
-
- <figure float="0">
- <title>Configuring Drools Runtime</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project3.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>You should see the <property
moreinfo="none">Preferences window</property> where you can configure
the
- workspace settings for Drools runtimes. To create a new runtime, press the
<emphasis>
- <property moreinfo="none">Add</property>
- </emphasis> button. The appeared dialog prompts you to enter a
- name for a new runtime and a path to the Drools runtime on your file
system.</para>
-
- <note>
- <title>Note:</title>
- <para>A Drools runtime is a collection of jars on your file system that
represent one
- specific release of the Drools project jars. While creating a new
runtime, you must
- either point to the release of your choice, or you can simply create a
new runtime
- on your file system from the jars included in the Drools Eclipse
plugin.</para>
- </note>
-
- <figure float="0">
- <title>Adding a New Drools Runtime</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project4.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Let's simply create a new Drools 5 runtime from the jars embedded
in the
- Drools Eclipse plugin. Thus, you should press <emphasis>
- <property moreinfo="none">Create a new Drools 5
runtime</property>
- </emphasis> button and select the folder where you want this runtime to
be created and
- hit <emphasis>
- <property
moreinfo="none">OK</property>.</emphasis></para>
-
- <para>You will see the newly created runtime show up in your list of Drools
runtimes. Check
- it and press <emphasis>
- <property
moreinfo="none">OK</property>.</emphasis></para>
-
- <figure float="0">
- <title>Selecting a Drools Runtime</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project5.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Now press <emphasis>
- <property moreinfo="none">Finish</property>
- </emphasis> to complete the project creation.</para>
-
- <figure float="0">
- <title>Completing the Drools Project Creation</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project6.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>This will setup a basic structure, classpath and sample rules and
test case to get you
- started.</para>
- </section>
-
-
- <section id="structure_overview">
- <title>Drools Project Structure Overview</title>
-
- <para>Now let's look at the structure of the organized project. In the
- <property moreinfo="none">Package
Explorer</property> you should see the following:</para>
-
- <figure float="0">
- <title>Drools Project in the Package Explorer</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project7.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The newly created project contains an example rule file
<emphasis>
- <property moreinfo="none">Sample.drl</property>
- </emphasis> in the <emphasis>
- <property
moreinfo="none">src/main/rules</property>
- </emphasis> directory and an example java file <emphasis>
- <property
moreinfo="none">DroolsTest.java</property>
- </emphasis> that can be used to execute the rules in a Drools engine in
the folder <emphasis>
- <property moreinfo="none">src/main/java</property>
- </emphasis>, in the <emphasis>
- <property moreinfo="none">com.sample</property>
- </emphasis> package. All the others jar's that are necessary during
execution
- are also added to the classpath in a custom classpath container called
<property moreinfo="none">Drools
- Library</property>.</para>
-
- <tip>
- <title>Tip:</title>
- <para>Rules do not have to be kept in Java projects at all, this is
just a convenience
- for people who are already using eclipse as their Java IDE.</para>
- </tip>
-
- </section>
-
- <section id="creating_rule">
- <title>Creating a New Rule</title>
-
- <para>Now we are going to add a new Rule resource to the
project.</para>
-
- <para>You can either create an empty text <emphasis>
- <property moreinfo="none">.drl</property>
- </emphasis> file or make use of the special <property
moreinfo="none">New Rule Resource
- wizard</property> to do it.</para>
-
- <para>To open the wizard follow to <emphasis>
- <property moreinfo="none">File > New > Rule
Resource</property>
- </emphasis> or use the menu with the JBoss Drools icon on the
toolbar.</para>
-
- <figure float="0">
- <title>Opening the New Rule Resource Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project8.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>On the wizard page first select <emphasis>
- <property moreinfo="none">/rules</property>
- </emphasis> as a top level directory to store your rules and type the
rule name. Next
- it's mandatory to specify the rule package name. It defines a namespace
that
- groups rules together.</para>
-
- <figure float="0">
- <title>New Rule Resource Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project9.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As a result the wizard generates a rule skeleton to get you
started.</para>
-
- <figure float="0">
- <title>New Rule</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/create_new_project/create_new_project10.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- </section>
-
-</chapter>
-
-
-<chapter id="debugging_rules"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/reference/en/modules/debugging_rules.xml"
xreflabel="debugging_rules">
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Drools Tools</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Debugging rules</title>
-
- <para>This chapter describes how to debug rules during the execution of your
Drools application.</para>
-
- <section id="creating_breakpoints">
- <title>Creating Breakpoints</title>
-
- <para>At first, we'll focus on how to add
- breakpoints in the consequences of your rules.</para>
-
- <para>Whenever such a breakpoint is uncounted
- during the execution of the rules, the execution is halted. It's possible then
inspect the
- variables known at that point and use any of the default debugging actions to decide
what
- should happen next (step over, continue, etc). To inspect
- the content of the working memory and agenda the Debug views can be
used.</para>
-
- <para>You can add/remove rule breakpoints in <emphasis>
- <property moreinfo="none">.drl</property>
- </emphasis> files in two ways, similar to adding breakpoints to Java
files:</para>
-
- <itemizedlist>
- <listitem>
- <para>Double-click the ruler in the <property
moreinfo="none">Rule editor</property> at the line
- where you want to add a breakpoint.</para>
- <tip>
- <title>Tip:</title>
- <para>Note that rule breakpoints can only be created in the consequence of a
- rule. Double-clicking on a line where no breakpoint is allowed will do
- nothing.</para>
- </tip>
- <para>A breakpoint can be removed by double-clicking the ruler once more.
</para>
- </listitem>
-
- <listitem>
- <para>Right-click the ruler. Select <emphasis>
- <property moreinfo="none">Toggle Breakpoint</property>
- </emphasis> action in the appeared popup menu. Clicking the action will add a
- breakpoint at the selected line or remove it if there is one already.</para>
- </listitem>
- </itemizedlist>
-
- <figure float="0">
- <title>Adding Breakpoints</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/debugging_rules/debugging_rules1.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The <property moreinfo="none">Debug
perspective</property> contains a <property
moreinfo="none">Breakpoints
- view</property> which can be used to see all defined breakpoints, get their
- properties, enable/disable or remove them, etc. You can switch to it by navigating to
<emphasis>
- <property moreinfo="none">Window > Perspective > Others
> Debug</property>.</emphasis></para>
- </section>
-
- <section id="debugging">
- <title>Debugging</title>
-
- <para>Drools breakpoints are only enabled if you debug your application as a
Drools
- Application. To do this you should perform one of the actions:</para>
-
- <itemizedlist>
- <listitem>
- <para>Select the main class of your application. Right click it and select
<emphasis>
- <property moreinfo="none">Debug As > Drools
Application</property>.</emphasis></para>
- </listitem>
- </itemizedlist>
- <figure float="0">
- <title>Debugging Drools Application</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/debugging_rules/debugging_rules2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <itemizedlist>
- <listitem>
- <para>Alternatively, you can also go to <emphasis>
- <property moreinfo="none">Debug As > Debug
Configuration</property>
- </emphasis> to open a new dialog for creating, managing and running debug
- configurations.</para>
-
- <para>Select the <emphasis>
- <property moreinfo="none">Drools Application</property>
- </emphasis> item in the left tree and click the <emphasis>
- <property moreinfo="none">New launch
configuration</property>
- </emphasis> button (leftmost icon in the toolbar above the tree). This will
- create a new configuration and already fill in some of the properties (like the
- Project and Main class) based on main class you selected in the beginning. All
- properties shown here are the same as any standard Java program.</para>
- </listitem>
- </itemizedlist>
-
- <figure float="0">
- <title>New Debug Configuration</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/debugging_rules/debugging_rules3.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <tip>
- <title>Tip:</title>
- <para>Remember to change the name of your debug configuration to something
meaningful.</para>
- </tip>
-
- <para>Next
- click the <emphasis>
- <property moreinfo="none">Debug</property>
- </emphasis> button on the bottom to start debugging your application.
</para>
-
- <para>After enabling the debugging, the application starts executing and will
halt if
- any breakpoint is encountered. This can be a Drools rule breakpoint, or any other
- standard Java breakpoint. Whenever a Drools rule breakpoint is encountered, the
- corresponding <emphasis>
- <property moreinfo="none">.drl</property></emphasis> file
is opened and the active line is highlighted. The Variables view
- also contains all rule parameters and their value. You can then use the default Java
- debug actions to decide what to do next (resume, terminate, step over, etc.). The
debug
- views can also be used to determine the contents of the working memory and agenda at
- that time as well (you don't have to select a working memory now, the current
executing
- working memory is automatically shown).</para>
-
-
- </section>
-</chapter>
-
-
-<chapter id="editors"
xml:base="file:///home/ochikvina/WORK/for_compare/jbosstools-3.1.0.CR1/drools/docs/reference/en/modules/editors.xml"
xreflabel="editors">
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Drools Tools</keyword>
- </keywordset>
- </chapterinfo>
-
- <title>Editors</title>
-
- <section id="textual_rule_editor">
- <title>The Rule Editor</title>
-
- <para>The <property moreinfo="none">Rule
editor</property> works on files that have a <emphasis>
- <property moreinfo="none">.drl</property>
- </emphasis> (or <emphasis>
- <property moreinfo="none">.rule</property>
- </emphasis> in the case of spreading rules across multiple rule files)
extension.</para>
-
- <figure float="0">
- <title>New Rule</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors1.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The editor follows the pattern of a normal text editor in eclipse,
with all the normal
- features of a text editor:</para>
-
- <itemizedlist>
- <listitem>
- <para>
- <link linkend="rules_editor_content_assist">Content
Assist</link>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <link linkend="rules_editor_code_folding">Code
Folding</link>
- </para>
- </listitem>
-
- <!-- <listitem>
- <para>
- <link linkend="rules_editor_error_reporting">Error
Reporting</link>
- </para>
- </listitem>-->
-
- <listitem>
- <para>
- <link
linkend="rules_editor_sync_with_outline">Synchronization with Outline
- View</link>
- </para>
- </listitem>
- </itemizedlist>
-
- <section id="rules_editor_content_assist">
- <title>Content Assist</title>
-
- <para>While working in the <property
moreinfo="none">Rule editor</property> you can get a content
- assistance the usual way by pressing <emphasis>
- <property moreinfo="none">Ctrl +
Space</property>.</emphasis></para>
-
- <para>Content Assist shows all possible keywords for the current cursor
position.</para>
-
- <figure float="0">
- <title>Content Assist Demonstration</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors2.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Content Assist inside of the <emphasis>
- <property moreinfo="none">Message</property>
- </emphasis> suggests all available fields.</para>
-
- <figure float="0">
- <title>Content Assist Demonstration</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors3.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- </section>
-
- <section id="rules_editor_code_folding">
- <title>Code Folding</title>
-
- <para>Code folding is also available in the <property
moreinfo="none">Rule editor</property>. To
- hide/show sections of the file use the icons with minus/plus on the left
vertical
- line of the editor.</para>
-
- <figure float="0">
- <title>Code Folding</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors4.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- </section>
-
- <!--section id="rules_editor_error_reporting">
- <title>Error Reporting</title>
-
- </section-->
-
- <section id="rules_editor_sync_with_outline">
- <title>Synchronization with Outline View</title>
-
- <para>The <property moreinfo="none">Rule
editor</property> works in synchronization with the
- <property moreinfo="none">Outline
view</property> which shows the structure of the rules,
- imports in the file and also globals and functions if the file has
them.</para>
-
- <figure float="0">
- <title>Synchronization with Outline View</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors5.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The view is updated on save. It provides a quick way of
navigating around rules by
- names in a file which may have hundreds of rules. The items are sorted
- alphabetically by default.</para>
- </section>
-
- <section id="rete_view">
- <title>The Rete Tree View</title>
-
- <para>The <property moreinfo="none">Rete Tree
view</property> shows you the current Rete Network for
- your <emphasis>
- <property moreinfo="none">.drl</property>
- </emphasis> file. Just click on the <emphasis>
- <property moreinfo="none">Rete Tree
tab</property>
- </emphasis> at the bottom of the <property
moreinfo="none">Rule editor</property>.</para>
-
- <figure float="0">
- <title>Rete Tree</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors6.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Afterwards you can generate the current Rete Network
visualization. You can push
- and pull the nodes to arrange your optimal network
overview.</para>
- <para>If you got hundreds of nodes, select some of them with a frame.
Then you can pull
- groups of them.</para>
-
- <figure float="0">
- <title>Selecting the nodes in the Rete Tree with
Frame</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors7.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>You can zoom in and out the Rete tree in case not all nodes are
shown in the
- current view. For this use the combo box or "+" and
"-" icons on the toolbar.</para>
-
- <figure float="0">
- <title>Rete Tree Zooming</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors8.png"></imagedata>
- </imageobject>
- </mediaobject>
- </figure>
-
- <note>
- <title>Note:</title>
-
- <para>The <property moreinfo="none">Rete Tree
view</property> works only in Drools Rule Projects,
- where the Drools Builder is set in the project
properties.</para>
- </note>
- <para>We hope, this guide helped you to get started with the JBoss BPMN
Convert module. Besides, for additional information you are welcome on <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
forum</ulink>.</para>
- </section>
-
- </section>
-
-</chapter>
-
-
-
-</book>
+]><book
xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+
+ <bookinfo>
+ <title>Drools Tools Reference Guide</title>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/jbosstools_logo.png"
format="PNG"></imagedata>
+ </imageobject>
+ <imageobject role="html">
+ <imagedata></imagedata>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+
<author><firstname>Olga</firstname><surname>Chikvina</surname></author>
+
+ <copyright>
+ <year>2007</year>
+ <year diffmk:change="added"><diffmk:wrapper
diffmk:change="added">2008</diffmk:wrapper></year>
+ <year>2009</year>
+ <year
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">2010</diffmk:wrapper></year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 5.1.0.trunk
+ </releaseinfo>
+<abstract>
+ <title></title>
+ <para>
+ <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/en/as/pdf/AS_...
version</ulink>
+ </para>
+</abstract>
+
+ </bookinfo>
+
+
+ <toc></toc>
+
+<chapter id="introduction"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/reference/en/modules/introduction.xml"
xreflabel="introduction">
+ <title>Introduction</title>
+
+ <section id="whatisDrools">
+ <title>What is Drools?</title>
+
+ <para><property moreinfo="none">Drools</property> is
a business rule management system (BRMS) with a forward
+ chaining inference based rules engine, more correctly known as a production
rule system,
+ using an enhanced implementation of the Rete algorithm.</para>
+
+ <para> In this guide we are going to get you familiar with Drools Eclipse
plugin which
+ provides development tools for creating, executing and debugging Drools
processes and
+ rules from within Eclipse.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>It is assumed that you has some familiarity with rule engines and
Drools in
+ particular. If no, we suggest that you look carefully through the
<ulink
url="http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_sing...
Documentation</ulink>.</para>
+ </note>
+
+ <para><property moreinfo="none">Drools
Tools</property> come bundled with <property moreinfo="none">JBoss
Tools</property>
+ set of Eclipse plugins. How to install <property
moreinfo="none">JBoss Tools</property> you can find in
+ the <ulink
url="../../GettingStartedGuide/html_single/index.html#JBossToolsInstall">Getting
Started Guide</ulink>.</para>
+ </section>
+
+ <section id="drools_key_features">
+ <title>Drools Tools Key Features</title>
+
+ <para>The following table lists all valuable features of the <property
moreinfo="none">Drools
+ Tools</property>.</para>
+ <table>
+ <title>Key Functionality of Drools Tools</title>
+ <tgroup cols="3">
+
+ <colspec align="left" colnum="1"
colwidth="1*"></colspec>
+ <colspec colnum="2"
colwidth="5*"></colspec>
+ <colspec align="left" colnum="3"
colwidth="1*"></colspec>
+
+ <thead>
+ <row>
+ <entry>Feature</entry>
+ <entry>Benefit</entry>
+ <entry>Chapter</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>
+ <para>Wizard for creating a new Drools
Project</para>
+ </entry>
+ <entry>
+ <para>The wizard allows to create a sample project to
easy get started
+ with Drools</para>
+ </entry>
+ <entry>
+ <link
linkend="sample_drools_project">Creating a Sample Drools
+ Project</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>Wizards for creation new Drools
resources</para>
+ </entry>
+ <entry>
+ <para>A set of wizards are provided with the Drools
Eclipse tools to
+ quickly create a new Rule resource, a new Domain Specific
language,
+ Decision Table and Business rule</para>
+ </entry>
+ <entry>
+ <link linkend="creating_rule">Creating a New
Rule</link>
+ <!--link linkend="creating_dsl">Creating a
New DSL</link>
+ <link
linkend="creating_decision_table">Creating a New Decision
+ Table</link>
+ <link
linkend="creating_business_rule">Creating a New Business
+ Rule</link-->
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>The Rule editor</para>
+ </entry>
+ <entry>
+ <para>An editor that is aware of DRL syntax and
provides content
+ assistance and synchronizing with the Outline
view</para>
+ </entry>
+ <entry>
+ <link linkend="textual_rule_editor">The Rule
Editor</link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>The Domain Specific Language editor</para>
+ </entry>
+ <entry>
+ <para>The editor allows to create and manage mappings
from users
+ language to the rule language</para>
+ </entry>
+ <entry>
+ <link diffmk:change="added"
linkend="dsl_editor"><diffmk:wrapper
diffmk:change="added">The Domain Specific Language
Editor</diffmk:wrapper></link>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>The Guided editor</para>
+ </entry>
+ <entry>
+ <para>This guided editor for rules allows you to build
rules in a GUI
+ driven fashion based on your object model</para>
+ </entry>
+ <entry>
+ <!--link linkend="guided_editor">The Guided
Editor</link-->
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>The Rule Flow graphical editor</para>
+ </entry>
+ <entry>
+ <para>The editor is meant for editing visual graphs
which represent a
+ process (a rule flow)</para>
+ </entry>
+ <entry>
+ <link diffmk:change="added"
linkend="ruleflow_editor"><diffmk:wrapper
diffmk:change="added">The Rule Flow Graphical
Editor</diffmk:wrapper></link>
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Drools on <ulink
url="http://www.jboss.org/drools/">JBoss.org</ulink>&l...
+ </listitem>
+
+ <listitem>
+ <para>
+ <ulink
url="http://www.jboss.org/tools/">JBoss Tools
Home Page</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/">The latest
+ JBossTools/JBDS documentation builds</ulink>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>All <property moreinfo="none">JBoss
Tools/JBDS</property> documentation you can find on the
+ <ulink
url="http://docs.jboss.org/tools/">documentation release
+ page</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+
+ </section>
+</chapter>
+
+
+<chapter id="create_new_project"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/reference/en/modules/create_new_project.xml"
xreflabel="create_new_project">
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Drools Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Creating a New Drools Project</title>
+
+ <para>In this chapter we are going to show you how to setup an executable
sample Drools project
+ to start using rules immediately.</para>
+
+
+
+ <section id="sample_drools_project">
+ <title>Creating a Sample Drools Project</title>
+
+ <para>First, we suggest that you use <property
moreinfo="none">Drools perspective</property> which is aimed
+ at work with Drools specific resources.</para>
+
+ <para>To create a new Drools project follow to <emphasis>
+ <property moreinfo="none">File > New >
Drools Project</property>. </emphasis> This will open
+ <property moreinfo="none">New Drools Project
wizard</property> like on the figure below.</para>
+
+ <para>On the first page type the project name and click
+ <emphasis><property
moreinfo="none">Next</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Creating a New Drools Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next you have a choice to add some default artifacts to it like
sample rules, decision
+ tables or ruleflows and Java classes for them. Let's select first two
check
+ boxes and press <emphasis>
+ <property moreinfo="none">Next</property>.
</emphasis></para>
+
+ <figure float="0">
+ <title>Selecting Drools Project Elements</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next page asks you to specify a Drools runtime. If you have not yet
set it up, you
+ should do this now by clicking the <emphasis>
+ <property moreinfo="none">Configure Workspace
Settings</property>
+ </emphasis> link.</para>
+
+ <figure float="0">
+ <title>Configuring Drools Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You should see the <property
moreinfo="none">Preferences window</property> where you can configure
the
+ workspace settings for Drools runtimes. To create a new runtime, press the
<emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> button. The appeared dialog prompts you to enter a
+ name for a new runtime and a path to the Drools runtime on your file
system.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>A Drools runtime is a collection of jars on your file system that
represent one
+ specific release of the Drools project jars. While creating a new
runtime, you must
+ either point to the release of your choice, or you can simply create a
new runtime
+ on your file system from the jars included in the Drools Eclipse
plugin.</para>
+ </note>
+
+ <figure float="0">
+ <title>Adding a New Drools Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Let's simply create a new Drools 5 runtime from the jars embedded
in the
+ Drools Eclipse plugin. Thus, you should press <emphasis>
+ <property moreinfo="none">Create a new Drools 5
runtime</property>
+ </emphasis> button and select the folder where you want this runtime to
be created and
+ hit <emphasis>
+ <property
moreinfo="none">OK</property>.</emphasis></para>
+
+ <para>You will see the newly created runtime show up in your list of Drools
runtimes. Check
+ it and press <emphasis>
+ <property
moreinfo="none">OK</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Selecting a Drools Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now press <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> to complete the project creation.</para>
+
+ <figure float="0">
+ <title>Completing the Drools Project Creation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>This will setup a basic structure, classpath and sample rules and
test case to get you
+ started.</para>
+ </section>
+
+
+ <section id="structure_overview">
+ <title>Drools Project Structure Overview</title>
+
+ <para>Now let's look at the structure of the organized project. In the
+ <property moreinfo="none">Package
Explorer</property> you should see the following:</para>
+
+ <figure float="0">
+ <title>Drools Project in the Package Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The newly created project contains an example rule file
<emphasis>
+ <property moreinfo="none">Sample.drl</property>
+ </emphasis> in the <emphasis>
+ <property
moreinfo="none">src/main/rules</property>
+ </emphasis> directory and an example java file <emphasis>
+ <property
moreinfo="none">DroolsTest.java</property>
+ </emphasis> that can be used to execute the rules in a Drools engine in
the folder <emphasis>
+ <property moreinfo="none">src/main/java</property>
+ </emphasis>, in the <emphasis>
+ <property moreinfo="none">com.sample</property>
+ </emphasis> package. All the others jar's that are necessary during
execution
+ are also added to the classpath in a custom classpath container called
<property moreinfo="none">Drools
+ Library</property>.</para>
+
+ <tip>
+ <title>Tip:</title>
+ <para>Rules do not have to be kept in Java projects at all, this is
just a convenience
+ for people who are already using eclipse as their Java IDE.</para>
+ </tip>
+
+ </section>
+
+ <section id="creating_rule">
+ <title>Creating a New Rule</title>
+
+ <para>Now we are going to add a new Rule resource to the
project.</para>
+
+ <para>You can either create an empty text <emphasis>
+ <property moreinfo="none">.drl</property>
+ </emphasis> file or make use of the special <property
moreinfo="none">New Rule Resource
+ wizard</property> to do it.</para>
+
+ <para>To open the wizard follow to <emphasis>
+ <property moreinfo="none">File > New > Rule
Resource</property>
+ </emphasis> or use the menu with the JBoss Drools icon on the
toolbar.</para>
+
+ <figure float="0">
+ <title>Opening the New Rule Resource Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the wizard page first select <emphasis>
+ <property moreinfo="none">/rules</property>
+ </emphasis> as a top level directory to store your rules and type the
rule name. Next
+ it's mandatory to specify the rule package name. It defines a namespace
that
+ groups rules together.</para>
+
+ <figure float="0">
+ <title>New Rule Resource Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As a result the wizard generates a rule skeleton to get you
started.</para>
+
+ <figure float="0">
+ <title>New Rule</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_project/create_new_project10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="debugging_rules"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/reference/en/modules/debugging_rules.xml"
xreflabel="debugging_rules">
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Drools Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Debugging rules</title>
+
+ <para>This chapter describes how to debug rules during the execution of your
Drools application.</para>
+
+ <section id="creating_breakpoints">
+ <title>Creating Breakpoints</title>
+
+ <para>At first, we'll focus on how to add
+ breakpoints in the consequences of your rules.</para>
+
+ <para>Whenever such a breakpoint is uncounted
+ during the execution of the rules, the execution is halted. It's possible then
inspect the
+ variables known at that point and use any of the default debugging actions to decide
what
+ should happen next (step over, continue, etc). To inspect
+ the content of the working memory and agenda the Debug views can be
used.</para>
+
+ <para>You can add/remove rule breakpoints in <emphasis>
+ <property moreinfo="none">.drl</property>
+ </emphasis> files in two ways, similar to adding breakpoints to Java
files:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Double-click the ruler in the <property
moreinfo="none">Rule editor</property> at the line
+ where you want to add a breakpoint.</para>
+ <tip>
+ <title>Tip:</title>
+ <para>Note that rule breakpoints can only be created in the consequence of a
+ rule. Double-clicking on a line where no breakpoint is allowed will do
+ nothing.</para>
+ </tip>
+ <para>A breakpoint can be removed by double-clicking the ruler once more.
</para>
+ </listitem>
+
+ <listitem>
+ <para>Right-click the ruler. Select <emphasis>
+ <property moreinfo="none">Toggle Breakpoint</property>
+ </emphasis> action in the appeared popup menu. Clicking the action will add a
+ breakpoint at the selected line or remove it if there is one already.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Adding Breakpoints</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/debugging_rules/debugging_rules1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property moreinfo="none">Debug
perspective</property> contains a <property
moreinfo="none">Breakpoints
+ view</property> which can be used to see all defined breakpoints, get their
+ properties, enable/disable or remove them, etc. You can switch to it by navigating to
<emphasis>
+ <property moreinfo="none">Window > Perspective > Others
> Debug</property>.</emphasis></para>
+ </section>
+
+ <section id="debugging">
+ <title>Debugging</title>
+
+ <para>Drools breakpoints are only enabled if you debug your application as a
Drools
+ Application. To do this you should perform one of the actions:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Select the main class of your application. Right click it and select
<emphasis>
+ <property moreinfo="none">Debug As > Drools
Application</property>.</emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Debugging Drools Application</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/debugging_rules/debugging_rules2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Alternatively, you can also go to <emphasis>
+ <property moreinfo="none">Debug As > Debug
Configuration</property>
+ </emphasis> to open a new dialog for creating, managing and running debug
+ configurations.</para>
+
+ <para>Select the <emphasis>
+ <property moreinfo="none">Drools Application</property>
+ </emphasis> item in the left tree and click the <emphasis>
+ <property moreinfo="none">New launch
configuration</property>
+ </emphasis> button (leftmost icon in the toolbar above the tree). This will
+ create a new configuration and already fill in some of the properties (like the
+ Project and Main class) based on main class you selected in the beginning. All
+ properties shown here are the same as any standard Java program.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>New Debug Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/debugging_rules/debugging_rules3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <tip>
+ <title>Tip:</title>
+ <para>Remember to change the name of your debug configuration to something
meaningful.</para>
+ </tip>
+
+ <para>Next
+ click the <emphasis>
+ <property moreinfo="none">Debug</property>
+ </emphasis> button on the bottom to start debugging your application.
</para>
+
+ <para>After enabling the debugging, the application starts executing and will
halt if
+ any breakpoint is encountered. This can be a Drools rule breakpoint, or any other
+ standard Java breakpoint. Whenever a Drools rule breakpoint is encountered, the
+ corresponding <emphasis>
+ <property moreinfo="none">.drl</property></emphasis> file
is opened and the active line is highlighted. The Variables view
+ also contains all rule parameters and their value. You can then use the default Java
+ debug actions to decide what to do next (resume, terminate, step over, etc.). The
debug
+ views can also be used to determine the contents of the working memory and agenda at
+ that time as well (you don't have to select a working memory now, the current
executing
+ working memory is automatically shown).</para>
+
+
+ </section>
+</chapter>
+
+
+<chapter id="editors"
xml:base="file:///home/vchukhutsina/repos/ochik_jboss/drools/docs/reference/en/modules/editors.xml"
xreflabel="editors">
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Drools Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Editors</title>
+ <section diffmk:change="added" id="dsl_editor">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">DSL Editor</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">A domain-specific language is a set of custom rules,
+ that is created specifically to solve problems in a particular domain
+ and is not intended to be able to solve problems outside it.
+ A DSL's configuration is stored in plain text.
+ </diffmk:wrapper></para>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">In Drools this configuration is presented by
</diffmk:wrapper><property diffmk:change="added"
moreinfo="none"><diffmk:wrapper
diffmk:change="added">.dsl</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added">
+ files that can be created by </diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">right click on the
project->New->Other->Drools->Domain Specific
Language</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added">.</diffmk:wrapper></para>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">DSL Editor is a default editor for
</diffmk:wrapper><property diffmk:change="added"
moreinfo="none"><diffmk:wrapper
diffmk:change="added">.dsl</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> files:</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">DSL Editor</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">In the table below all the components of the DSL Editor
page are described:</diffmk:wrapper></para>
+ <table diffmk:change="added">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">DSL Editor
Components.</diffmk:wrapper></title>
+ <tgroup cols="2" diffmk:change="added">
+ <colspec align="left" colnum="1"
colwidth="1*" diffmk:change="added"></colspec>
+ <colspec align="left" colnum="2"
colwidth="3*" diffmk:change="added"></colspec>
+
+ <thead diffmk:change="added">
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Components</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Description</diffmk:wrapper></entry>
+ </row>
+ </thead>
+ <tbody diffmk:change="added">
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Description</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">User's comments on a certain language message
mapping</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Table of language message
mappings</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">The table is divided into 4 rows:
+ </diffmk:wrapper><itemizedlist
diffmk:change="added" id="rows">
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Language
Expression</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :expression you want to use as a
rule</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Rule Language
Mapping</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :the implementation of the rules.This means that to
this language expression the rule will be compiled
+ by the rule engine
compiler.</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Object</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :name of the
object</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Scope</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :indicates where the expression is
+ targeted: is it for the "condition" part of the
rule ,"consequence" part,
etc.</diffmk:wrapper></para></listitem>
+ </itemizedlist><diffmk:wrapper
diffmk:change="added">
+ By clicking on some row's header you can sort the lines in
the table according to the clicked row.
+ By double clicking on the line </diffmk:wrapper><link
diffmk:change="added" linkend="edit_wizard"><diffmk:wrapper
diffmk:change="added">Edit language mapping
Wizard</diffmk:wrapper></link><diffmk:wrapper
diffmk:change="added"> will be open.
+ </diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Expression</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Shows the language expression of the selected table
line(language message mapping).</diffmk:wrapper></entry>
+ </row>
+
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Mapping</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Shows the rule of language mapping for the selected
table line(language message mapping).</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Object</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Shows the object for the selected table line(language
message mapping)</diffmk:wrapper></entry>
+ </row>
+
+ <row diffmk:change="added">
+ <entry diffmk:change="added"
id="sort"><diffmk:wrapper diffmk:change="added">Sort
By</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Using this option you can change the type of lines
sorting
+ in the table of language message mappings.To do this select
from the drop down lins the method
+ of sorting you want and click
</diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Sort</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> button.</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Buttons</diffmk:wrapper></entry>
+ <entry diffmk:change="added"><itemizedlist
diffmk:change="added">
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Edit</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :by clicking the button users can edit
+ selected in the table of language message mappings
lines.For more information look
+ </diffmk:wrapper><link
diffmk:change="added" linkend="edit_wizard"><diffmk:wrapper
diffmk:change="added">Edit language mapping
Wizard</diffmk:wrapper></link><diffmk:wrapper
diffmk:change="added">section.</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Remove</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :if you click the button the selected mapping line
will be deleted. </diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Add</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :with this button you can add new mapping lines to the
table.For more information look
+ </diffmk:wrapper><link
diffmk:change="added" linkend="add_wizard"><diffmk:wrapper
diffmk:change="added">Add language mapping
Wizard</diffmk:wrapper></link><diffmk:wrapper
diffmk:change="added">section.
</diffmk:wrapper></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Sort</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> : please, for more information go
</diffmk:wrapper><link diffmk:change="added"
linkend="sort"><diffmk:wrapper
diffmk:change="added">here</diffmk:wrapper></link></para></listitem>
+ <listitem diffmk:change="added"><para
diffmk:change="added"><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Copy</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> :with this button you can add new mapping lines to the
table
+ in which all the information will be copied from the
selected mapping line.</diffmk:wrapper></para></listitem>
+ </itemizedlist>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <section diffmk:change="added" id="edit_wizard">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Edit language mapping
Wizard</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">This wizard can be opened by double clicking some line
+ in the table of language message mappings or by clicking the
</diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Edit</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added">button.</diffmk:wrapper></para>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">On the picture below you can see all the options,Edit
language mapping Wizard allow to change.</diffmk:wrapper></para>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Their names as well as the meaning of the options are
correspond to the </diffmk:wrapper><link diffmk:change="added"
linkend="rows"><diffmk:wrapper
diffmk:change="added">rows</diffmk:wrapper></link><diffmk:wrapper
diffmk:change="added"> of the table.</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Edit language mapping
Wizard</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1c.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">To change the mapping a user should edit the otions he
want and finally click </diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Ok</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added">.</diffmk:wrapper></para>
+ </section>
+ <section diffmk:change="added" id="add_wizard">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Add language mapping
Wizard</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">This wizard is equal to </diffmk:wrapper><link
diffmk:change="added" linkend="edit_wizard"><diffmk:wrapper
diffmk:change="added">Edit language mapping
Wizard</diffmk:wrapper></link><diffmk:wrapper
diffmk:change="added">.
+ It can be opened by clicking the </diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Add</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> button.
+ </diffmk:wrapper></para>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">The only difference is that instead of editing the
information you should enter new one.</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Add language mapping
Wizard</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1b.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+ <section diffmk:change="added" id="ruleflow_editor">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Flow Editor</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Drools tools also provide some functionality to define
the order in
+ which rules should be executed.Ruleflow file allows you to specify
+ the order in which rule sets should be evaluated using a flow chart.
+ So you can define which rule sets should be evaluated in sequence or in
parallel as well as
+ specify conditions under which rule sets should be
evaluated.</diffmk:wrapper></para>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Ruleflows can be set only by using the graphical flow
editor which is part of the Drools plugin for Eclipse.
+ Once you have set up a Drools project,you can start adding ruleflows.
+ Add a ruleflow file(.rf) by clicking on the project and selecting
"</diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">New -> Other...->Flow
File</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added">":</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">RuleFlow file
creation</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1f.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">By default these ruleflow files (.rf) are opened in the
graphical Flow editor.
+ You can see it on the picture below.</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Flow Editor</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1g.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">The Flow editor consists of a
</diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper
diffmk:change="added">palette</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added">, a </diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">canvas</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added">
+ and an </diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">outline</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> view. To add new elements to the canvas, select the
+ element you would like to create in the palette and then add it to the canvas
by clicking on the preferred location.
+ </diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Adding an element to the
canvas</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1e.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Clicking on the Select option in the palette and
+ then on the element in your ruleflow allows you to
+ view and set the properties of that element in the properies
view.</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Properties view</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors1d.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Outline View is useful for big complex schemata where
not all nodes are seen at one time.
+ So using your Outline view you can easly navigate between parts of a schema.
</diffmk:wrapper></para>
+ <figure diffmk:change="added" float="0">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Outline view
usage</diffmk:wrapper></title>
+ <mediaobject diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/editors9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <section diffmk:change="added">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Different types of control elements in Flow
Palette</diffmk:wrapper></title>
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Flow editor supports three types of control elements.
+ They are:</diffmk:wrapper></para>
+ <table diffmk:change="added"> <title
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Flow Palette Components.Part
1</diffmk:wrapper></title>
+ <tgroup cols="3" diffmk:change="added">
+ <colspec align="left" colnum="1"
colwidth="1*" diffmk:change="added"></colspec>
+ <colspec align="left" colnum="2"
colwidth="1*" diffmk:change="added"></colspec>
+ <colspec align="left" colnum="3"
colwidth="3*" diffmk:change="added"></colspec>
+
+ <thead diffmk:change="added">
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Component Picture</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Component
Name</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Description</diffmk:wrapper></entry>
+ </row>
+ </thead>
+ <tbody diffmk:change="added">
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon7.png"></imagedata>
+
</imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Select</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Select a node on the
canvas</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon8.png"></imagedata>
+
</imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Marquee</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Is used for selecting a group of
elements</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon9.png"></imagedata>
+
</imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Sequence Flow</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Use this element to join two elements on the
canvas</diffmk:wrapper></entry>
+ </row>
+ </tbody>
+
+ </tgroup>
+ </table>
+ </section>
+
+ <section diffmk:change="added">
+ <title diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Different types of nodes in Flow
Palette</diffmk:wrapper></title>
+
+ <para diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Currently, ruleflow supports seven types of nodes.
+ In the table below you can find information about
them:</diffmk:wrapper></para>
+ <table diffmk:change="added"> <title
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Flow Palette Components.Part
2.</diffmk:wrapper></title>
+ <tgroup cols="3" diffmk:change="added">
+ <colspec align="left" colnum="1"
colwidth="1*" diffmk:change="added"></colspec>
+ <colspec align="left" colnum="2"
colwidth="1*" diffmk:change="added"></colspec>
+ <colspec align="left" colnum="3"
colwidth="3*" diffmk:change="added"></colspec>
+
+ <thead diffmk:change="added">
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Component Picture</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Component
Name</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Description</diffmk:wrapper></entry>
+ </row>
+
+ </thead>
+ <tbody diffmk:change="added">
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon1.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Start Event</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">The start of the ruleflow. A ruleflow should have
exactly
+ one start node. The </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Start
Event</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> can not have incoming
+ connections and should have one outgoing connection.
Whenever the ruleflow process is started,
+ the executing is started here and is automatically
proceeded to the first node
+ linked to this </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Start
Event</diffmk:wrapper></property></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon2.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">End Event</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper diffmk:change="added">A
ruleflow file can have one or more </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">End
Events</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added">.
+ The </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">End
Event</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> node should have one incoming connection
+ and can not have outgoing connections. When an end node
is reached in the ruleflow,
+ the ruleflow is terminated (including other remaining
active nodes when parallelism
+ is used).</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon3.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Rule Task</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">represents a set of rules. A
</diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Rule
Task</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> node should have one
+ incoming connection and one outgoing connection.
+ The </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">RuleFlowGroup</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> property which is used to specify the name of the
+ ruleflow-group that represents the set of rules of this
</diffmk:wrapper><emphasis diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Rule
Task</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> node.
+ When a </diffmk:wrapper><emphasis
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Rule
Task</diffmk:wrapper></emphasis><diffmk:wrapper
diffmk:change="added"> node is reached in the ruleflow, the engine will
start
+ executing rules that are a part of the corresponding
ruleflow-group.
+ Execution automatically continues to the next node when
there are no
+ more active rules in this ruleflow-group.
+ </diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon4.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Gateway[diverge]</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">allows you to create branches in your ruleflow.
+ A </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Gateway[diverge]</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> node should have one incoming connection and two or
more
+ outgoing
connections.</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon4.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Gateway[converge]</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">allows you to synchronize multiple branches.
+ A </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Gateway[diverge]</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added">node should have two or more incoming connections and
one
+ outgoing
connection.</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon5.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Reusable
Sup-Process</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">represents the invocation of another ruleflow from this
ruleflow.
+ A subflow node should have one incoming connection and
one outgoing connection.
+ It contains the property "processId" which
specifies the id of the process that should be executed.
+ When a </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Reusable
Sup-Process</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> node is reached in the ruleflow, the engine will start
the process with the given id.
+ The subflow node will only continue if that subflow
process has terminated its execution.
+ Note that the subflow process is started as an
independent process,
+ which means that the subflow process will not be
terminated if this process reaches an end node.</diffmk:wrapper></entry>
+ </row>
+ <row diffmk:change="added">
+ <entry
diffmk:change="added"><inlinemediaobject
diffmk:change="added">
+ <imageobject diffmk:change="added">
+ <imagedata diffmk:change="added"
fileref="images/editors/icon6.png"></imagedata>
+ </imageobject></inlinemediaobject></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">Script Task</diffmk:wrapper></entry>
+ <entry
diffmk:change="added"><diffmk:wrapper
diffmk:change="added">represents an action that should be executed in this
ruleflow.
+ An </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Script
Task</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> node should have one incoming connection and one
outgoing
+ connection. It contains the property "action"
which specifies the action that should be executed.
+ When a </diffmk:wrapper><property
diffmk:change="added" moreinfo="none"><diffmk:wrapper
diffmk:change="added">Script
Task</diffmk:wrapper></property><diffmk:wrapper
diffmk:change="added"> node is reached in the ruleflow, it will execute the
action and
+ continue with the next node. An action should be
specified as a piece of (valid)
+ MVEL code. </diffmk:wrapper></entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ </section>
+
+ <section id="textual_rule_editor">
+ <title>The Rule Editor</title>
+
+ <para>The <property moreinfo="none">Rule
editor</property> works on files that have a <emphasis>
+ <property moreinfo="none">.drl</property>
+ </emphasis> (or <emphasis>
+ <property moreinfo="none">.rule</property>
+ </emphasis> in the case of spreading rules across multiple rule files)
extension.</para>
+
+ <figure float="0">
+ <title>New Rule</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The editor follows the pattern of a normal text editor in eclipse,
with all the normal
+ features of a text editor:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="rules_editor_content_assist">Content
Assist</link>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <link linkend="rules_editor_code_folding">Code
Folding</link>
+ </para>
+ </listitem>
+
+ <!-- <listitem>
+ <para>
+ <link linkend="rules_editor_error_reporting">Error
Reporting</link>
+ </para>
+ </listitem>-->
+
+ <listitem>
+ <para>
+ <link
linkend="rules_editor_sync_with_outline">Synchronization with Outline
+ View</link>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section id="rules_editor_content_assist">
+ <title>Content Assist</title>
+
+ <para>While working in the <property
moreinfo="none">Rule editor</property> you can get a content
+ assistance the usual way by pressing <emphasis>
+ <property moreinfo="none">Ctrl +
Space</property>.</emphasis></para>
+
+ <para>Content Assist shows all possible keywords for the current cursor
position.</para>
+
+ <figure float="0">
+ <title>Content Assist Demonstration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Content Assist inside of the <emphasis>
+ <property moreinfo="none">Message</property>
+ </emphasis> suggests all available fields.</para>
+
+ <figure float="0">
+ <title>Content Assist Demonstration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="rules_editor_code_folding">
+ <title>Code Folding</title>
+
+ <para>Code folding is also available in the <property
moreinfo="none">Rule editor</property>. To
+ hide/show sections of the file use the icons with minus/plus on the left
vertical
+ line of the editor.</para>
+
+ <figure float="0">
+ <title>Code Folding</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <!--section id="rules_editor_error_reporting">
+ <title>Error Reporting</title>
+
+ </section-->
+
+ <section id="rules_editor_sync_with_outline">
+ <title>Synchronization with Outline View</title>
+
+ <para>The <property moreinfo="none">Rule
editor</property> works in synchronization with the
+ <property moreinfo="none">Outline
view</property> which shows the structure of the rules,
+ imports in the file and also globals and functions if the file has
them.</para>
+
+ <figure float="0">
+ <title>Synchronization with Outline View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The view is updated on save. It provides a quick way of
navigating around rules by
+ names in a file which may have hundreds of rules. The items are sorted
+ alphabetically by default.</para>
+ </section>
+
+ <section id="rete_view">
+ <title>The Rete Tree View</title>
+
+ <para>The <property moreinfo="none">Rete Tree
view</property> shows you the current Rete Network for
+ your <emphasis>
+ <property moreinfo="none">.drl</property>
+ </emphasis> file. Just click on the <emphasis>
+ <property moreinfo="none">Rete Tree
tab</property>
+ </emphasis> at the bottom of the <property
moreinfo="none">Rule editor</property>.</para>
+
+ <figure float="0">
+ <title>Rete Tree</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Afterwards you can generate the current Rete Network
visualization. You can push
+ and pull the nodes to arrange your optimal network
overview.</para>
+ <para>If you got hundreds of nodes, select some of them with a frame.
Then you can pull
+ groups of them.</para>
+
+ <figure float="0">
+ <title>Selecting the nodes in the Rete Tree with
Frame</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can zoom in and out the Rete tree in case not all nodes are
shown in the
+ current view. For this use the combo box or "+" and
"-" icons on the toolbar.</para>
+
+ <figure float="0">
+ <title>Rete Tree Zooming</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/editors/editors8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+
+ <para>The <property moreinfo="none">Rete Tree
view</property> works only in Drools Rule Projects,
+ where the Drools Builder is set in the project
properties.</para>
+ </note>
+ <para>We hope, this guide helped you to get started with the JBoss BPMN
Convert module.
+ Besides, for additional information you are welcome on
+ <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
forum</ulink>.</para>
+ </section>
+
+ </section>
+
+</chapter>
+
+
+
+</book>