Author: ochikvina
Date: 2007-12-01 11:04:17 -0500 (Sat, 01 Dec 2007)
New Revision: 5185
Modified:
trunk/jbpm/docs/reference/en/modules/Quick_Howto_Guide.xml
trunk/jbpm/docs/reference/en/modules/Test_Drive_Proc.xml
trunk/jbpm/docs/reference/en/modules/The_JBoss_jBPM_Int_Mech.xml
trunk/jbpm/docs/reference/en/modules/guided_tour_jboss_jbpmgpd.xml
Log:
http://jira.jboss.com/jira/browse/RHDS-288 - updating accoding to new screenshots
Modified: trunk/jbpm/docs/reference/en/modules/Quick_Howto_Guide.xml
===================================================================
--- trunk/jbpm/docs/reference/en/modules/Quick_Howto_Guide.xml 2007-12-01 16:03:34 UTC
(rev 5184)
+++ trunk/jbpm/docs/reference/en/modules/Quick_Howto_Guide.xml 2007-12-01 16:04:17 UTC
(rev 5185)
@@ -4,10 +4,10 @@
<chapterinfo>
<keywordset>
<keyword>jBPM</keyword>
- <keyword></keyword>
- <keyword></keyword>
- <keyword></keyword>
- <keyword></keyword>
+ <keyword/>
+ <keyword/>
+ <keyword/>
+ <keyword/>
</keywordset>
</chapterinfo>
<title>Quick Howto Guide</title>
@@ -15,14 +15,17 @@
<section>
<title>Change the Default Core jBPM Installation</title>
- <para> You can change the default <property>jBPM</property>
installation by means of the Eclipse preference
- mechanism. Open the Preferences dialog by selecting
- <property>Window < Preferences</property> and select the
<property>JBoss jBPM</property>
- category. Using this page you can add multiple
<property>jBPM</property> installation locations and
- change the default one. The default installation is used for the classpath
settings when
- creating a new Process Project. Changing the preferences has no influence on
already
- created projects. Getting rid of a <property>jBPM</property>
installation that's being referenced by a
- project however will cause the classpath to contain errors. </para>
+ <para> You can change the default <property>jBPM</property>
installation by means of the
+ Eclipse preference mechanism. Open the Preferences dialog by selecting
<emphasis>
+ <property>Window > Preferences</property>
+ </emphasis> and select the <emphasis>
+ <property>JBoss jBPM > Runtime Location</property>
+ </emphasis> category. Using this page you can add multiple
<property>jBPM</property>
+ installation locations and change the default one. The default installation
is used for
+ the classpath settings when creating a new Process Project. Changing the
preferences has
+ no influence on already created projects. Getting rid of a
<property>jBPM</property>
+ installation that's being referenced by a project however will cause
the
+ classpath to contain errors. </para>
<figure>
@@ -30,7 +33,8 @@
<mediaobject>
<imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_1.png"
scalefit="1"/>
+ <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_1.png"
+ scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
@@ -41,14 +45,15 @@
<para> You can add tasks to task nodes and then configure these last ones
in a similar
manner as the Action configuration mechanism. The context menu of the tasks
contains a
- <property>Properties</property> entry that opens a configuration
dialog. </para>
-
+ <property>Properties</property> entry that opens a
configuration dialog. </para>
+
<figure>
<title> The Task Configuration Dialog</title>
-
+
<mediaobject>
<imageobject>
- <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_2.png"
scalefit="1"/>
+ <imagedata
fileref="images/Quick_Howto_Guide/quick_howto_guide_2.png"
+ scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
Modified: trunk/jbpm/docs/reference/en/modules/Test_Drive_Proc.xml
===================================================================
--- trunk/jbpm/docs/reference/en/modules/Test_Drive_Proc.xml 2007-12-01 16:03:34 UTC (rev
5184)
+++ trunk/jbpm/docs/reference/en/modules/Test_Drive_Proc.xml 2007-12-01 16:04:17 UTC (rev
5185)
@@ -4,10 +4,10 @@
<chapterinfo>
<keywordset>
<keyword>jBPM</keyword>
- <keyword></keyword>
- <keyword></keyword>
- <keyword></keyword>
- <keyword></keyword>
+ <keyword/>
+ <keyword/>
+ <keyword/>
+ <keyword/>
</keywordset>
</chapterinfo>
<title>Test Driven Process Development</title>
@@ -19,19 +19,25 @@
can use a technique we have baptised <property>Test Driven Process
Development</property> to
create process definitions and test their correctness. </para>
- <para> When creating the <property>Hello jBPM</property> project
the create process project
- wizard has already put in place all the library requirements we need to start
writing jBPM
- unit tests. These are contained in the jBPM Library container and the most
important of it
- is - suprisingly - the jar file containing the core jBPM classes. It must be
noted that it
- is possible to change the location of the core jBPM installation by changing the
preference
- settings. More on this later in the book. </para>
+ <para> When creating the <emphasis>
+ <property>HellojBPM</property>
+ </emphasis> project the create process project wizard has already put in
place all the
+ library requirements we need to start writing jBPM unit tests. These are
contained in the
+ jBPM Library container and the most important of it is the <emphasis>
+ <property>.jar</property>
+ </emphasis> file containing the core jBPM classes. It must be noted that it
is possible to
+ change the location of the core jBPM installation by changing the preference
settings. More
+ on this later in the book. </para>
<para> With that extra knowledge on the project settings, you can create your
first test. To do
- this, we create the <property>com.jbay</property> package in the
- <property>test/java</property> source folder. Then we bring up the
context menu on this
- package and select <property>New > JUnit Test Case</property>
(Figure 3.1, "Create a
- Test" and Figure 3.2, "Create Test Dialog"). We call
the test
- class <property>HelloTest</property>. </para>
+ this, we create the <emphasis>
+ <property>com.jbay</property>
+ </emphasis> package in the <emphasis>
+ <property>test/java</property>
+ </emphasis> source folder. Then we bring up the context menu on this
package and select <emphasis>
+ <property>New > Other...</property>
+ </emphasis> and then <emphasis>
+ <property>Java > JUnite > JUnite Test
Case</property></emphasis>.</para>
<figure>
<title>Create a Test</title>
@@ -43,6 +49,10 @@
</mediaobject>
</figure>
+ <para>We call the test class <emphasis>
+ <property>HelloTest</property>
+ </emphasis>.</para>
+
<figure>
<title>Create Test Dialog</title>
@@ -52,31 +62,35 @@
</imageobject>
</mediaobject>
</figure>
- <para> We write a simple test scenario as shown in Figure 3.3, "A
First Test
- Scenario". Let's study the code of this testcase. In the first
line of the
- method, a jBPM process archive object is created. We use a constructor accepting
the
- filename of the archive. In our case it is the 'hello.par' file
we created
- earlier and wich lives in the 'src' folder of our project.
After asserting
- that this object is really created, we extract a process definition object from
it. This
- object is fed to the constructor of a process instance object. We have a process
instance
- object, but this process is not yet started, so we can safely assert that its
root token
- still resides in the start node. After signalling the token will move to the next
state and
- the process will be in the <property>auction</property> state.
Finally another signal will
- end the process. </para>
+ <para> We write a simple test scenario as shown on the next figure.
Let's study the
+ code of this testcase. </para>
+
<figure>
<title>A First Test Scenario</title>
-
+
<mediaobject>
<imageobject>
<imagedata
fileref="images/Test_Drive_Proc/test_driv_proc_3.png"
scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
- <para> After writing this test we can check whether it works as expected by
running it (Figure
- 3.4, "Running the Process Test " and Figure 3.5,
"Successful Test
- Run") all went well: we have a green light. </para>
+
+ <para>In the first line of the method, a jBPM process archive object is
+ created. We use a constructor accepting the filename of the archive. In our case
it is the
+ <emphasis>
+ <property>hello</property></emphasis> file we created
earlier and wich lives in the
+ <emphasis>
+ <property>src/main/jpdl</property></emphasis> folder of
our project. After asserting that this object is really
+ created, we extract a process definition object from it. This object is fed to
the
+ constructor of a process instance object. We have a process instance object, but
this
+ process is not yet started, so we can safely assert that its root token still
resides in the
+ start node. After signalling the token will move to the next state and the
process will be
+ in the
<emphasis><property>auction</property></emphasis> state. Finally
another signal will end the process. </para>
+
+ <para> After writing this test we can check whether it works as expected by
running it .</para>
+
<figure>
<title>Running the Process Test</title>
@@ -86,20 +100,23 @@
</imageobject>
</mediaobject>
</figure>
+ <para>All went well as we have a green light:</para>
<figure>
<title>Successful Test Run</title>
-
+
<mediaobject>
<imageobject>
<imagedata
fileref="images/Test_Drive_Proc/test_driv_proc_5.png"
scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
+
<para> Of course, this simple scenario was not very interesting, but the
purpose of it was to
show how you can reuse your development skills in a very straightforward way when
doing
- process development. To see how more interesting processes and process test
scenario's can
- be developed, we suggest you to read the <property>JBoss jBPM User
Guide</property> and to study the API
- reference. Moreover some more examples will be given later in this
book.</para>
-
+ process development. To see how more interesting processes and process test
+ scenario's can be developed, we suggest you to read the
<property>JBoss jBPM User
+ Guide</property> and to study the API reference. Moreover some more
examples will be
+ given later in this book.</para>
+
</chapter>
Modified: trunk/jbpm/docs/reference/en/modules/The_JBoss_jBPM_Int_Mech.xml
===================================================================
--- trunk/jbpm/docs/reference/en/modules/The_JBoss_jBPM_Int_Mech.xml 2007-12-01 16:03:34
UTC (rev 5184)
+++ trunk/jbpm/docs/reference/en/modules/The_JBoss_jBPM_Int_Mech.xml 2007-12-01 16:04:17
UTC (rev 5185)
@@ -4,51 +4,62 @@
<chapterinfo>
<keywordset>
<keyword>jBPM</keyword>
- <keyword></keyword>
- <keyword></keyword>
- <keyword></keyword>
- <keyword></keyword>
+ <keyword/>
+ <keyword/>
+ <keyword/>
+ <keyword/>
</keywordset>
</chapterinfo>
<title>Actions : The JBoss jBPM Integration Mechanism</title>
- <para> In this chapter we will show how to do software integration with
<property>JBoss jBPM</property>. The standard
- mechanism to realize this is to wrap the functionality you want to integrate in a
class that
- implements the <property>ActionHandler</property> interface.
</para>
+ <para> In this chapter we will show how to do software integration with
<property>JBoss
+ jBPM</property>. The standard mechanism to realize this is to wrap the
functionality you
+ want to integrate in a class that implements the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> interface. </para>
<section>
<title>Creating a Hello World Action</title>
- <para> Each Hello World process should integrate one or more Hello World
actions, so this is
- what we will be doing. We can integrate custom code at different points in
the process
+ <para> Each hello process should integrate one or more hello actions, so
this is what we
+ will be doing. We can integrate custom code at different points in the
process
definition. To do this we have to specify an action handler, represented by
an
- implementation of the <property>ActionHandler</property>
interface, and attach this piece of code to a
- particular event. These events are amongst others, going over a transition,
leaving or
- enterning nodes, after and before signalling. </para>
+ implementation of the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> interface, and attach this piece of code to a particular
event. These events
+ are amongst others, going over a transition, leaving or enterning nodes,
after and
+ before signalling. </para>
<figure>
<title>A Simple Hello Action</title>
<mediaobject>
<imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"
scalefit="1"/>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"
+ scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
- <para> To make things a little bit more concrete, we will implement an
action handler. To do
- this, create a new class called
<property>HelloActionHandler</property>, which implements the
<property>ActionHandler</property>
- interface and implement the execute method as shown in Figure 5.1,
"A Simple
- Hello Action" and Figure 5.2, "A Simple Hello
Action". This
- test will add a variable named <property>greeting</property> to
the collection of process
- variables and puts a message in it : <property>Hello from
ActionHandler</property>. </para>
+ <para> To make things a little bit more concrete, we will implement an
<emphasis>
+ <property>ActionHandler</property>
+ </emphasis>. To do this, create a new class called <emphasis>
+ <property>HelloActionHandler</property>
+ </emphasis>, which implements the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> interface and implement the execute method as shown in the
next figure. This
+ test will add a variable named <emphasis>
+ <property>greeting</property>
+ </emphasis> to the collection of process variables and puts a message
in it :
+ <emphasis>"Hello from
ActionHandler"</emphasis>. </para>
<figure>
<title>A Simple Hello Action</title>
<mediaobject>
<imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png"
scalefit="1"/>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png"
+ scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
@@ -58,70 +69,137 @@
<title>Integrating the Hello World Action</title>
<para> As good Testcity citizens we will first create a unit test that
proves the behaviour
- we want to achieve by adding the action handler to the process. So we
implement another
- test. Creating the process instance is code we already saw in the previous
chapter. We
- assert that no variable called greeting exist. Then we give the process a
signal to move
- it to the first state. We want to associate the execution of the action with
the event
- of going over the transition from the start state to the first state. So
after the
- signal, the process should be in the first state as in the previous scenario.
But
- moreover, the <property>greeting</property> variable should exist
and contain the string
- <property>Hello from ActionHandler</property>. That's
what we assert in the last
- lines of the test method shown in Figure 5.3, "Create the Hello
Action
- Test" </para>
+ we want to achieve by adding the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> to the process. So we implement another test. Creating the
process instance
+ is code we already saw in the previous chapter. We assert that no variable
called
+ greeting exist. Then we give the process a signal to move it to the first
state. We want
+ to associate the execution of the action with the event of going over the
transition
+ from the start state to the first state. So after the signal, the process
should be in
+ the first state as in the previous scenario. But moreover, the
<emphasis>
+ <property>greeting</property>
+ </emphasis> variable should exist and contain the string
"Hello from
+ ActionHandler". That's what we assert in the last lines of
the test
+ method.</para>
<figure>
<title>Create the Hello Action Test</title>
<mediaobject>
<imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
scalefit="1"/>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
+ scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
- <para> Running the tests now results in a failure. This is shown in Figure
5.4,
- "Test Results Before Integration" As a matter of fact, we
did not
- associate the action with any particular event in the process definition, so
the process
- variable did not get set. </para>
+ <para> Running the tests now results in a failure. As a matter of fact, we
did not associate
+ the action with any particular event in the process definition, so the
process variable
+ did not get set. </para>
<figure>
<title>Test Results Before Integration</title>
<mediaobject>
<imageobject>
- <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
scalefit="1"/>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
+ scalefit="1"/>
</imageobject>
</mediaobject>
</figure>
<para> Let's do something about it and add an action to the first
transition of our
- sample process. This is done by bringing up the context menu of the
transition in the
- tree page of the outline view.</para>
+ sample process. To do this you can use the Actions tab in the Properties
Editor that is
+ under the graphical canvas. Bring up the popup menu of the action element
container and
+ chose New Action as it’s shown on the screenshot below. The other way to add
an action
+ to the transition is simply to use the dropdown menu that is available under
the action
+ icon in the right upper corner of the Properties View.</para>
- <para> Right-clicking the action brings up a popupmenu with an entry to
edit the properties
- of the selected action. Clicking on this menu entry opens a configuration
dialog for
- actions. For now we will only configure the name and class properties of this
action.
- The rest will be treated later. We enter
<property>hello</property> as the name of the
- action and click on the <property>Browse...</property> button to
open a choose class
- dialog where we can look for the classes implementing the
<property>ActionHandler</property> interface in our
- project's classpath. </para>
+ <figure>
+ <title>Adding an Action to a Transition</title>
- <para> We choose our previously created
'HelloActionHandler' class and
- push the <property>OK</property> button. After the selection of
the action handler for the action, we can run
- the test and observe it gives us a green light.</para>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_5.png"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>After adding the action a tabbed view with three pages will
appear.</para>
+
+ <figure>
+ <title>Configuration Dialog for an Action</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_6.png"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The first of these three pages allows you to give the Action a name.
The last page
+ contains some advanced attributes such as whether the Action is asynchronous.
The
+ Details page is the most important. It allows to choose and configure the
actual action
+ handler implementation. </para>
+
+ <figure>
+ <title>The Details page of an Action Configuration
Dialog</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_7.png"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>Clicking on the <emphasis>
+ <property>Search...</property>
+ </emphasis> button brings us to a Choose Class dialog.</para>
+
+
+ <figure>
+ <title>The Choose Action Handler Dialog</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_8.png"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para> We choose our previously created
'HelloActionHandler' class and
+ push the <property>OK</property> button. After the selection of
the action handler for
+ the action, we can run the test and observe it gives us a green
light.</para>
+
+ <figure>
+ <title>Test Results</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_10.png"
+ scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
</section>
<section>
<title> Integration Points</title>
<para> The different integration points in a process definition are
thoroughly documented in
- the <property>JBoss jBPM User Guide</property>. The Different
- kinds of actions can be added to for instance nodes. Adding such an action
will create
- an event object in the outline view and add an action as a child of this
newly created
- event. In the same way, actions can be added to the process definition
object. Moreover,
- actions can directly be added to events. </para>
-
+ the <property>JBoss jBPM User Guide</property>. Instance nodes
can contain many action
+ elements. Each of these will appear in the Action element list of the Actions
tab. But
+ each Action also has a properties view of itself. You can navigate to this
view by
+ selecting the added Action in the outline view. </para>
+
</section>
</chapter>
Modified: trunk/jbpm/docs/reference/en/modules/guided_tour_jboss_jbpmgpd.xml
===================================================================
--- trunk/jbpm/docs/reference/en/modules/guided_tour_jboss_jbpmgpd.xml 2007-12-01 16:03:34
UTC (rev 5184)
+++ trunk/jbpm/docs/reference/en/modules/guided_tour_jboss_jbpmgpd.xml 2007-12-01 16:04:17
UTC (rev 5185)
@@ -1,21 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="GuidedTourJBossjBPMGPD"
xreflabel="GuidedTourJBossjBPMGPD">
- <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword>JBoss</keyword>
- <keyword>Process</keyword>
- <keyword>Definition</keyword>
- </keywordset>
- </chapterinfo>
- <title>A Guided Tour of JBoss jBPM GPD</title>
- <para>We have included a wizard in the GPD plugin to create a jBPM project. We
have opted to create a project containing based on a template already containing a number
of advanced artifacts that we will ignore for this section. In the future we will
elaborate this wizard and offer the possibility to create an empty jBPM project as well as
projects based on templates taken from the jBPM tutorial.</para>
- <section id="CreatingjBPMProject">
+ <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>jBPM</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>Process</keyword>
+ <keyword>Definition</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>A Guided Tour of JBoss jBPM GPD</title>
+ <para>We have included a wizard in the GPD plugin to create a jBPM project. We
have opted to
+ create a project containing based on a template already containing a number of
advanced
+ artifacts that we will ignore for this section. In the future we will elaborate this
wizard
+ and offer the possibility to create an empty jBPM project as well as projects based on
+ templates taken from the jBPM tutorial.</para>
+ <section id="CreatingjBPMProject">
<?dbhtml filename="CreatingjBPMProject.html"?>
<title>Creating a jBPM Project</title>
- <para>To create a new jBPM project using the project creation wizard, we select
<emphasis><property>File >New
Project...</property></emphasis> and in the New Project dialog, we select
<emphasis><property>JBoss jBPM > Process
Project</property></emphasis>:</para>
- <figure>
+ <para>To create a new jBPM project using the project creation wizard, we select
<emphasis>
+ <property>File >New Project...</property>
+ </emphasis> and in the New Project dialog, we select <emphasis>
+ <property>JBoss jBPM > Process Project</property>
+ </emphasis>:</para>
+ <figure>
<title>New Project Dialog</title>
<mediaobject>
<imageobject>
@@ -23,7 +31,12 @@
</imageobject>
</mediaobject>
</figure>
- <para> Clicking
<emphasis><property>Next</property></emphasis> brings us to the
wizard page where we have to specify the name and location for the project. We choose for
example <emphasis><property>Hello jBPM</property></emphasis> as
the name and accept the default location.</para>
+ <para> Clicking <emphasis>
+ <property>Next</property>
+ </emphasis> brings us to the wizard page where we have to specify the name and
location
+ for the project. We choose for example <emphasis>
+ <property>Hello jBPM</property>
+ </emphasis> as the name and accept the default location.</para>
<figure>
<title>Process Name and Location</title>
<mediaobject>
@@ -32,7 +45,20 @@
</imageobject>
</mediaobject>
</figure>
- <para>Clicking on
<emphasis><property>Finish</property></emphasis> results in the
project being created. The wizard creates four source folders: one for the processes
(<emphasis><property>src/main/jpdl</property></emphasis>), one for
the java sources
(<emphasis><property>src/main/java</property></emphasis>), one for
the unit tests
(<emphasis><property>src/test/java</property></emphasis>) and one
for the resources such as the jbpm.properties and the hibernate.properties files
(<emphasis><property>src/main/config</property></emphasis>). In
addition a classpath container with all the core jBPM libraries is added to the
project</para>
+ <para>Clicking on <emphasis>
+ <property>Finish</property>
+ </emphasis> results in the project being created. The wizard creates four
source
+ folders: one for the processes (<emphasis>
+ <property>src/main/jpdl</property>
+ </emphasis>), one for the java sources (<emphasis>
+ <property>src/main/java</property>
+ </emphasis>), one for the unit tests (<emphasis>
+ <property>src/test/java</property>
+ </emphasis>) and one for the resources such as the jbpm.properties and the
+ hibernate.properties files (<emphasis>
+ <property>src/main/config</property>
+ </emphasis>). In addition a classpath container with all the core jBPM libraries
is
+ added to the project</para>
<figure>
<title>Layout of the Process Project</title>
<mediaobject>
@@ -41,12 +67,21 @@
</imageobject>
</mediaobject>
</figure>
- <para>Looking inside the different source folders will reveal a number of other
artifacts that were generated, but we will leave these untouched for the moment. Instead,
we will look at another wizard that enables us to create an empty process
definition.</para>
- </section>
- <section id="creating_an_empty_process_definition">
+ <para>Looking inside the different source folders will reveal a number of other
artifacts
+ that were generated, but we will leave these untouched for the moment. Instead, we
will
+ look at another wizard that enables us to create an empty process
definition.</para>
+ </section>
+ <section id="creating_an_empty_process_definition">
<?dbhtml filename="creating_an_empty_process_definition.html"?>
<title>Creating an Empty Process Definition</title>
- <para>When the project is set up, we can use a creation wizard to create an empty
process definition. Bring up the
<emphasis><property>New</property></emphasis> wizard by clicking
the <emphasis><property>File > New >
Other...</property></emphasis> menu item. The wizard opens on the
<emphasis><property>Select Wizard</property></emphasis>
page.</para>
+ <para>When the project is set up, we can use a creation wizard to create an empty
process
+ definition. Bring up the <emphasis>
+ <property>New</property>
+ </emphasis> wizard by clicking the <emphasis>
+ <property>File > New > Other...</property>
+ </emphasis> menu item. The wizard opens on the <emphasis>
+ <property>Select Wizard</property>
+ </emphasis> page.</para>
<figure>
<title>The Select Wizard Page</title>
<mediaobject>
@@ -55,7 +90,15 @@
</imageobject>
</mediaobject>
</figure>
- <para>Selecting the <emphasis><property>JBoss
jBPM</property></emphasis> category, then the
<emphasis><property>Process Definition</property></emphasis> item
and clicking on the <emphasis><property>Next</property></emphasis>
button brings us to the <emphasis><property>Create Process
Definition</property></emphasis> page.</para>
+ <para>Selecting the <emphasis>
+ <property>JBoss jBPM</property>
+ </emphasis> category, then the <emphasis>
+ <property>Process Definition</property>
+ </emphasis> item and clicking on the <emphasis>
+ <property>Next</property>
+ </emphasis> button brings us to the <emphasis>
+ <property>Create Process Definition</property>
+ </emphasis> page.</para>
<figure>
<title>The Create New Process Definion Page</title>
<mediaobject>
@@ -64,7 +107,11 @@
</imageobject>
</mediaobject>
</figure>
- <para>We choose
<emphasis><property>hello</property></emphasis> as the name of the
process archive file. Click on the
<emphasis><property>Finish</property></emphasis> button to end the
wizard and open the process definition editor.</para>
+ <para>We choose <emphasis>
+ <property>hello</property>
+ </emphasis> as the name of the process archive file. Click on the
<emphasis>
+ <property>Finish</property>
+ </emphasis> button to end the wizard and open the process definition
editor.</para>
<figure>
<title>The Process Definition Editor</title>
<mediaobject>
@@ -73,44 +120,87 @@
</imageobject>
</mediaobject>
</figure>
- <para>As you can see in the package explorer, creating a process definition
involves creating a folder with the name of the process definition and populating this
folder with two .xml files :
<emphasis><property>gpd.xml</property></emphasis> and
<emphasis><property>processdefinition.xml</property></emphasis>.</para>
- <para>The first of these two contains the graphical information used by the
process definition editor. The processdefinition.xml file contains the actual process
definition info without the graphical rendering info. At present, the GPD assumes that
these two files are siblings. More sophisticated configuration will be supported
later.</para>
+
+
+ <para>You can see in the Package Explorer that creating a process definition
involves
+ creating a folder with the name of the process definition and populating this folder
+ with two .xml files : <emphasis>
+ <property>gpd.xml</property>
+ </emphasis> and <emphasis>
+ <property>processdefinition.xml</property>
+ </emphasis>.</para>
+ <para>The first of these two contains the graphical information used by the
process
+ definition editor. The <emphasis>
+ <property>processdefinition.xml</property>
+ </emphasis> file contains the actual process definition info without the
graphical
+ rendering info. At present, the GPD assumes that these two files are siblings. More
+ sophisticated configuration will be supported later.</para>
+
<section id="minimal_process_definition">
- <?dbhtml filename="minimal_process_definition.html"?>
- <title>A Minimal Process Definition</title>
- <para>We will create a very simple process definition, consisting of a begin
state, an intermediate state and an end state.</para>
- <section id="adding_the_nodes">
- <?dbhtml filename="adding_the_nodes.html"?>
- <title>Adding the Nodes</title>
- <para>Select respectively
<emphasis><property>Start</property></emphasis>,
<emphasis><property>State</property></emphasis> and
<emphasis><property>End</property></emphasis> on the tools palette
and click on the canvas to add these nodes to the process definition. The result should
look similar to this:</para>
- <figure>
- <title>A Simple Process With Three Nodes</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour7.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <?dbhtml filename="minimal_process_definition.html"?>
+ <title>A Minimal Process Definition</title>
+ <para>We will create a very simple process definition, consisting of a begin
state, an
+ intermediate state and an end state.</para>
+ <para>To make the configuration of actions much easier it's better to
use the
+ jPDL perspective. It provides the tabbed
+ Properties Editor which allows to configure all the relevant properties of the
current
+ selected item. </para>
+
+ <section id="adding_the_nodes">
+ <?dbhtml filename="adding_the_nodes.html"?>
+ <title>Adding the Nodes</title>
+ <para>Select respectively <emphasis>
+ <property>Start</property>
+ </emphasis>, <emphasis>
+ <property>State</property>
+ </emphasis> and <emphasis>
+ <property>End</property>
+ </emphasis> on the tools palette and click on the canvas to add these nodes
to
+ the process definition. The result should look similar to this:</para>
+ <figure>
+ <title>A Simple Process With Three Nodes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="adding_transitions">
+ <?dbhtml filename="adding_transitions.html"?>
+ <title>Adding Transitions</title>
+ <para>We will connect the nodes with transitions. Select the <emphasis>
+ <property>Transition</property>
+ </emphasis> tool in the tools palette and click on the <emphasis>
+ <property>Start</property>
+ </emphasis> node, then move to the <emphasis>
+ <property>State</property>
+ </emphasis> node and click again to see the transition being drawn. Perform
the
+ same steps to create a transition from the <emphasis>
+ <property>State</property>
+ </emphasis> node to the <emphasis>
+ <property>End</property>
+ </emphasis> node. The result will look like:</para>
+ <figure>
+ <title>A Simple Process With Transitions</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
</section>
- <section id="adding_transitions">
- <?dbhtml filename="adding_transitions.html"?>
- <title>Adding Transitions</title>
- <para>We will connect the nodes with transitions. Select the
<emphasis><property>Transition</property></emphasis> tool in the
tools palette and click on the
<emphasis><property>Start</property></emphasis> node, then move to
the <emphasis><property>State</property></emphasis> node and click
again to see the transition being drawn. Perform the same steps to create a transition
from the <emphasis><property>State</property></emphasis> node to
the <emphasis><property>End</property></emphasis> node. The result
will look like:</para>
- <figure>
- <title>A Simple Process With Transitions</title>
- <mediaobject>
- <imageobject>
- <imagedata
fileref="images/guided_tour_jboss_jbpmgpd/guided_tour8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
- </section>
- </section>
- <section id="the_outline_view">
+ </section>
+ <section id="the_outline_view">
<?dbhtml filename="the_outline_view.html"?>
<title>The Outline View</title>
- <para>You can see an outline of the process being drawn in the JBDS outline view
if it is visible (if not select <emphasis><property>Window > Show view
> Outline</property></emphasis>). It is presented as the classical tree
view. Also you can use
<emphasis><property>Overview</property></emphasis> that comes as
as a scrollable thumbnail.</para>
+ <para>You can see an outline of the process being drawn in the JBDS outline view
if it is
+ visible (if not select <emphasis>
+ <property>Window > Show view > Outline</property>
+ </emphasis>). It is presented as the classical tree view. Also you can use
<emphasis>
+ <property>Overview</property>
+ </emphasis> that comes as as a scrollable thumbnail.</para>
<figure>
<title>The Outline and Overview Views</title>
<mediaobject>
@@ -119,11 +209,18 @@
</imageobject>
</mediaobject>
</figure>
- </section>
- <section id="the_properties_view">
+ </section>
+ <section id="the_properties_view">
<?dbhtml filename="the_properties_view.html"?>
<title>The Properties View</title>
- <para>If the JBDS Properties view is visible (if not select
<emphasis><property>Window > Show view >
Properties</property></emphasis>), the relevant properties of the selected
item are shown. Some of these properties may be directly editable in the properties view.
An example of a directly editable property is the name property of the process definition.
As you can see in the next figure, the name property of the process definition can be
changed to <emphasis><property>jbay</property></emphasis>. You can
also write a description for this property.</para>
+ <para>If the JBDS Properties view is visible (if not select <emphasis>
+ <property>Window > Show view > Properties</property>
+ </emphasis>), the relevant properties of the selected item are shown. Some of
these
+ properties may be directly editable in the properties view. An example of a directly
+ editable property is the name property of the process definition. As you can see in
the
+ next figure, the name property of the process definition can be changed to
<emphasis>
+ <property>jbay</property>
+ </emphasis>. You can also write a description for this property.</para>
<figure>
<title>The Properties of a Process Definition</title>
<mediaobject>
@@ -132,7 +229,11 @@
</imageobject>
</mediaobject>
</figure>
- <para>Let's change the name of the first transition to
<emphasis><property>to_auction</property></emphasis>. We repeat
this name change for the second transition and name it
<emphasis><property>to_end</property></emphasis>.</para>
+ <para>Let's change the name of the first transition to <emphasis>
+ <property>to_auction</property>
+ </emphasis>. We repeat this name change for the second transition and name it
<emphasis>
+ <property>to_end</property>
+ </emphasis>.</para>
<figure>
<title>Transitions Names</title>
<mediaobject>
@@ -141,13 +242,20 @@
</imageobject>
</mediaobject>
</figure>
- </section>
-
-
- <section id="direct_editing">
+ </section>
+
+
+ <section id="direct_editing">
<?dbhtml filename="direct_editing.html"?>
<title>Direct Editing</title>
- <para>Some properties can be directly edited in the graphical editor. One example
of this is the <emphasis><property>Name</property></emphasis>
property of nodes. You can edit this directly by selecting the node of wich you want to
change the name and then click once inside this node. This enables an editor in the node.
We change the name of the node to
<emphasis><property>auction</property></emphasis>.</para>
+ <para>Some properties can be directly edited in the graphical editor. One example
of this is
+ the <emphasis>
+ <property>Name</property>
+ </emphasis> property of nodes. You can edit this directly by selecting the node
of wich
+ you want to change the name and then click once inside this node. This enables an
editor
+ in the node. We change the name of the node to <emphasis>
+ <property>auction</property>
+ </emphasis>.</para>
<figure>
<title>Directly Editing the Node Name</title>
<mediaobject>
@@ -156,11 +264,13 @@
</imageobject>
</mediaobject>
</figure>
- </section>
- <section id="the_source_view">
+ </section>
+ <section id="the_source_view">
<?dbhtml filename="the_source_view.html"?>
<title>The Source View</title>
- <para>Now that we have defined a simple process definition, we can have a look at
the xml that is being generated under the covers. To see this xml, click on the source tab
of the process definition editor.</para>
+ <para>Now that we have defined a simple process definition, we can have a look at
the xml
+ that is being generated under the covers. To see this xml, click on the source tab of
+ the process definition editor.</para>
<figure>
<title>The Source View</title>
<mediaobject>
@@ -169,12 +279,15 @@
</imageobject>
</mediaobject>
</figure>
- <para>This source tab is editable, so if you know your way around in jpdl, you
can create or tweak your process definitions directly in the xml source.</para>
- </section>
- <section id="the_design_view">
+ <para>This source tab is editable, so if you know your way around in jpdl, you
can create or
+ tweak your process definitions directly in the xml source.</para>
+ </section>
+ <section id="the_design_view">
<?dbhtml filename="the_design_view.html"?>
<title>The Design View</title>
- <para>The file is also editable in
<emphasis><property>Design</property></emphasis> view as you can
see in the next picture:</para>
+ <para>The file is also editable in <emphasis>
+ <property>Design</property>
+ </emphasis> view as you can see in the next picture:</para>
<figure>
<title>The Design View</title>
<mediaobject>
@@ -183,11 +296,13 @@
</imageobject>
</mediaobject>
</figure>
- </section>
- <section id="the_deployment_view">
+ </section>
+ <section id="the_deployment_view">
<?dbhtml filename="the_deployment_view.html"?>
<title>The Deployment View</title>
- <para>The deployment settings of the project you can configure in
<emphasis><property>Deployment</property></emphasis>
view.</para>
+ <para>The deployment settings of the project you can configure in
<emphasis>
+ <property>Deployment</property>
+ </emphasis> view.</para>
<figure>
<title>The Deployment View</title>
<mediaobject>
@@ -196,6 +311,5 @@
</imageobject>
</mediaobject>
</figure>
- </section>
- </chapter>
-
\ No newline at end of file
+ </section>
+</chapter>