Difference between revisions of "Development Team/Collaboration Refactoring"
Line 23: | Line 23: | ||
* Retrieve contacts from ContactList from all enabled connections, and keep the list updated with SimplePresence. Use contact details from Contacts. | * Retrieve contacts from ContactList from all enabled connections, and keep the list updated with SimplePresence. Use contact details from Contacts. | ||
* Remove contacts when a connection goes offline | * Remove contacts when a connection goes offline | ||
− | * Retrieve buddy colors from AccountInfo? | + | * <s>Retrieve buddy colors from AccountInfo?</s> Keep using BuddyInfo for now |
=== Implement a non-Sugar-specific interface for announcing activity === | === Implement a non-Sugar-specific interface for announcing activity === |
Revision as of 10:25, 22 June 2010
Introduction
During the 0.90 release cycle, Collabora is sponsoring the refactoring of the presence and collaboration framework in Sugar with the following objectives:
- reduce the dependency on deprecated or soon to be deprecated parts of the Telepathy spec,
- improve interoperability with other messaging systems,
- make it easier to implement further collaboration features, often developed for other systems.
The strategy that will be followed can be summarized as turning Sugar into a normal Telepathy client.
Instead of implementing these changes inside Sugar's Presence Service, we are going to remove this layer because of the unneeded complexity that it brings and because several of the services it provides are either obsoleted or replaced by new components in the Telepathy framework. See Development Team/Presence Service Removal for details.
Tasks
Reimplement presence in the Shell
Work ongoing in http://git.sugarlabs.org/projects/sugar/repos/nops based on Development Team/Presence Service Removal.
- Auto-create link-local accounts on startup if needed
- Auto-create jabber accounts on startup if needed
- Retrieve contacts from ContactList from all enabled connections, and keep the list updated with SimplePresence. Use contact details from Contacts.
- Remove contacts when a connection goes offline
Retrieve buddy colors from AccountInfo?Keep using BuddyInfo for now
Implement a non-Sugar-specific interface for announcing activity
An important part of the Sugar experience is that users can choose to do any of their work either alone or together with other people, so the UI displays on-going activities, allows joining existing activities, sharing a local activity, inviting other people to an on-going activity, etc.
There's interest in systems other than Sugar that also use Telepathy to gain similar capabilities, so we are going to work in defining better the intended user experience and designing a Telepathy interface for this.
You can follow this work on the Telepathy tracker: http://bugs.freedesktop.org/show_bug.cgi?id=27107
Dispatch new channels
- Implement an approver and display the invitation in the UI
- Make sure other telepathy clients don't interfere even if installed
- Make activities activatable dbus services (will require big refactoring)