OPS User Guide

Yahoo Instant Messaging Processor

1. Scope

This processor can send and receive Yahoo Instant Messages (IM) from within a Web application. To use this processor, you need to create a Yahoo account that will act as the sender. You can send an IM to any Yahoo subscriber. The processor launches a customizable pipeline when an IM is received. The IM processor has two mandatory inputs: session contains login information, and message contains the message to send. A third input, declared in the on-message-received element contains the pipeline to be executed when a message is received. This pipeline must have a data input parameter containing a document describing the incoming message:

  <message>  <from>john</from>  <body>Hello!</body>  </message>

2. Config Input

The config input contains basic information such as login, password and definition of the pipeline to execute when an IM is received.

login A Yahoo account, used as the sender of the IM
password The matching password
on-message-received
  • A URL pointing to an XPL pipeline
  • An input name, starting with a #. The IMSerializer must have the corresponding input declared.

3. Data Input

The data input contains the message to send under the message element.

to A Yahoo account to send to message to
body The body of the message to send

4. Example

The following code illustrates the instantiation of the IMSerializer to send a message to the Yahoo account tove from jani. Additionally, a statement is written in the log file when a message is received.

  <p:processor name="oxf:im" xmlns:p="http://www.orbeon.com/oxf/pipeline">  <p:input name="config">  <session>  <login>jani</login>  <password>secret</password>  <on-message-received>#response-pipeline</on-message-received>  </session>  </p:input>  <p:input name="data">  <message>  <to>trove</to>  <body>Don't forget me!</body>  </message>  </p:input>  <p:input name="response-pipeline">  <p:config>  <p:param name="data" type="input"/>  <p:processor name="oxf:null-serializer">  <p:input name="data" href="#data"/>  </p:processor>  </p:config>  </p:input>  </p:processor>