In cases such as “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 that is “for entering data in the web form published at the specified URL”.

Message Start Event (Form)

This is an object that allows to Start a Process to be triggered from a public web form. Regardless of the Operator setting of the Swimlane,

  • Knowing the public web form URL,
  • Connecting from an IP address permitted to access the form

anyone can enter data into the public form. You can configure access permission settings at “Message Start Event/Catching Message Intermediate Event Configuration < IP Address Filtering < Security < System Settings.” 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 to set 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 a 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 to validate if email addresses exist.

You can leave Operator setting as the default.

Workflow diagram

Create a Workflow diagram like the following figure. Find the icons Message Start Event (Form), Throwing Message Intermediate Event (Email) and Receive Task (Form) in the Advanced pallet.

Data Items

Set the following four Data Items.

Name Data type Remarks
Title String-type single-line
Email address String-type single-line Required
Name String-type single-line Required
Form key String-type single-line Initial: #{#randomString(20)}

Data editing permission

Set like the following table.

Start Receive Confirm
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 the following.

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}/<node number>/#{#FIELD NAME}/view

Settings of Receive Task (Form)

From the pulldown menu on the API key tab, select Form key. 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. The public web form URL can be confirmed on the Workflow diagram.

As you open the property window of the Message Start Event (Form), you will see the [URL details] button, which used to be grayed-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 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 “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 Message Start Event (Form) and 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 businesses 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 the 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: