[JDEV] Promiscuous presence for user communities (with patch)

Steven Brown swbrown at ucsd.edu
Tue Sep 30 22:09:13 CDT 2003

> -----Original Message-----
> From: jdev-admin at jabber.org [mailto:jdev-admin at jabber.org] On 
> Behalf Of Peter Saint-Andre
> Sent: Tuesday, September 30, 2003 7:30 PM
> To: jdev at jabber.org
> Subject: Re: [JDEV] Promiscuous presence for user communities 
> (with patch)

> First, it is already possible to do "promiscuous presence" in jabberd 
> 1.4.2 using the "presence bcc" markup in the jabber.xml configuration 
> file -- see the release notes. This feature pipes all the 
> presence off 
> to another JID (usually a component), which can provide an API for 
> sending presence out to whomever you please.

It was much easier to write this as a patch to Jabber, as all the
structures and code were already there to support it, and can
inject/modify the stream wherever needed.  It's a relatively minor tweak
on how the server handles 'available'.

> Second, you can't just add new presence types to the 
> protocol. :-) This 
> protocol is now in IETF Last Call. Just as you can't add a new HTTP 
> method because you think PUT and GET are not enough, you 
> can't add new 
> presence types willy-nilly.
> I agree with you that community building might require something like 
> this, and putting that under the control of the user is good. But I 
> don't think that a new presence type is the best way to make 
> that happen.

It could also be implemented as an optional namespace under <presence>,
e.g., the client could send <presence type="available"><promiscuous
xmlns="..."/>...</presence> and capable servers would use it and
incapable servers would ignore it and just treat it as a normal
'available' presence.  That wouldn't modify the protocol afaik.  I
figured it would make more sense as a type due to the way 'invisible'
had been implemented as a type instead of making it a tag under a
type="unavailable".  Would the promiscuous tag under presence as
mentioned be better?

More information about the JDev mailing list