Simplified Personal Publish-Subscribe

We’re currently working on putting JEP-0163: Simplified Personal Publish-Subscribe into Psi. A result of this work, together with an implementation of User Tune as our use case, can be seen in action here.

Since there is no SPPS server support yet, we still have to use the low-level PubSub protocol. However, the code is written such that an SPPS-like interface is used inside Psi, while the backend of the interface transforms the requests and events to and from PubSub services and nodes. This transformation makes use of a database of mappings, which has to be managed manually by the user. When SPPS is finally supported by servers, this transformation code can be removed from the backend, and publishing and receiving events will happen fully automatic.

Then there is still the issue of subscribing to nodes, which also has to be done manually at this time. Although SPPS has nothing to say about this, another JEP is being worked on to manage subscriptions, which should be the final brick for usable and easy-to-implement PubSub in clients.

Instructions on how to get it working can be found here.

Tags: , ,

10 Responses to “Simplified Personal Publish-Subscribe”

  1. I updated the screenshot to a newer version of our development. We’ll be releasing the code real soon now.

  2. … and the code hit our Psi-NG branch, together with User Mood. Enjoy !

  3. Maarten says:

    Awesome Remko! Thank you, thank you!!!

  4. And the fun doesn’t stop, I implemented a few other JEPs, as you can see. Psi now detects my current location using Plazes.

  5. Eric Muehlstein says:

    I’ve been using amarok with the FileTuneController and this little bash code (run in the background)

    while [ true ]; do
    dcop amarok player nowPlaying > ~/.psi/tune
    sleep 1
    done

    Thanks Again Remko… lots of fun.

  6. Well, as far as i can tell, here’s the deal with amaroK: to be able to communicate using DCOP, you need a KApplication. The problem is that a KApplication is built on top of a QApplication. Mixing the Qt3 KApplication and our Qt4 QApplication is impossible because of conflicting symbols. I expect that mixing the KDE4 KApplication and our QApplication also will be impossible, but i’m not going to bet on that yet. So, Eric’s script is probably the closest we can get for quite a while. Ironic, though, that we can’t do it because we also use Qt.

  7. sandr says:

    I forgot to add some details about the URL I posted: Magnus Henoch started coding a patch to support SPPS (now known as PEP) in ejabberd.

  8. [...] El Tramo « Simplified Personal Publish-Subscribe [...]

  9. kael says:

    Late on the thread.

    I’ve just installed Psi 0.11RC2 but can’t find any server supporting PEP – impatiently waiting for the PEP Openfire plugin :) – and I’m wondering how do the geolocation is set with Plazes. Is it a server-side capability or geolocation is set manually ?

    In XEP-080, the uri element uses an URL pointing to plazes.com. Does this mean that the user can put her Plazes URL in her client and that the client then fetches the corresponding coordinates ? Or is it just an additional field ?

Leave a Reply