As a transitional step, this site will temporarily be made Read-Only from July 8th until the new community launch. During this time, you can still search and read articles and discussions.

While the community is read-only, if you have questions or issues requiring TIBCO review/response, please access the new TIBCO Community and select "Ask A Question."

You will need to register or log in or register to engage in the new community.

Adapter for tibbr® README

Last updated:
10:08am Mar 27, 2017

This is an example of an adapter calling the RESTful Web Service of TIBCO Tibbr® with HttpURLConnection as the web services client. You must have an instance of Tibbr running. The StreamBase application makes simple calls to exercise the Tibbr Web Services API and returns the XML result as a tuple.

To Setup

  • Open TibberInteg.sbapp in StreamBase Studio
  • Select the TibbrOut adapter instance and open the StreamBase Properties view
  • Set the "Tibbr URL" property to the URL of the target Tibbr instance
  • Set the "User Name" property to the name of the user
  • Set the "Password" field to the password of the user

Note that the Password field may be overridden by the sbd.sbconf operator parameter, "password", which may be encrypted. You may un-comment the line "<operator-parameter ..." if you wish to use the sbd.sbconf setting and supply an unenciphered value into sbd.sbconf or use 'sbcipher -c plain-text-password' to generate an enciphered value to use in sbd.sbconf.

To Run

  • Open and run TibberInteg.sbapp within SB Studio
  • In the Manual Input view set the value "me" (no quotes) for field Command,  leave field Text null, and click button "Send Data".

If login succeeds, then the command will execute and the XML response (if any) will be emitted in the Result field of the tuple from the output port. The XML text is converted to tuple for stream output.

Note that due to embedded carriage returns, in Studio you may see only the first line of an XML result (copy the value to the clipboard and paste into a text editor to see it in its entirety).

Supported Commands

Description

Command

Text

Result Class

Publish to any subject (by default, to the Wall for the logged-in user)

pub

any-message-text

message

Get my "User" info

me

 

user

Get User record about another user with: Wall, Subscriptions, Followers, Idols, Subjects, Schedules, Channels, Filters, Communities, Announcements, etc.

other

user-id
(a numeric value)

user

Get users who follow me

fol

 

users

Get users I follow

idol

 

users

Get subjects I have created

subj

 

subjects

Get subjects I am subscribed to

subs

 

subjects

Get my unread message count

unread

 

user

Review the code in the adapter and operator, to see how it uses the Tibbr REST API.

Synchronous calls to a web service can be very slow. Such calls should be  performed during init or perhaps in concurrent modules that isolate this from  high-throughput paths.

In the sample TibbrInteg.sbapp, the TibbrOut adapter runs in its own thread and  may be suspended and resumed using the "sbadmin suspend" and "sbadmin resume"  commands.

Publishing Messages

The "pub" command, "Text" field is a single long string. It may contain embedded  newlines for multi-line posts. To post to a user or subject, use the '@' address  message prefix with the following formats. The userid or subject is not case  sensitive.

If the user is named Abraham Lincoln, with email address alincoln@somecompany.com then the userid is likely "alincoln".

  1. Post to a user (publicly)

    @alincoln Not a good night to see a play.
    
  2. Post to a user (privately): 

    @alincoln.p message text
    
  3. Post to a subject:

    @subject message text
    
  4. Post to multiple subjects:

    @subject1 @subject2 message text
    
  5. Post to a subsubject: 

    @topsubject.subsubject message text
    

Note that if a subject or subsubject has spaces in the name, for example:

Initiatives > Suggestion Box

then to post, concatenate the words (remove spaces), as so:

@Initiatives.SuggestionBox message text

To verify a userid, follow them using the Tibbr web-interface and then send the "me" command, to retrieve your id:

<id type="integer">91</id>

then send the Command: other, Text :91 to retrieve your full user record which  will contain the XML section:

<idols type="collection">
  <user>
    <login>userid</login> 

which will contain the userid of each of the users you follow. This id may then  be used in '@' addresses to publish to them directly.

Version History

  • 1.0    
    • Initial release
  • 1.1    
    • Added instructions for posting to a Tibbr subject Removed requirement URL ends in a '/' as entered. 
    • Added XMLtoTuple conversion and select schemas to .sbapp sample