|
|
The biggest difference we find is that
Forms are no longer associated with the Process
(formerly ‘Map’). In order to associate a Form
with the Process data, you need to drag the
automatically created Business Object for that Process
to the Form.
|
|
|
This creates an instance of that Business
Object, with a numeric suffix.
|
|
|
Expanding this shows the variables and
parameters. We will discuss the parameters in more
detail when discussing Business Objects, but they
define the record accessed by this
instance.
|
|
|
We add another Process,
and we find we can add the Process Business Object for
that too.
It is worth noting that any form can be
used in any Process. This means they can be shared
between Processes, although care must be taken (more on
that later).
|
|
|
Here I've added a couple
of custom Business Objects. One is editable, and one,
with a RO suffix, is read-only.
Note the different icons, and that the
Process Business Objects are editable by
default.
|
|
The context menu on a
read- only Business Object allows you to select (among
other things) ‘AlwaysRefresh’. Selecting
this is akin to setting a field to ‘is
dependent’. Note that you have to set any associated
field to ‘is dependent’ to make this
work.
You can also set the page size for records
retrieved. This is only important for grids, I believe.
I am not certain what effect this value has for things
like dropdown options, if any.
|
|
|
Note also that you can add the same
Business Object more than once. This may be useful if
you want to populate a dropdown with one, and fill
fields based on the selection from the dropdown, for
example.
|
|
|
Here we show the Parameter. For Process
Business Objects the default is always the Folder
Id.
|
|
|
We can change this, however, to be the
Folder Parent. This would allow you to retrieve data
easily from the Parent Folder without resting to
SQL.
|
| You can also set this data,
thus updating the fields in the database. This bypasses the
normal transaction and audit capabilities of Metastorm BPM,
so must be used with extreme care.
|
|
|
The easiest way to
create fields on the Form is to drag them straight from
the Business Object instance. The appropriate field
type is created.
|
| Note that dropdowns and
list boxes will always have to be created and have variables
linked in a two-step process as they will not be created like
this.
|
|
Here a text field is created, and you can
see it is named after the variable (name and Caption),
linked to the Business Object and the variable, as well
as being made optional.
|
|
You can also multi-select fields (Ctrl- and
Shift-Click) and drag them in one go. A huge time
saver!
|
|
But it gets better – you can
choose to have fields or a grid!
|
|
|
Here is the result if you select
fields.
|
|
As you can see, all properties are set as
if you dragged them one at a time.
|
|
Now I take some more (from by custom
Business Object as it makes no sense from a Process
Business Object) …
|
|
… and
select a Grid this time …
|
|
… and it creates a grid. The
fields are all named after the variables, BTW, mine are
actually Column1, 2 and three (bad choice,
sorry).
|
|
| Looking at the Column
properties, everything is set as I'd want, all I need to is
set the width and title as desired, and perhaps change the
behaviour.
|
|
For the read-only Business Object, when I
drag variables across and maker a grid, the fields are
correctly read-only.
|
|
|
The variable dialog is
similar to previous versions, but has a more useful
tree interface as opposed to tabbed. You can also add a
description for it now.
Notice that there is also a Business Object
created (called ‘Local’) for each Form.
This allows creation of temporary variables for
Forms.
|
|
You can create fields for these Local
variables in the same way.
|
|
|
|
You can also create Local variables for
Form Segments. This will be extremely useful for
reusable functional Form Segments.
|
|
Form segments are added in much the same
way as we added Sub-Processes in the Process map. They
appear in the Toolbox, and can be dragged onto the
Form.
|
|
Interestingly, the variables from the Form
Segment then become available as a new Business Object
instance.
|
|
This could provide significant interaction
between the Segment and containing Form, which was not
previously possible. As an example you could set a variable
on your containing form that hides or displays certain fields
in the form segment, if set to be
dependent.
|
|
|
|
|
|