[ejabberd] PubSub node names and ejabberd

Brian Cully bcully at gmail.com
Wed Nov 26 00:14:30 MSK 2008

	I'm also not happy with the default ejabberd implementation. In fact,  
the only thing it appears to be useful for is PEP support (which would  
have been nicer if done outside of mod_pubsub - the amount of  
integration between mod_pubsub, nodetree_default, and nodetree is  

	That said, it appears to be possible to implement all of XEP-0248  
inside a nodetree, as long as you're willing to not use anything in  
nodetree_default. The most annoying thing about it is the records used  
to pass data between the nodetree, node, and mod_pubsub modules. The  
other issue is that node names are automatically split on "/" to  
create lists of nodes for a path. That's just plain wrong, but can at  
least be reversed pretty easily.

	In summation, if you just ignore the bad parts of ejabberd's pubsub  
schema (most of it) and reimplement large chunks of what mod_pubsub  
should be doing in a nodetree, you can make ejabberd work.

	All told, I'm sure everyone would be happier with a compliant  


On 22-Nov-2008, at 04:05, Mickaël Rémond wrote:

> We are open to discuss why did this with a good reason with the  
> writer of the spec and open to help improve the spec based on our  
> real world experience.
> -- 
> Mickael Remond
> http://www.process-one.net/
> Le 22 nov. 08 à 01:12, Jack Moffitt <jack at chesspark.com> a écrit :
>>> Yes, but we are using a semantic for a good reason. Without a way  
>>> to filter
>>> node a good default behaviour is to have a hierarchy to order a  
>>> large number
>>> of nodes.
>> Maybe so, but this probably means that the hierarchy and spec
>> violation should be something people opt into, not the default
>> behavior.  I don't see why you need a hierarchy in the node names,
>> when a hierarchy is implicit in the leaf/collection relationships.
>> ejabberd's default implementation means that people using examples
>> from the spec will find that they don't work.  Also, why is there a
>> '/home'?  Wouldn't the root of the tree just be '/'.
>> jack.
>> _______________________________________________
>> ejabberd mailing list
>> ejabberd at jabber.ru
>> http://lists.jabber.ru/mailman/listinfo/ejabberd
> _______________________________________________
> ejabberd mailing list
> ejabberd at jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd

More information about the ejabberd mailing list