[sugar] PresenceService API improvements (was Re: Trial 3 goals)

Morgan Collett morgan.collett
Fri Aug 10 15:46:01 EDT 2007

Dan Williams wrote:
> On Thu, 2007-08-09 at 12:34 +0100, Dafydd Harries wrote:
>> Ar 27/07/2007 am 11:18, ysgrifennodd Morgan Collett:
>>> For completeness, I'd like to add the improvements to the PS API to the
>>> discussion - making it actually possible for activity authors to add
>>> collaboration without copying and pasting a lot of obscure code which is
>>> difficult to understand.
>>> My understanding is this is a Trial 3 must-have.
>> Yes, I think this would be good to work on for Trial 3. Do you have any
>> suggestions for how we might tackle this?
> Yeah, this is a must.  First, hopefully authors wouldn't have to copy
> tubeconn.py into every activity.  Second, hopefully either the Sugar
> activity bindings or the PS itself could help out with some of the heavy
> lifting.  In hellomesh/activity.py, the following functions shouldn't
> have to exist within the activity unless activity authors override them
> somehow:
> participant_change_cb
> _get_buddy
> _new_tube_cb
> _setup

> Furthermore, we need a good way of mapping from the Tube's dbus sender
> keyword to a buddy object.
> It doesn't matter how this is done, really.  Maybe it lives within
> sugar.activity.Activity, maybe within sugar.presence.xxxx, maybe within
> the PS itself.  But it's got to be simpler.

I agree on all of the above.

I'll send specific proposals / suggestions / patches to sugar@ for
discussion for anything that's not clear.

I also have the following intentions with the PS API:
* All PS activities get a D-Bus tube automatically in addition to the
Text Channel. Additional tubes could still be created via Telepathy.
Making this automatic would also reduce the amount of support code

* We'll have an API change for PS when the invitations stuff lands, as
instead of Share we'll have Invite and Advertise, to make the
distinction clear.


More information about the Sugar-devel mailing list