[ejabberd] Custom PEP nodes in ejabberd
eric at ohmforce.com
Thu Sep 11 19:22:14 MSD 2008
Le 11 sept. 08 à 16:14, Peter Saint-Andre a écrit :
> Eric Cestari wrote:
>>> Reading Jack Moffit's blog post  and Microbloggling over XMPP
>>> given me quite a bit of inspiration :)
>>> I submitted this
>>> patch https://support.process-one.net/browse/EJAB-739, this morning.
>>> It enables mapping a PEP namespace to a specific node plugin :
>>> A user creating a PEP node in namespace urn:xmpp:microblog would
>>> create a node_microblog in ejabberd.
>>> That would enable us to enforce the XML in the payload, have a
>>> specific storage solution.
> It's not clear to me exactly what your patch does. Does it mainly
> enforce the payload namespace/content?
Currently in ejabberd, there's only one type of node for pep, which is
called node_pep. It does not enforce anything on the payload, and it
does not store any items other than the last one.
For microblogging, that was a bit short ;)
With this patch one can write a plugin specifically for the urn:xmpp:microblog
node, which could :
- store an unlimited number of tweets
- enforce payload content (doing a few checks, updating the payload
with the itemid and related links)
- send the payload to the search engine for indexing
So it's not useful in itself, but should ease future PEP development
on ejabberd. (and that future looks bright in my opinion :)
I have ported my Atom-PubSub code to publish the urn:xmpp:microblog
node over Atompub, successfully tested with MarsEdit, NetNewsWire and
the Atom Protocol Exerciser.
Now I'd need https://support.process-one.net/browse/EJAB-560 to be
applied on trunk, because that would be easier for others to install
>>>  http://www.xmpp.org/extensions/inbox/microblogging.html
> Clearly we need to publish that as a real XEP.
Yes please !
> BTW, I've noticed that services like identi.ca send a microblogging
> message in multiple formats -- typically plaintext message body,
> XHTML-IM, and Atom. Perhaps it would be helpful to describe and
> codify that approach somewhat.
That's interesting. BTW for the moment, having the message body
containing the tweet along with the pubsub element is a neat idea but :
- ejabberd mod_pubsub won't let me do that for the moment
- would it be filtered out by entity capabilities on the server? (I
had to manually add in the ejabberd database that yes Psi would
understands urn:xmpp:microblog so that I get my notifications)
Or maybe have in caps a code for specifying how the payload should be
transformed before sending to the client ?
no caps : plaintext
urn:xmpp:microblog+notify : Atom
urn:xmpp:microblog+notify-xhtml : should be transformed as xhtml
More information about the ejabberd