Plugins, where are the examples inside the git repo?

Ian Gregson
Added about 5 years ago

Hi there,

Can you tell me where the example java plugins are inside the git repo, I would love to download it and try developing something.

I have developed for openfire in the past.

Do you have any more documentation on plugin development with tigase?

Thanks in advance.

Replies (5)

Added by Ian Gregson about 5 years ago

I also found this page but it seems rather old ?

any more additional info?

It does have a link there that points to an existing plugin using this URL but its currently a 404

It also states there are couple of Interfaces for implementing, do you have more info when one should be used over the other?

XMPPPreprocessorIfc - is the interface for packets pre-processing plugins.

XMPPProcessorIfc - is the interface for packets processing plugins.

XMPPPostprocessorIfc - is the interface for packets post-processing plugins.

XMPPPacketFilterIfc - is the interface for processing results filtering.

thanks again for any help

Added by Wojciech Kapcia TigaseTeam about 5 years ago

Tigase features to main APIs - for plugins and components. First link you found is still valid (I'll correct incorrect URLs, thanks) and cover developing plugins that operate within session manager (v. more general Plugin developement especially section covering how packets are processed).

Second option is to create a server component (v. Component development.)

All currently implemented plugins can be found in tigase-server repository (v. tigase.xmpp.impl package) and the mentioned interfaces can be found respectively:

Added by Ian Gregson about 5 years ago

Thats great info, thank you.

The component development looks great, so what is the difference between plugins and Component development.

I must admit I do like the component development due to the tutorial available :-)

When would you use one over the other.??

Thanks again.

Added by Wojciech Kapcia TigaseTeam about 5 years ago

Ian Gregson wrote:

When would you use one over the other.??

It depends on your use case. Components are more powerful - they can have own address, provides support for scripting API, can offer statistics and, more importantly - can be deployed as external components (even multiple with load balancing) hence offering ability to offload main server. They are instantiated in MessageRouter (like all components). Plugins on the other hand have more limited capabilities, operate within SessionManager (which is component itself) but this give them access to user session. They are also responsible for processing particular packets.

Added by Ian Gregson about 5 years ago

Thanks for a great explanation, then I am sold, its component development :-)

Thanks again.