|
Genesys 8.1 SCXML Technical Reference |
||
< Action Elements Versioning > |
The events of a functional module interface will be exposed by an SCXML event model with a unique event naming convention and corresponding event properties via the _event system variable and a defined ECMAScript object at the following location: _event.data. In other words, all the event-specific objects and properties will be accessed from this location (for example, the targetselected property of the queue.submit.done event, that is, _event.data.targetselected).
The event names will be defined at the functional module interface level. So if multiple functional modules implement the same functional module interface then they will fire the same events for that interface. The origin property of the event (_event.origin) must have the appropriate "fm" URI Schema value. See Supported URI Schemes section for details on the "fm" URI Schema.
All variable event content will be ECMAScript objects or properties. If the event and its content is transported externally, it will converted to the JSON string format.
All events must have the common set of properties defined in the
Event subscription for action response events is done implicitly (the session is tied to the action that was performed). This is true for both SCXML element actions and functional module actions. In addition, event subscription for objects that are owned by the session (interactions, and so on) is done implicitly between the platform and the functional modules (the session is tied to the object). As for other functional module–specific event subscriptions, these will be done explicitly by the orchestration logic and the defined functional module interface. As for session-related events, there is only an implicit event subscription for other sessions started by the session.
Events can be sent or published by the logic to a functional module via two methods:
<send>
element and a targettype attribute value of "fm" and a target attribute value of "fm" URI schema.Besides the specific events defined for each functional module, the following are the common events that can used when processing a functional module action or ECMAScript function.
Event Name |
Description |
Where used |
---|---|---|
error.illegalcond.errortype |
If a conditional expression does not evaluate to a boolean value ('true' or 'false'), this event is raised. The optional errortype element indicates the ECMAScript error type as specified in Section 15.11.6 of [ |
Any element that has a boolean expression attribute |
error.illegalloc.errortype |
If a location expression does not evaluate to a legal location, this event is raised. The optional errortype element indicates the ECMAScript error type as specified in Section 15.11.6 of [ This event is also raised under the following conditions:
|
Any element that has an attribute that is a location expression |
error.illegalvalue.errortype |
If a value expression does not return a legal data value, this event is raised. The optional errortype element indicates the ECMAScript error type as specified in Section 15.11.6 of [ |
Any element that has an attribute that is a value expression |
error.illegaldata.errortype |
Any errors which arise during initialization must be mapped into this event, where the optional errortype element indicates the ECMAScript error type as specified in Section 15.11.6 of [ |
Any element that is processed at load time |
error.script.function |
Any errors which arise during processing of |
This is any error that arises as a result of a failure with ECMAScript function. |
error.unsupported.element |
The platform will raise this event when an element is not supported. The element element identifies the name of the element that is not supported. |
This is used for any element that is not supported by the functional module. |
error.badfetch |
The platform will raise this event when it cannot fetch the data from its source. Note: If the |
Any element that is fetching data from some source (source-related attributes, src, srcexpr). |
error.illegalassign |
This event is raised when the application attempts to change the value of a read-only protected variable or data item. |
Any element that could change a variable or data item |
The following is the namespace convention that we will use for all functional modules:
For example, msgbased.createmessage.done and error.msgbased.createmessage and interaction.created
The following is a summary of all the functional module interface prefix names:
Functional Module Interface |
Event Name Prefix |
---|---|
queue |
|
interaction |
|
voice |
|
msgbased |
|
chat |
|
dialog |
|
resource |
|
statistic |
|
classification |
|
session |
|
ws |
|
Genesys 8.1 SCXML Technical Reference |
||
< Action Elements Versioning > |