Process Mapping Logo

Process Mapping - Articles

A Process of Improvement. An Outcome of Excellence.

Defining Forms

Forms are defined per Activity. You can easily create reusable forms as well. These can be embedded into any other form.

Each form can contain Tabs, Groups, or embedded forms. Groups can be collapsed or expanded at run time, either manually by users or in code.

The Behaviour (Editable/Visible/Required) of each field can be set in the design. This can also be set to an expression, allowing changes to made at run time in code. What is very useful is that the behaviour of the containers can also be changed, and by default, all of the fields inherit this behaviour. This can be overridden for particular fields, however.

The layout elements provide a comprehensive way to design forms so that layout can be preserved across platforms. As layouts can be nested, the options are not limited in any real way.

Finally, the default 'Save' and 'Next' buttons can be overridden and changed. These can be made to do different things, added to or removed. In our demonstration we show a few ways to make use of this to make the interface more familiar or simple to your users.

Define Forms
definition of Define Forms

Define Forms lets you define all the user interface forms for the users to enter and view data, and you can apply these for each of the activities in the process, or create reusable forms to use in any activity.

Define Forms
an example of defining forms per activity

The forms are defined per activity.

Define Forms
an example of drag and drop

Define Forms
an example of drag

Define Forms
an example of drop

Typically, you can add any process data to the form with a simple drag and drop.

Define Forms
an example of adding sub-attributes

All the sub-attributes of all linked entities are also available for adding to the form.

Define Forms
an example of the Layout option

Define Forms
an example of drag in the Layout option

Define Forms
an example of drop in the Layout option

There is a Layout option, where for any part of the form, you can add layouts. These can be one, two or three columns, and can be adjusted manually.

Define Forms
an example of nested Layouts

Define Forms
an example of drag in nested Layouts

Define Forms
an example of drop in nested Layouts

These Layouts can also be nested. This gives you full flexibility for designing your forms without requiring you to define exactly where things go, and allows it to be much more flexible when you are viewing it in different platforms, such as, tablets, mobile phones and desktops.

Define Forms
an example of Controls

As well as this we have all the basic, and complex, Controls.

Define Forms
an example of Groups, Panels and Tabs

We also have Groups, Panels and Tabs.

Define Forms
an example of Tabs

The Tabs behave as you would expect when there are different tabs on the same form.

Define Forms
an example of adding many Tabs

You can have different Tabs on the same form and add as many Tabs as you wish.

Define Forms
an example of adding fields within a Group

Groups are basically groups of any fields. Any fields can be added within a Group. The advantage of these is that you can set the properties of the entire Group in one go. You can hide or show a whole group of fields, and set the behaviour of the fields, making the whole thing 'read-only', and this dynamic at run time as well.

If you change that to an Expression, then it will be evaluated and it will change the behaviour of that entire group. You can also do the same with individual Fields, but this allows you to do it with an entire Group, which is a good shortcut.

Define Forms
an example of how to expand or collapse a group at run time

At run time, these groups can be expanded or collapsed, both manually (by the user) and programmatically (in code).

Define Forms
an example of copying form contents from an existing Activity

When creating a form for an Activity, you are able to copy the form contents from an existing Activity. You can select any activity, click on OK, and it will copy everything from the selected form into your current form. This is a quick way of copying existing functionality.

Define Forms
an example of a reusable form

You can also create reusable forms.

Define Forms
an example of a reusable form not tied to any activity

This is a reusable form created that's not tied to any activity, and it can be dragged onto any other form.

Define Forms
an example of an embedded form

This form is entirely separate, and if that changes, the reflections are changed on all instances of the form. It is not a copy, this is an embedded form.

Define Forms
selecting if the embedded form is Visible of Editable

With this embedded form, you can decide whether it is Visible and Editable, and it's all possible to change programmatically, as well.

Define Forms
an example of the buttons at the bottom of the form

By default there are buttons at the bottom of each form and these are managed by the system. You can choose to override these, however, and define your own behaviour, or even your own additional buttons. You can have as many as you like, and they can be hidden or shown, programmatically, depending on the data that's input.

Define Forms
an example of changing the Caption

With these buttons you can change the Caption, change whether they save the data, close the Activity or commit that Activity and go on to the next one. Like all fields, you can also change whether or not they are visible, and this can be defined by an Expression to be evaluated at run time.

This allows you to override the default behaviour, and easily create 'chained' forms with sophisticated selection logic if required.

Define Forms
an example of a Button execution

There's a Button execution, which by default is None for newly added buttons. You can decide whether or not they follow a business rule, and select an existing Rule or create a new one.

Define Forms
an example of a Service URL

Alternatively, you can call different Interface. This is a Service URL for SOAP or REST.

Define Forms
an example of Actions & Validations

Each form allows Actions & Validations. You can Add any Action to execute code, or run any Validations, including existing Business Rules.

Define Forms
an example of a Condition

There is a lot we can do at any time without having to write code. You can add a Condition when almost any event occurs, such as when a field changes. You can specify quite complex rules, and then add the Action you want to execute.

Define Forms
an example of adding a Validation

You can also add any Validations. Here, for example, if the Order Item Cost is greater than 3000 the system shows a simple message. You can Add any number of conditions, using and/or condition groups.

Define Forms
an example of Validate the Data

This will run when the data is validated. This happens if you have a button there to Validate the Data, and also on submitting the form.

[image of field formatting]

Many formatting options are available for fields, depending on the field type.

Define Forms
an example of Copy Format

You can also copy the applied formatting from any field to another field.