powered by Jive Software

Where are the whacks of yesteryear?

My question is twofold:

  1. I have noticed that all the threads in the whack forum have disappeared a couple of days ago. Is this an error or a sign of further deprioritizing of the whack project?

  2. I am designing a component that would act as a proxy between the Wildfire server and a set of mobile clients communicating through a proprietary lightweight protocol. I thought I would use the external component model, whereby my component would establish a JEP-0114 connection to the server using the whack API on behalf of the clients. Is this a good idea? I am most interested in knowing whether my component would only have to be tasked with translating the protocols and not with management of persistent info, like users, rosters, subscriptions, etc. Any input would be greatly appreciated.


Urg, I should have posted an announcement about that! My apologies.

We turned off permissions for the Whack forum for now. The threads are still there, just not viewable. The main reason is that we just don’‘t have time to work on the project at the moment and don’'t want to clutter up the community with defunct content. The code is still available via SVN, though, and works quite well for many people.

Another consideration is that in most cases, it’'s much easier to write a Wildfire plugin than it is to write an external component. Plugins can act as components and have the advantage of running in-process to the server (so packet handling is much, much faster). Have you considered writing your component as a Wildfire plugin?

We hope to start work on the Whack code base at some point in the future. At that point, it might become a sub-project of Smack. The hope is that would be clearer to people – “when connecting to an XMPP server, use Smack no matter if it’'s a client connection or component”. It would still be a dedicated component API in any case.




Thanks for your reply. I have considered the plugin approach, but have downgraded it for portability reasons.

As to the second part of my question, can I count on the Wildfire server to manage persistent info (users, rosters, etc) for a subdomain represented by an external component?




I think what you are trying to do has probably three different approaches:

  1. Write a plugin

  2. Write an External Component, realizing some gateway implementation

  3. Write your own server, and use a an S2S connection, which occurs to me as a more complex way of realizing a gateway

I personally have discarded the option of a plugin due to license reasons. GPL is infectious; writing a plugin for Wildfire means that you HAVE TO release it under GPL. This isn’'t what I call free, at least not freedom of choice

I also discarded S2S, because I did figure it might be much more complicated (though probably more reasonable for complex gateways). Also, I would probably not need Wildfire at all in the first place, because I’'d rather write up the XMPP Connector for the proprietary system (one needs to handle all the spectrum of XMPP messages anyway, so what?!).

Related to the external component and to answer your question, I believe that Wildfire does not handle any persistence for you in case of an external component, which basically means you will need to handle that information for yourself. At least to my best knowledge.

Which brings me back to the problem that it’'s probably as complicated as S2S and to think that I am better off working on an XMPP Connection handler for the proprietary system.

I have been using the Mobicents SLEE XMPP RA modified SMACK library to realize the gateway connection so far.

At the moment I think I am in a very similar position to yours, I need to figure how much work such an integration is, before I continue on this way.



I personally have discarded the option of a plugin

due to license reasons. GPL is infectious; writing a

plugin for Wildfire means that you HAVE TO release it

under GPL.

Actually, that’‘s not always true. Because Wildfire is dual-licensed, if you purchase a commercial license for the server (which is fairly cheap) then you don’'t have to release your plugins as GPL.



So…if I have a random question about the use of the Whack API as it exists, would this forum be the right place to ask it?

I’'m still trying to write an external component (and yes, it does have to be external, as it has to reside in the JVM of another app, to communicate more directly with it), and have run into a couple of minor snags that someone with a little more experience and understanding of the topic would likely be able to clear up quite easily…


Timothy Collett


Definitely feel free to post your questions – we’'ll do our best to help out.



LoL Matt,

I can’‘t help myself. You’‘re a Winston Churchill friend, aren’'t you?

It is of no use saying, ‘‘We are doing our best.’’ You have got to succeed in doing what is necessary.[/i]