{5} Assigned, Active Tickets by Owner (Full Description) (1 match)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

aes (1 match)

Ticket Summary Component Milestone Type Created
Description
#11 Periodical presence updates generic defect 05/19/2008

This is somewhat nebulous in documentation, but at least [ejabberd  http://www.ejabberd.im/] seems to require periodical poking. The cautious approach would seem to be to assume that periodical updates are appropriate.

from twisted.internet.task import LoopingCall
from wokkel                import xmppim

class AwakePresence(xmppim.PresenceClientProtocol):
    def connectionMade(self):
        self.ticker = LoopingCall(self.tick)
        self.ticker.start(60)
    def tick(self):
        if self.xmlstream: self.available()

Note that this always says it is available. Presence state is actually complex, which is silly, but it should be possible to accomodate it.

Taking the opportunity to record peer presences seen would also seem logical:

class RecordingPresence(xmppim.PresenceClientProtocol):
    def connectionMade(self):
        self.stati = {}
    def availableReceived(self, ent, show, status, prio=0):
        self.stati[ent] = (ent, show, status, prio)
    def unavailableReceived(self, ent, status):
        self.stati[ent] = (ent, show, status, prio)

More should probably be done to be able to answer questions like "what is the highest priority resource for <jid>?".

Now that I think about it, I think I can do better than this. I'll assign this to myself.


Note: See TracReports for help on using and creating reports.