Message Extensions plugin

We use the plugin “Message Extensions” to show a dialog where it is possible to get an user input and add/update/cache a record accordingly:

No additional components are needed to start with the Message Extensions - only the plugin itself:

Under the Application maintenance subsystem > add a new “Hidden” module > add a new page > add a form:

Add input(s) and set it as a Dummy field so it won’t be saved in a database but used as a placeholder (check UML post):

You can add the OnChange process to an input and set a value. Notice that inside the onChange process you need to update a record not edit it:

OnChange process and Update Record step can be very useful together if you have several inputs that depend on each other, so it is possible to “listen” to changes, configure a conditional rendering.

In the example below > as soon as a property input is changed > we trigger the OnChange process on this input > inside the process we update record (not edit!) where record = trigger.pagestate > we set a value to the related response scale input (2) > the input is updated inside a dialog.

6

When the popup is ready > then go to the place where you are going to trigger the dialog > create or find a process that is triggered > lock page state (lock record > lock settings > lock a new record > type > select the hidden page you have just created):

Add “ExtendedShowDialogAction” step from the Palette and configure it > plugin configuration tab > click “Add new” to add button(s) to a dialog > set key, translation, and CSS class for add/cancel buttons:

If your hidden page has any input and you want to show it inside your dialog > set FormPanel containing the inputs to show:

The “Width of formPanel containing the inputs to show” parameter is used to set the ratio of the displayed form panels. If you have 1 column > then it needs to be empty or 100, if you have 2 columns > values could be 50 for the first and 50 for the second column, or 40 and 60, etc.

Go to Parameters tab > set title and message you’d like to see inside your dialog and assign page state:


The parameter “Dialog width” is used to calculate the minimum width of the opened dialog.

The max width for a dialog is calculated as the current_window_width - 120. The minimum width of a dialog is the lower one between the provided width parameter and the max width.

Then its just kendo utilising these values to fit the dialog contents and display a window with width between the minimum and maximum widths.

After plugin configuring you can use the decision step > you can check which key (button) was clicked by the user (OK or CANCEL, etc.):

After "ExtendedShowDialogAction” step you can use value(s) from the locked page state > add, edit, cache, etc.:

Before finishing your process > don’t forget to unlock the page state: