Thanks Claus.

The Twitter provider is, in my concept of "done"... done.

It can produce and consume tweets.

It is easily possible to implement with EIPS, a "retweet" route.

Next on my TODO is a Camel Processor to implement the ReTweet process (which
requires some headers to be set).

Cheers,
Bruno Borges
www.brunoborges.com.br
+55 21 76727099

"The glory of great men should always be
measured by the means they have used to
acquire it."
 - Francois de La Rochefoucauld



On Sun, Oct 3, 2010 at 1:30 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:

> Hi
>
> Excellent.
>
> I think it would make it easier for others to help out if we get one
> social integration done and we have documentation and examples how to
> use it.
> You mention twitter is already in there. So it would be nice to have,
> lets say, an Camel example application that uses twitter.
> Then people can try it out.
>
> But great and keep up the good work.
>
>
> On Thu, Sep 30, 2010 at 9:08 PM, Bruno Borges <bruno.bor...@gmail.com>
> wrote:
> > Hadrian, remember the talk we had on ApacheCon 2009?
> > I know I took almost a year to have this thing done. Sorry for taking so
> > long! But here it goes.
> >
> > I just want to state that Neociclo <http://www.neociclo.com> supported
> me a
> > lot on achieving this.
> > Not only we were able to code the Camel
> > OFTP<http://accord.ow2.org/odetteftp>component but now also I had time
> > and motivation to finish this component.
> >
> > *Camel Social*
> > http://code.google.com/p/camel-social
> >
> > The component is a PoC to poll social stream path in a uniform way from
> > social networks.
> >
> > Some features:
> > - supports OAuth
> > - supports Basic Auth (wrapped by a OAuth credentials object (token =
> > username, secret = password)
> > - supports uniform SocialData (a unique id and the data itself)
> > - supports skip read social data (saves unique id for future polling and
> > skip them)
> > - supports custom social providers (just implement a SocialProvider)
> > - supports Twitter out of the box
> > - has Facebook and Foursquare classes ready to be implemented
> > - supports RateLimitExceededException to sleep consumer thread for a
> while
> > - supports session/non-session aware social providers
> > - supports social data producer on social stream path
> >
> > *In a nutshell: *
> > from("social://twitter/public?skipRead=true&delay=5000")
> > .transform(xpath("//status/text/text()").stringResult())
> > .process(new Processor() {
> > *public void* process(Exchange arg0) *throws* Exception {
> > System.*out*.print(arg0.getIn().getHeader(SocialHeaders.*SOCIAL_DATA_ID*)
> + ":
> > ");
> > System.*out*.println(arg0.getIn().getBody());
> > }
> > });
> >
> > *How it works:*
> > - there can be only one pair of OAuth consumer token and consumer secret
> > (from client application) per endpoint
> > - OAuth is not required but recommended because of data fetch rate limits
> > (150 requests per hour on Twitter; 350 if "OAuthed")
> > - endpoint can have user oauth token/secret. In this case, it will poll
> > data. Otherwise it will work as event-based consumer
> > - exchanges going to this endpoint's producer with OAUTH header user's
> > token/secret and POLL_STREAM header to true will fire consumers to poll
> data
> > for that user
> > - exchanges going to this endpoint's producer with SOCIAL_DATA header to
> be
> > updated will require user's OAuth either specified on the endpoint or
> within
> > message headers
> > - endpoint specifies the social (stream) path. For example, in Twitter
> > provider there's support for user's home timeline and the public
> timeline.
> > "social://twitter/home" or "social://twitter/public"
> > - the provider must be able to return unique social data from the
> requested
> > social path
> > - social data is retrieved as is from the social network and can be
> > retrieved on message body, processed either by XPath (case of
> > Twitter/Foursquare provider) and JSON (case of Facebook)
> >
> > *Things to consider*
> > - must the component require providers to present social data on unified
> > format? (twitter can provide xml/json/rss; facebook provides only json)
> > - must the one component's endpoint be able to stream social data for
> > different client's oauth token/secret? Like it does per user
> >
> > *What's next?*
> > - consider to move this component to Camel trunk
> > - consider to have main social network providers (Twitter, Facebook,
> > Foursquare, Orkut, Buzz)
> > - optimize the data fetch process (take a look at AbstractTwitterPath)
> >
> > Now, I definitely need some help on this to provide better support for
> > different social networks and social paths.
> > Anybody interested?
> >
> > Cheers!!
> >
> > Bruno Borges
> > www.brunoborges.com.br
> > +55 21 76727099
> >
> > "The glory of great men should always be
> > measured by the means they have used to
> > acquire it."
> >  - Francois de La Rochefoucauld
> >
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Reply via email to