Object Overview
The IM output connector object allows
AlchemyPoint Server to send messages to AIM Instant Messenger users. Using this connector,
AlchemyPoint can operate as an IM "bot", automatically notify IM users of certain types of information, etc.
This object utilizes
AlchemyPoint's underlying Connector framework and thus supports a variety of rate limiting and concurrency options.
Example Object Definitions
... directly within the top-level
ServerConfiguration object:
Minimal Configuration:
<IMOutputConnector name="AimOut1"
connection="aimConnection1"
recipient="Sue434"/>
Overview:
The above example is a IM output connector that accepts 'raw'
IMMessages? from an IMConnection binding, or opaque data from
OpaqueMessages? and
KeyValueMessages? . This connector sends messages to the AIM user "Sue434" upon receiving data from
AlchemyPoint.
Complex Configuration (all possible attributes shown):
<IMOutputConnector name="AimOut1" tags="connector IM output"
description="example output for sending messages to AOL Instant Messenger users (AIM)"
connection="aimConnection1"
recipient="Sue434"
disableRecipientOverride="true"
rateLimitDuration="60"
rateLimitPipelineMax="1"
connectRateLimit="5"
messageRateLimit="5"
reconnectAttempts="5"
reconnectInterval="60"
reconnectExpBackoff="true"/>
Overview:
The above example is a IM output connector that accepts 'raw'
IMMessages? from an IMConnection binding, or opaque data from
OpaqueMessages? and
KeyValueMessages? . This connector sends messages to the AIM user "Sue434" upon receiving data from
AlchemyPoint, and disables overriding this AIM recipient (even if 'raw' IMMessages are received).
This connector is rate limited at 5 IM message transmissions every 60 seconds, and will attempt to redeliver IM messages up to 5 times. The first redelivery attempt is made after a 60 second delay, with subsequent attempt delays doubling each time (120 seconds, 240, ...).
Supported Attributes
General Attributes:
- name - (usage: required): Public name of the configuration object. This name must be globally-unique across the entire AlchemyPoint ServerConfiguration definition.
- description - (usage: optional): Textual description of the configuration object.
- tags - (usage: optional): Space-delimited list of one or more tags used to describe the configuration object.
Object Attributes:
- connection - (usage: required): The published name of the IMConnection object to utilize when sending AIM messages. Multiple IMOutputConnectors may dispatch messages through a single IMConnection.
- recipient - (usage: required): The AIM screen name of the recipient user to which AIM messages should be sent. This setting may be overridden if the "disableRecipientOverride" parameter is set to "false".
- disableRecipientOverride - (usage: optional, default: "false"): If set to 'true', disables the ability for 'raw' MailMessages? ? or KeyValueMessages? ? to overwrite the static AIM 'recipient' configured for this Connector.
Rate Limit Attributes:
- rateLimitDuration - (usage: optional, default: "0"): The duration (in seconds) utilized by both the 'connectRateLimit' and 'messageRateLimit' parameters. A value of "0" disables all rate limits for this Connector.
- connectRateLimit - (usage: optional): The number of TCP connections that may be created by this Connector within the 'rateLimitDuration' period.
- messageRateLimit - (usage: optional): The number of IM messages that may be sent by this Connector (possibly within the scope of a single TCP connection) within the 'rateLimitDuration' period.
- rateLimitPipelineMax - (usage: optional): The number of IM messages that may be 'pipelined' by this Connector (sent in a single 'bunch' without any messageRateLimit between messages, within the scope of a single TCP connection). This setting is useful for specifying the number of IM messages that may be sent in rapid sequence over a single AOL IM connection.
- The 'rateLimitPipelineMax' setting has an upper bound of 'messageRateLimit' messages. The maximum allowable value for this pipeline setting is the Connector's 'messageRateLimit' setting.
Automatic Reconnect Attributes:
- reconnectAttempts - (usage: optional, default: "0"): The number of times (0-1000) this Connector should attempt to deliver an outbound IM message.
- reconnectInterval - (usage: optional, default: "1"): The interval (1+) in seconds that the Connector should delay between redelivery attempts for sent IM messages.
- reconnectExpBackoff - (usage: optional, default: "true"): Boolean setting that indicates whether the Connector should exponentially increase the reconnection interval upon each message delivery attempt (60 seconds -> 120 -> 240 -> ...)
Supported Child Configuration Elements
None.
Issues
Unresolved documentation issues: timouts, concurrency