When accepting applications from customers with Questetra BPM Suite via the web, a web form that is accessible from the outside is needed. In Questetra BPM Suite we can use two objects to create a public web form into which data can be input and then viewed in a Task. These are [Message Start Event (Form)] and [Receive Task (Form)]. To give an example of these objects, I will show you how to create an App that validates the existence of an email address in the following manner.

  • An external user submits their email address via a public web form
  • Transmit the public form URL of the next Task to that address from the App
  • Let the person submit their name via the public web form

Objects for setting up public web forms

As mentioned above, there are two types of objects for setting up public forms: [Message Start Event (Form)] and [Receive Task (Form)]. By placing one of these in a Workflow diagram a Task is set up for entering data into the web form published at the specified URL.

Message Start Event (Form)

This is an object that allows a Process to be triggered from a public web form. Regardless of the Operator settings of the Swimlane, anyone can enter data into the public form as long as:

  • They know the public web form URL
  • They are connecting from an IP address that is permitted to access the form

You can configure access permission settings at System Settings > Security > IP Address Filtering > Message Start Event/Catching Message Intermediate Event Configuration. For details on how to set IP address restrictions, see Setting of IP Address Filter section in Starting a Process from Outside of Questetra BPM Suite (Preparatory Chapter).

Receive Task (Form)

This is an object for setting a public web form in-between a Start Event and an End Event. It advances the Token to the next object when data is submitted via a public web form.

The conditions to access the public web form are the same as for a [Message Start Event (Form)]. Anyone can access a public web form regardless of the Operator settings of the Swimlane, though the URL and the access permission for the IP address are required.

Configuration of the App

Now, let’s see how to use the two types of object for setting up public web forms by creating an App that will validate if email addresses exist.

You can leave the Operator setting as the default.

Workflow diagram

Create a Workflow diagram like the following figure. Find the icons [Message Start Event (Form)] in the Start Event palette, [Throwing Message Intermediate Event (Email)] in the Intermediate Event palette, [Receive Task (Form)] in the Auto-Processing Task palette.

Data Items

Set the following four Data Items.

NameData typeRemarks
TitleString-type single-line
Email addressString-type single-lineRequired
NameString-type single-lineRequired
Form keyString-type single-lineInitial: #{#randomString(20)}

Data editing permission

Set like the following table.

Title(No display)(No display)(Only display)
Email address(Editable)(Only display)(Only display)
Name(No display)(Editable)(Only display)
Form key(No display)(No display)(Only display)

Settings in Throwing Message Intermediate Event (Email)

Set the TO address, the Subject and the Body as follows.

Regarding the TO address and the body, use Embedded Commands. For details of the [Throwing Message Intermediate Event (Email)], see Let’s Send an Email Automatically in the Middle of a Workflow.

For the body, create the URL for accessing the following [Receive Task (Form)]. The URL is composed using data embedding of the System variable, Application route URL, Process ID and Form key, like the following.

${var[applicationRoot]}System/ReceiveTask/Form/#{processModelInfoId}/<nodeNumber>/#{#FIELD NAME}/view

The <nodeNumber> should be replaced by the Node Number of the [Receive Task (Form)]. The FIELD NAME should be replaced by the field name of the Data Item “Form key“.

Settings of Receive Task (Form)

Select Form Key from the API Key pulldown menu on the General tab.

Earlier, you should have set that the initial value of the Data Item “Form key” to #{#randomString(20)}. That is a formula for generating a random string of 20 characters. With this, the access URL for the Receive Task (Form) will become random so that a third party person won’t be able to access it.

This completes the App settings. Let’s save and release the App, and try using it.

Try using it

Confirming the URL for Message Start Event

First, let’s access the [Message Start Event (Form)] to start a Process. Click Details for the latest released version to open the workflow diagram.

As you open the property window of the [Message Start Event (Form)], you will see the [Form URL] button, which used to be greyed-out while designing the App, has become clickable. By clicking the button, you can confirm the public web form URL and access permission settings (Allowed Hosts/Networks).

Access Message Start Event (Form)

After you confirm the public form URL and access permission settings, let’s access the [Message Start Event (Form)]. When you access the form you will be asked to enter your email address, so enter one you have access to.

Confirm an email

Once you have submitted data on the public form you will receive an email to the entered address from the [Throwing Message Intermediate Event (Email)].

You will see the URL of the next [Receive Task (Form)] in the mail body. These procedures enable you to check whether the entered email address is valid.

Access Receive Task (Form)

Let’s access the [Receive Task (Form)] via the URL written in the email, input your name and submit. By devising the input items in this public form, it can be applied to various cases.

Operate the “Confirm” Task

Finally, go back to Questetra BPM Suite and operate the Confirm Task. As the Data Items entered via the public web form are shown, please confirm they are as expected.

In this way, by using a [Message Start Event (Form)] and a [Receive Task (Form)], data can be input from the outside. Please utilize Questetra BPM Suite to create your own web forms!

In the next post, I’m going to introduce you to some useful settings for applying to real business such as, setting up a deadline on email address validation, or implementing validation to some extent upon inputting an email address to the public form of a Start Event.

Previous: Input check

2 thoughts on “Let’s Create Public Web Forms (Basic)”

  1. Pingback: Let’s Create Public Web Forms (Input check) – Questetra Support

  2. Pingback: Receive Task (FORM) – Questetra Support

Comments are closed.

%d bloggers like this: