[jdev] SPPS and external components

Ralph Meijer jabber.org at ralphm.ik.nu
Sat Feb 18 13:02:46 CST 2006


On Sat, Feb 18, 2006 at 07:01:05PM +0200, Norman Rasmussen wrote:
> On 2/18/06, Ralph Meijer <jabber.org at ralphm.ik.nu> wrote:
> > On Tue, Jan 24, 2006 at 04:04:40PM +0200, Norman Rasmussen wrote:
> > > On 1/24/06, Jacek Konieczny <jajcus at jajcus.net> wrote:
> > > > Things that need to be solved:
> > > >
> > > > 1. redirecting SPPS queries addressed to users to the external
> > > > component.
> > > > 2. providing the external component with roster information.
> > >
> > > The way I see it, by the time you've written code (for each server) to
> > > 'filter' out those pubsub packets and send them to the pubsub
> > > component, you might as well have added spps directly to the server.
> > >
> > > It saves having to write the roster sharing code too.  The only other
> > > reason I can think of why you'd want to 'share your roster' is if you
> > > want multiple identity jids under a single account.  (i.e.
> > > meta-accounts).
> >
> > I think that jabberd 2 has another component protocol that would allow
> > this. You can route stanzas according to the namespace of the child of
> > iqs. I haven't had the time to try that out, though.
> 
> It doesn't help with disco items though, as those are in the disco
> namespace which used for other things as well - I think.  You'd have
> to make the PEP component handle _all_ disco registrations and
> requests - which isn't terrible I guess.

Looking again, the sm.xml file defines chains of modules to be called
when a packet arrives at a certain entry point. Each module then
inspects the packet to see if it can handle it. If not, it is given to
the next module in the chain. Making sure that the PEP module
is put before the disco module in the chain, you can selectively hijack
the PEP specific packets.

> The only jabberd2 component spec that I know of is [1], and it doesn't
> seem to indicate that it can handle binding to xml subdomains.  Of
> course, the spec doesn't have to match the code currently implemented.
> 
> [1] http://jabberd.jabberstudio.org/dev/docs/component.shtml

Yes, I meant this protocol. But I'm not sure if you can create said
modules using this. A jabberd2 expert would be helpful here.

That said, it would be pretty server implementation specific. From what
I can tell, hooking idavoll up to a server to provide PEP will not work
with existing external component protocols, unfortunately.

-- 
Groetjes,

ralphm



More information about the JDev mailing list