[jdev] web presence

ennova2005-jabber at yahoo.com ennova2005-jabber at yahoo.com
Mon Mar 13 12:15:10 CST 2006


We have previously developed such a component for an internal project using the component approach and a database - we used presence bcc to get all presence updates.

Somethings to keep in mind around freshness of presence information.
When the jabber server restarts - all your existing information in the DB is stale. You may want to detect this and purge the presence store. Similar cases arise when there is loss of connectivity between the component cases. User accounts may get deleted on the IM server and you may need to synchronize that on your database also.

Over time, I have found that  such a presence server capability is best built "directly" into the IM server with tight integration with the presence processing and subscriber management modules. This way you benefit from privacy policies that are available in the same place.

YMMV.


Peter Saint-Andre <stpeter at jabber.org> wrote: -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

+1, that seems like a sensible approach.

/psa

Peter Millard wrote:
> This is exactly how I would implement this as well.
> 
> 1) Have an external component that uses iq:register protocol with
> x-data for picking themes, etc. This component subscribes to the
> user's presence during registration (just like a transport does). Now
> the component has the users presence.
> 
> 2) External component pushes presence info into a database (mysql, psql, etc).
> 
> 3) Write a quick PHP applet or something which returns an image based
> on the JID.
> 
> We could easily deploy something like this on jabber.org provided the
> DB is psql, and the component is not in Java or Perl (for scalability
> issues). Seems like this would be super easy to write using the
> Twisted Python jabber component stuff.
> 
> This approach would also work with any server implementation since the
> component is subscribing to the user's presence.
> 
> pgm.
> 
> On 3/9/06, Richard Dobson  wrote:
>>> It would be good if we had standardized methods for embedding presence
>>> information in web pages. For example, I'd like to be able to point to
>>> the following image file and have it show my presence:
>>>
>>> 
>>>
>>> Granted there are challenges here:
>>>
>>> 1. Needs to be opt-in (no presence leaking)
>>>
>> Have it as a contact on the users roster which represents the presence
>> service, if that contact can see the users presence the user is opting in.
>>> 2. User needs a way to choose icon set (if there's a choice)
>>>
>> x:data forms seems like a perfect fit here
>>> 3. Jabber server and web server need to share information
>>>
>> Easiest way for this would be for them both to share a database of
>> presence information with a jabber component keeping it up to date.
>>> 4. Would not be dynamic (that would require an xmpp: URI)
>>>
>>> At the jabber.org domain, #3 is a bit of a pain (the web server and
>>> jabber server are on different machines), but the challenge seems to be
>>> surmountable.
>>>
>>> Other IM systems have this and it's one of those cool features that end
>>> users really like. So what's holding us back? What's needed to make this
>>> happen?
>>>
>> Nothings holding us back this has been available for quite some time in
>> various forms on jabber.
>>
>> Richard
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEFbO0NF1RSzyt3NURAlbwAJ9rhSwaD893Ilo0PBqhg3oxgMWhjwCfR1de
J3rxkGox7XZ69OjJw4DANcc=
=4/tt
-----END PGP SIGNATURE-----

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.jabber.org/jdev/attachments/20060313/794cd523/attachment-0002.htm>


More information about the JDev mailing list