Plugin Development + Client Development

Dear Openfire developers,

I am in the process of developing a plugin for openfire as a component and a client (using smack) that talks this component. I started with the component, and even though I have a lot to learn (part of the fun!) I wonder how other people go about it. Especially the combination of server-side and client-development. I’m using eclipse for the development and I can run the component in the debugger and see the messages that the server sends and receives. Should I develop the client on a different machine to be able to debug both parts or can I do this from one machine? Or can/should I run multiple instances of eclipse: one for the server-side and one for the client-side.

The second question I have is about the AbstractComponent from the Tinder Library. How do I make use of this? I use openfire 3.6.4 and I cannot find the AbstractComponent class, do I need to inlcude the Tinder Library? And if so, how do I go about doing that?

Regards, Sam

I’m new to this whole java+eclipse game, so indeed, I had to ask . In the mean time I did figure it out. It works for me, so I thought it would be a good idea to share this with other new people.

I now make use of 2 different instances of eclipse to develop the server plugin and client at the same time. I have 2 workspaces setup, one for each project (openfire plugin + smack library based client). I start both eclipses with the following command:

**eclipse.exe -data “/path/to/workspace” **

where the /path/to/workspace is of course unique per project (or instance of eclipse that I want to run). I followed the very complete setup guide that can be found here to setup my openfire environment. I did not make use of subversion to get the source. I downloaded that manualy but for the rest the guide works perfect. I now have a very basic client that can connect to my server, whoa!, and I can see all sorts of debug messages in the “server” eclipse window.

In the mean time Guus also let me know that *AbstractComponent *is not included in openfire 3.6.4, it is in the 3.7 beta release. But I don’t dare get my hands dirty on that release just yet . So I just stick with Component for now. When 3.7 is out of beta I will just migrate and improve on what I have now.

For now, back to my plugin/client development.