[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
necessary.

* 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.

Morgan




More information about the Sugar-devel mailing list