|
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.
|
|
|
|
|