Author: mcaspers
Date: 2011-01-19 22:46:55 -0500 (Wed, 19 Jan 2011)
New Revision: 28421
Modified:
trunk/drools/docs/reference/en-US/Revision_History.xml
trunk/drools/docs/reference/en-US/debugging_rules.xml
trunk/drools/docs/reference/en-US/editors.xml
Log:
General Updates
Modified: trunk/drools/docs/reference/en-US/Revision_History.xml
===================================================================
--- trunk/drools/docs/reference/en-US/Revision_History.xml 2011-01-20 03:17:51 UTC (rev
28420)
+++ trunk/drools/docs/reference/en-US/Revision_History.xml 2011-01-20 03:46:55 UTC (rev
28421)
@@ -2,31 +2,51 @@
<!DOCTYPE Book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
<appendix>
- <title>Revision History</title>
- <simpara>
- <revhistory>
- <revision>
- <revnumber>1</revnumber><date>Wed Jun 09
2010</date>
- <author>
- <firstname>JBoss
Tools</firstname><surname>Documentation
Team</surname><email>irooskov(a)redhat.com</email>
- </author>
- <revdescription>
- <simplelist>
- <member>General updates</member>
- </simplelist>
- </revdescription>
- </revision>
- <revision>
- <revnumber>0</revnumber><date>Fri Nov 20
2009</date>
- <author>
-
<firstname>Isaac</firstname><surname>Rooskov</surname><email>irooskov(a)redhat.com</email>
- </author>
- <revdescription>
- <simplelist>
- <member>Initial creation of book by
publican</member>
- </simplelist>
- </revdescription>
- </revision>
- </revhistory>
- </simpara>
+ <title>Revision History</title>
+ <simpara>
+ <revhistory>
+ <revision>
+ <revnumber>2</revnumber>
+ <date>Thu Jan 20 2011</date>
+ <author>
+ <firstname>JBoss Tools</firstname>
+ <surname>Documentation Team</surname>
+ <email>mcaspers(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>General updates</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>1</revnumber>
+ <date>Wed Jun 09 2010</date>
+ <author>
+ <firstname>JBoss Tools</firstname>
+ <surname>Documentation Team</surname>
+ <email>irooskov(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>General updates</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>0</revnumber>
+ <date>Fri Nov 20 2009</date>
+ <author>
+ <firstname>Isaac</firstname>
+ <surname>Rooskov</surname>
+ <email>irooskov(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Initial creation of book by publican</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </simpara>
</appendix>
Modified: trunk/drools/docs/reference/en-US/debugging_rules.xml
===================================================================
--- trunk/drools/docs/reference/en-US/debugging_rules.xml 2011-01-20 03:17:51 UTC (rev
28420)
+++ trunk/drools/docs/reference/en-US/debugging_rules.xml 2011-01-20 03:46:55 UTC (rev
28421)
@@ -71,7 +71,7 @@
<itemizedlist>
<listitem>
<para>
- Select the main class of your application. Right click it and select
<menuchoice><guimenuitem>Debug
As</guimenuitem><guimenuitem></guimenuitem>Drools
Application</menuchoice>.
+ Select the main class of your application. Right click it and select
<menuchoice><guimenuitem>Debug As</guimenuitem><guimenuitem>Drools
Application</guimenuitem></menuchoice>.
</para>
</listitem>
</itemizedlist>
Modified: trunk/drools/docs/reference/en-US/editors.xml
===================================================================
--- trunk/drools/docs/reference/en-US/editors.xml 2011-01-20 03:17:51 UTC (rev 28420)
+++ trunk/drools/docs/reference/en-US/editors.xml 2011-01-20 03:46:55 UTC (rev 28421)
@@ -1,536 +1,564 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="editors">
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Tools</keyword>
- <keyword>Drools Tools</keyword>
- </keywordset>
- </chapterinfo>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Drools Tools</keyword>
+ </keywordset>
+ </chapterinfo>
- <title>Editors</title>
- <section id="dsl_editor">
- <title>DSL Editor</title>
- <para>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.
- </para>
- <para>In Drools this configuration is presented by
<property>.dsl</property>
- files that can be created by <emphasis>right click on the
project->New->Other->Drools->Domain Specific
Language</emphasis>.</para>
- <para>DSL Editor is a default editor for
<property>.dsl</property> files:</para>
- <figure>
- <title>DSL Editor</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors1a.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>In the table below all the components of the DSL Editor page are
described:</para>
- <table>
- <title>DSL Editor Components.</title>
- <tgroup cols="2">
- <colspec colnum="1" align="left"
colwidth="1*"/>
- <colspec colnum="2" align="left"
colwidth="3*"/>
-
- <thead>
- <row>
- <entry>Components</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Description</entry>
- <entry>User's comments on a certain language message
mapping</entry>
- </row>
- <row>
- <entry>Table of language message mappings</entry>
- <entry>The table is divided into 4 rows:
+ <title>Editors</title>
+ <section id="dsl_editor">
+ <title>DSL Editor</title>
+ <para>
+ 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.
+ </para>
+ <para>
+ In Drools this configuration is presented by <filename>.dsl</filename>
files that can be created selecting
<menuchoice><guimenuitem>New</guimenuitem><guimenuitem>Other</guimenuitem><guimenuitem>Drools</guimenuitem><guimenuitem>Domain
Specific Language</guimenuitem></menuchoice> from the projects context menu.
+ </para>
+ <para>DSL Editor is a default editor for <filename>.dsl</filename>
files:</para>
+ <figure>
+ <title>DSL Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1a.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>In the table below all the components of the DSL Editor page are
described:</para>
+ <table>
+ <title>DSL Editor Components.</title>
+ <tgroup cols="2">
+ <colspec colnum="1" align="left" colwidth="1*"/>
+ <colspec colnum="2" align="left" colwidth="3*"/>
+
+ <thead>
+ <row>
+ <entry>Components</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Description</entry>
+ <entry>User's comments on a certain language message
mapping</entry>
+ </row>
+ <row>
+ <entry>Table of language message mappings</entry>
+ <entry>The table is divided into 4 rows:
<itemizedlist id="rows">
- <listitem><para><emphasis>Language
Expression</emphasis> :expression you want to use as a
rule</para></listitem>
- <listitem><para><emphasis>Rule Language
Mapping</emphasis> :the implementation of the rules.This means that to this language
expression the rule will be compiled
- by the rule engine
compiler.</para></listitem>
-
<listitem><para><emphasis>Object</emphasis> :name of the
object</para></listitem>
-
<listitem><para><emphasis>Scope</emphasis> :indicates where the
expression is
- targeted: is it for the "condition" part of the
rule ,"consequence" part, etc.</para></listitem>
- </itemizedlist>
- 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 <xref
linkend="edit_wizard"/> will be open.
- </entry>
- </row>
- <row>
- <entry>Expression</entry>
- <entry>Shows the language expression of the selected table
line(language message mapping).</entry>
- </row>
-
- <row>
- <entry>Mapping</entry>
- <entry>Shows the rule of language mapping for the selected
table line(language message mapping).</entry>
- </row>
- <row>
- <entry>Object</entry>
- <entry>Shows the object for the selected table
line(language message mapping)</entry>
- </row>
+ <listitem><para><emphasis>Language
Expression</emphasis>: expression you want to use as a rule</para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Rule Language Mapping</emphasis>: the implementation of
the rules. This means that to this language expression the rule will be compiled by the
rule engine compiler.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Object</emphasis>: name of the object</para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Scope</emphasis>: indicates where the expression is
targeted, is it for the "condition" part of the rule ,"consequence"
part, etc.
+ </para>
+ </listitem>
+ </itemizedlist>
+ 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 the <xref
linkend="edit_wizard"/> will be open.
+ </entry>
+ </row>
+ <row>
+ <entry>Expression</entry>
+ <entry>Shows the language expression of the selected table line(language
message mapping).</entry>
+ </row>
- <row>
- <entry id="sort">Sort By</entry>
- <entry>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 list the method
- of sorting you want and click
<emphasis>Sort</emphasis> button.</entry>
- </row>
- <row>
- <entry>Buttons</entry>
- <entry><itemizedlist>
-
<listitem><para><emphasis>Edit</emphasis> :by clicking the button
users can edit
- selected in the table of language message mappings
lines.For more information look
- <xref linkend="edit_wizard"/>
section.</para></listitem>
-
<listitem><para><emphasis>Remove</emphasis> :if you click the
button the selected mapping line will be deleted. </para></listitem>
-
<listitem><para><emphasis>Add</emphasis> :with this button you can
add new mapping lines to the table.For more information look
- <xref linkend="add_wizard"/> section.
</para></listitem>
-
<listitem><para><emphasis>Sort</emphasis> : please, for more
information see <xref linkend="sort"/></para></listitem>
-
<listitem><para><emphasis>Copy</emphasis> :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.</para></listitem>
- </itemizedlist>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <section id="edit_wizard">
- <title>Edit language mapping Wizard</title>
- <para>This wizard can be opened by double clicking some line
- in the table of language message mappings or by clicking the
<emphasis>Edit</emphasis> button.</para>
- <para>On the picture below you can see all the options,Edit language
mapping Wizard allow to change.</para>
- <para>Their names as well as the meaning of the options are correspond
to the <xref linkend="rows"/> of the table.</para>
- <figure>
- <title>Edit language mapping Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors1c.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>To change the mapping a user should edit the otions he want and
finally click <emphasis>Ok</emphasis>.</para>
- </section>
- <section id="add_wizard">
- <title>Add language mapping Wizard</title>
- <para>This wizard is equal to <xref
linkend="edit_wizard"/>.
- It can be opened by clicking the <emphasis>Add</emphasis>
button.
- </para>
- <para>The only difference is that instead of editing the information
you should enter new one.</para>
- <figure>
- <title>Add language mapping Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors1b.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
- </section>
- <section id="ruleflow_editor">
- <title>Flow Editor</title>
- <para>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.</para>
- <para>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
"<emphasis>New -> Other...->Flow
File</emphasis>":</para>
- <figure>
- <title>RuleFlow file creation</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors1f.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>By default these ruleflow files (.rf) are opened in the graphical
Flow editor.
- You can see it on the picture below.</para>
- <figure>
- <title>Flow Editor</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors1g.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>The Flow editor consists of a
<emphasis>palette</emphasis>, a <emphasis>canvas</emphasis>
- and an <emphasis>outline</emphasis> 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.
- </para>
- <figure>
- <title>Adding an element to the canvas</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors1e.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>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.</para>
- <figure>
- <title>Properties view</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors1d.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Outline View is useful for big complex schemata where not all nodes
are seen at one time.
- So using your Outline view you can easily navigate between parts of a schema.
</para>
- <figure>
- <title>Outline view usage</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors9.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <section>
- <title>Different types of control elements in Flow
Palette</title>
- <para>Flow editor supports three types of control elements.
- They are:</para>
- <table> <title>Flow Palette Components.Part 1</title>
- <tgroup cols="3">
- <colspec colnum="1" align="left"
colwidth="1*"/>
- <colspec colnum="2" align="left"
colwidth="1*"/>
- <colspec colnum="3" align="left"
colwidth="3*"/>
-
- <thead>
- <row>
- <entry>Component Picture</entry>
- <entry>Component Name</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon7.png"/>
-
</imageobject></inlinemediaobject></entry>
- <entry>Select</entry>
- <entry>Select a node on the canvas</entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon8.png"/>
-
</imageobject></inlinemediaobject></entry>
- <entry>Marquee</entry>
- <entry>Is used for selecting a group of
elements</entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon9.png"/>
-
</imageobject></inlinemediaobject></entry>
- <entry>Sequence Flow</entry>
- <entry>Use this element to join two elements on the
canvas</entry>
- </row>
- </tbody>
-
- </tgroup>
- </table>
- </section>
-
- <section>
- <title>Different types of nodes in Flow Palette</title>
-
- <para>Currently, ruleflow supports seven types of nodes.
- In the table below you can find information about them:</para>
- <table> <title>Flow Palette Components.Part 2.</title>
- <tgroup cols="3">
- <colspec colnum="1" align="left"
colwidth="1*"/>
- <colspec colnum="2" align="left"
colwidth="1*"/>
- <colspec colnum="3" align="left"
colwidth="3*"/>
-
- <thead>
- <row>
- <entry>Component Picture</entry>
- <entry>Component Name</entry>
- <entry>Description</entry>
- </row>
-
- </thead>
- <tbody>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon1.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>Start Event</entry>
- <entry>The start of the ruleflow. A ruleflow should
have exactly
- one start node. The <property>Start
Event</property> 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 <property>Start
Event</property></entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon2.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>End Event</entry>
- <entry>A ruleflow file can have one or more
<property>End Events</property>.
- The <property>End Event</property> 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).</entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon3.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>Rule Task</entry>
- <entry>represents a set of rules. A
<emphasis>Rule Task</emphasis> node should have one
- incoming connection and one outgoing connection.
- The <property>RuleFlowGroup</property>
property which is used to specify the name of the
- ruleflow-group that represents the set of rules of this
<emphasis>Rule Task</emphasis> node.
- When a <emphasis>Rule Task</emphasis> 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.
- </entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon4.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>Gateway[diverge]</entry>
- <entry>allows you to create branches in your ruleflow.
- A <property>Gateway[diverge]</property> node
should have one incoming connection and two or more
- outgoing connections.</entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon4.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>Gateway[converge]</entry>
- <entry>allows you to synchronize multiple branches.
- A <property>Gateway[diverge]</property> node
should have two or more incoming connections and one
- outgoing connection.</entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon5.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>Reusable Sup-Process</entry>
- <entry>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 <property>Reusable
Sup-Process</property> 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.</entry>
- </row>
- <row>
- <entry><inlinemediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/icon6.png"/>
- </imageobject></inlinemediaobject></entry>
- <entry>Script Task</entry>
- <entry>represents an action that should be executed in
this ruleflow.
- An <property>Script Task</property> 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 <property>Script Task</property> 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. </entry>
- </row>
+ <row>
+ <entry>Mapping</entry>
+ <entry>Shows the rule of language mapping for the selected table
line(language message mapping).</entry>
+ </row>
+ <row>
+ <entry>Object</entry>
+ <entry>Shows the object for the selected table line(language message
mapping)</entry>
+ </row>
- </tbody>
- </tgroup>
- </table>
- </section>
- </section>
-
- <section id="textual_rule_editor">
- <title>The Rule Editor</title>
+ <row>
+ <entry id="sort">Sort By</entry>
+ <entry>
+ Using this option you can change the sorting order of the language message
mappings. To do this select from the drop down list the method of sorting you want and
click the <guibutton>Sort</guibutton> button.
+ </entry>
+ </row>
+ <row>
+ <entry>Buttons</entry>
+ <entry>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>Edit</emphasis>: by clicking the button users can edit
selected in the table of language message mappings lines. For more information look at the
<xref linkend="edit_wizard"/> section.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Remove</emphasis>: if you click the button the selected
mapping line will be deleted. </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Add</emphasis>: with this button you can add new mapping
lines to the table.For more information look at the <xref
linkend="add_wizard"/> section.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Sort</emphasis>: please, for more information see the
<xref linkend="sort"/> section.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>Copy</emphasis>: 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.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <section id="edit_wizard">
+ <title>Edit language mapping Wizard</title>
+ <para>
+ This wizard can be opened by double clicking some line in the table of language
message mappings or by clicking the <guibutton>Edit</guibutton> button.
+ </para>
+ <para>On the picture below you can see all the options the Edit Language Mapping
Wizard will allow you to change.</para>
+ <para>Their names as well as the meaning of the options are correspond to the
rows of the table (see <xref linkend="rows"/>).</para>
+ <figure>
+ <title>Edit language mapping Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1c.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>To change the mapping a user should edit the appropriate options and
finally click the <guibutton>OK</guibutton> button.</para>
+ </section>
+ <section id="add_wizard">
+ <title>Add language mapping Wizard</title>
+ <para>
+ This wizard is equal to the wizard described in <xref
linkend="edit_wizard"/>. It can be opened by clicking the
<guibutton>Add</guibutton> button.
+ </para>
+ <para>The only difference is that instead of editing the information you should
enter new one.</para>
+ <figure>
+ <title>Add language mapping Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1b.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+ <section id="ruleflow_editor">
+ <title>Flow Editor</title>
+ <para>
+ Drools tools also provides the ability to define the order in which rules should be
executed. The Ruleflow file allows you to specify the order in which rule sets should be
evaluated using a flow chart. This allows you to define which rule sets should be
evaluated in sequence or in parallel as well as specify the conditions under which rule
sets should be evaluated.
+ </para>
+ <para>
+ 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
<menuchoice><guimenuitem>New</guimenuitem><guimenuitem>Other...</guimenuitem><guimenuitem>Flow
File</guimenuitem></menuchoice>:
+ </para>
+ <figure>
+ <title>RuleFlow file creation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1f.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>By default these ruleflow files (.rf) are opened in the graphical Flow
editor. You can see this in the picture below.</para>
+ <figure>
+ <title>Flow Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1g.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ The Flow editor consists of a <guilabel>palette</guilabel>, a
<guilabel>canvas</guilabel> and an <guilabel>outline</guilabel>
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.
+ </para>
+ <figure>
+ <title>Adding an element to the canvas</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1e.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ 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
<guilabel>Properties</guilabel> view.
+ </para>
+ <figure>
+ <title>Properties view</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1d.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>
+ The <guilabel>Outline</guilabel> view is useful for big complex schemata
where not all nodes are seen at one time. So using your
<guilabel>Outline</guilabel> view you can easily navigate between parts of a
schema.
+ </para>
+ <figure>
+ <title>Outline view usage</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <section>
+ <title>Different types of control elements in Flow Palette</title>
+ <para>Flow editor supports three types of control elements. They
are:</para>
+ <table>
+ <title>Flow Palette Components.Part 1</title>
+ <tgroup cols="3">
+ <colspec colnum="1" align="left"
colwidth="1*"/>
+ <colspec colnum="2" align="left"
colwidth="1*"/>
+ <colspec colnum="3" align="left"
colwidth="3*"/>
- <para>The <property>Rule editor</property> works on files that
have a <emphasis>
- <property>.drl</property>
- </emphasis> (or <emphasis>
- <property>.rule</property>
- </emphasis> in the case of spreading rules across multiple rule files)
extension.</para>
+ <thead>
+ <row>
+ <entry>Component Picture</entry>
+ <entry>Component Name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon7.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Select</entry>
+ <entry>Select a node on the canvas</entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon8.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Marquee</entry>
+ <entry>Is used for selecting a group of elements</entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon9.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Sequence Flow</entry>
+ <entry>Use this element to join two elements on the canvas</entry>
+ </row>
+ </tbody>
- <figure>
- <title>New Rule</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/editors/editors1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ </tgroup>
+ </table>
+ </section>
- <para>The editor follows the pattern of a normal text editor in eclipse,
with all the normal
- features of a text editor:</para>
+ <section>
+ <title>Different types of nodes in Flow Palette</title>
- <itemizedlist>
- <listitem>
- <para>
- <xref linkend="rules_editor_content_assist"/>
- </para>
- </listitem>
+ <para>Currently, ruleflow supports seven types of nodes. In the table below you
can find information about them:</para>
+ <table>
+ <title>Flow Palette Components.Part 2.</title>
+ <tgroup cols="3">
+ <colspec colnum="1" align="left"
colwidth="1*"/>
+ <colspec colnum="2" align="left"
colwidth="1*"/>
+ <colspec colnum="3" align="left"
colwidth="3*"/>
- <listitem>
- <para>
- <xref linkend="rules_editor_code_folding"/>
- </para>
- </listitem>
+ <thead>
+ <row>
+ <entry>Component Picture</entry>
+ <entry>Component Name</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon1.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Start Event</entry>
+ <entry>
+ The start of the ruleflow. A ruleflow should have exactly one start node. The
<property>Start Event</property> can not have incoming connections and should
have one outgoing connection. Whenever the ruleflow process is started, the execution is
started here and is automatically proceeded to the first node linked to this
<property>Start Event</property>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon2.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>End Event</entry>
+ <entry>
+ A ruleflow file can have one or more <property>End Events</property>.
The <property>End Event</property> 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).
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon3.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Rule Task</entry>
+ <entry>
+ Represents a set of rules. A <emphasis>Rule Task</emphasis> node
should have one incoming connection and one outgoing connection. The
<property>RuleFlowGroup</property> property which is used to specify the name
of the ruleflow-group that represents the set of rules of this <emphasis>Rule
Task</emphasis> node. When a <emphasis>Rule Task</emphasis> 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.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon4.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Gateway[diverge]</entry>
+ <entry>
+ Allows you to create branches in your ruleflow. A
<property>Gateway[diverge]</property> node should have one incoming connection
and two or more outgoing connections.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon4.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Gateway[converge]</entry>
+ <entry>
+ Allows you to synchronize multiple branches. A
<property>Gateway[diverge]</property> node should have two or more incoming
connections and one outgoing connection.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon5.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Reusable Sup-Process</entry>
+ <entry>
+ 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
<property>processId</property> which specifies the id of the process that
should be executed. When a <property>Reusable
Sup-Process</property> 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.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/icon6.png"/>
+ </imageobject>
+ </inlinemediaobject>
+ </entry>
+ <entry>Script Task</entry>
+ <entry>
+ Represents an action that should be executed in this ruleflow. An
<property>Script Task</property> 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 <property>Script Task</property> 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.
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ </section>
+
+ <section id="textual_rule_editor">
+ <title>The Rule Editor</title>
+
+ <para>
+ The <property>Rule editor</property> works on files that have a
<filename>.drl</filename> (or <filename>.rule</filename> in the
case of spreading rules across multiple rule files) extension.
+ </para>
+
+ <figure>
+ <title>New Rule</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors1.png"/>
+ </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>
+ <xref linkend="rules_editor_content_assist"/>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <xref linkend="rules_editor_code_folding"/>
+ </para>
+ </listitem>
+
<!-- <listitem>
<para>
<xref linkend="rules_editor_error_reporting"/>
</para>
</listitem>-->
- <listitem>
- <para>
- <xref linkend="rules_editor_sync_with_outline"/>
- </para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="rules_editor_sync_with_outline"/>
+ </para>
+ </listitem>
+ </itemizedlist>
- <section id="rules_editor_content_assist">
- <title>Content Assist</title>
+ <section id="rules_editor_content_assist">
+ <title>Content Assist</title>
- <para>While working in the <property>Rule editor</property>
you can get a content
- assistance the usual way by pressing <emphasis>
- <property>Ctrl +
Space</property>.</emphasis></para>
+ <para>
+ While working in the <property>Rule editor</property> you can get a
content assistance the usual way by pressing
<keycombo><keycap>Ctrl</keycap><keycap>Space</keycap></keycombo>.
+ </para>
- <para>Content Assist shows all possible keywords for the current cursor
position.</para>
+ <para>Content Assist shows all possible keywords for the current cursor
position.</para>
- <figure>
- <title>Content Assist Demonstration</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Content Assist Demonstration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <para>Content Assist inside of the <emphasis>
- <property>Message</property>
- </emphasis> suggests all available fields.</para>
+ <para>Content Assist inside of the <guilabel>Message</guilabel>
suggests all available fields.</para>
- <figure>
- <title>Content Assist Demonstration</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Content Assist Demonstration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- </section>
+ </section>
- <section id="rules_editor_code_folding">
- <title>Code Folding</title>
+ <section id="rules_editor_code_folding">
+ <title>Code Folding</title>
- <para>Code folding is also available in the <property>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>
+ <para>
+ Code folding is also available in the <guilabel>Rule editor</guilabel>.
To hide and show sections of the file use the icons with minus and plus on the left
vertical line of the editor.
+ </para>
- <figure>
- <title>Code Folding</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Code Folding</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- </section>
+ </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>
+ <section id="rules_editor_sync_with_outline">
+ <title>Synchronization with Outline View</title>
- <para>The <property>Rule editor</property> works in
synchronization with the
- <property>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>
+ <para>
+ The <guilabel>Rule editor</guilabel> works in synchronization with the
<guilabel>Outline view</guilabel> which shows the structure of the rules,
imports in the file and also globals and functions if the file has them.
+ </para>
- <figure>
- <title>Synchronization with Outline View</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Synchronization with Outline View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors5.png"/>
+ </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>
+ <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>
+ <section id="rete_view">
+ <title>The Rete Tree View</title>
- <para>The <property>Rete Tree view</property> shows you the
current Rete Network for
- your <emphasis>
- <property>.drl</property>
- </emphasis> file. Just click on the <emphasis>
- <property>Rete Tree tab</property>
- </emphasis> at the bottom of the <property>Rule
editor</property>.</para>
+ <para>
+ The <property>Rete Tree view</property> shows you the current Rete
Network for your <filename>.drl</filename> file. Just click on the
<guilabel>Rete Tree tab</guilabel> at the bottom of the <guilabel>Rule
editor</guilabel>.
+ </para>
- <figure>
- <title>Rete Tree</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors6.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Rete Tree</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors6.png"/>
+ </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>
+ <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 have a large number of nodes, select some of them with a frame.
Then you can pull groups of them.</para>
- <figure>
- <title>Selecting the nodes in the Rete Tree with
Frame</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors7.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Selecting the nodes in the Rete Tree with Frame</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors7.png"/>
+ </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>
+ <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 <guibutton>+</guibutton> and
<guibutton>-</guibutton> icons on the toolbar.
+ </para>
- <figure>
- <title>Rete Tree Zooming</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/editors/editors8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Rete Tree Zooming</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/editors/editors8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <note>
- <title>Note:</title>
+ <note>
+ <title>Note:</title>
- <para>The <property>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>
-
+ <para>The <property>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. 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>
\ No newline at end of file