About prompt choices and responses
If a message is the result of a Prompt action in the Application Event System (AES), the sender of that message can request a specific response from each recipient, usually in the form of a button-vote mechanism. In such cases, the system must be set first to wait for responses, then to know how to handle responses as they are received, and finally, be instructed what to do when responses are not received within a specified timeout period.
Incoming prompts request a response from recipients (using the Question field on the Inbox form or the external email) and display a set of choices. The choices are displayed in the form of voting buttons in the Response tab area of the Inbox form, or in the form of links in an external email. For example, a prompt may include buttons or links labeled like any of these:
- or (default option)
- or
- , , or
To customize the choices for a prompt, you must include a Prompt action with a Choices parameter as part of the event action definition. This Choices parameters consists of the CHOICES function followed by a string expression that evaluates to a comma-separated list that contains an even number of elements (value/label pairs). For example, if you want the voting buttons to be labeled 'Yes' and 'No', with corresponding values returned to the action to be '1' and '0', you might include this parameter:
CHOICES("1,sYes,0,sNo")
In this example, the strings sYes and sNo are translatable strings. These are defined for the system as "Yes" and "No", respectively.
If you want your button labels to be localized, for the recipient, you must take one of these additional steps:
- Use names of existing translatable strings (as found in the Strings table).
- Add your own strings, using the Strings
form, and provide the necessary translations.
To open the Strings form, you must be in a designer (the Web Designer or Design Mode) and then, from the menu, select .
If localization is not an issue, you can also use a literal value that displays on the button verbatim. To specify the string as a literal value here, simply specify it as a list value. If the system does not find the string in the Strings table, the system automatically treats it as a literal value.