r4 - 20 Oct 2007 - 00:58:55 - Main.eturnerYou are here: TWiki >  Main Web > ServerConfiguration > ProtocolConnectors > IMOutputConnector

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

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r4 < r3 < r2 < r1 | More topic actions

tip TWiki Tip of the Day
SlideShowPlugin for presentations
Use the SlideShowPlugin to convert a topic with headings and bullets into a slideshow presentation. This ... Read on Read more

 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback