Difference between revisions of "Development Team/Collaboration Refactoring"

From Sugar Labs
Jump to navigation Jump to search
Line 13: Line 13:
 
Instead of implementing these changes inside Sugar's [http://wiki.laptop.org/go/Presence_Service 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.
 
Instead of implementing these changes inside Sugar's [http://wiki.laptop.org/go/Presence_Service 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 ==
+
== Tasks for 0.90 ==
  
 
=== Reimplement presence in the Shell ===
 
=== Reimplement presence in the Shell ===
  
Work ongoing in [http://git.sugarlabs.org/projects/sugar/repos/nops http://git.sugarlabs.org/projects/sugar/repos/nops] based on [[Development Team/Presence Service Removal]].
+
Work ongoing in [http://git.sugarlabs.org/projects/sugar/repos/nops http://git.sugarlabs.org/projects/sugar/repos/nops] based on [[Development Team/Presence Service Removal]]. This is the base for all the rest of improvements to the collaboration infrastructure.
  
* Auto-create link-local accounts on startup if needed
+
Status: feature complete, polishing and stabilization ongoing
* 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.
+
=== Dispatch new channels ===
* Remove contacts when a connection goes offline
+
 
* <s>Retrieve buddy colors from AccountInfo?</s> Keep using BuddyInfo for now
+
* Implement an approver and display the invitation in the UI
 +
* Make sure other telepathy clients don't interfere even if installed
 +
 
 +
Status: done
 +
 
 +
=== Reimplement sugar.presence without the PS ===
 +
 
 +
Instead of having the logic split between sugar.presence and the PS, implement what is needed inside sugar.presence using the D-Bus API.
 +
 
 +
Status: done
 +
 
 +
=== Implement compatibility PS based on sugar.presence ===
 +
 
 +
For activities that still depend on the PS D-Bus API.
 +
 
 +
Status: in progress
 +
 
 +
== Tasks for future releases ==
  
 
=== Implement a non-Sugar-specific interface for announcing activity ===
 
=== Implement a non-Sugar-specific interface for announcing activity ===
Line 32: Line 49:
  
 
You can follow this work on the Telepathy tracker: [http://bugs.freedesktop.org/show_bug.cgi?id=27107 http://bugs.freedesktop.org/show_bug.cgi?id=27107]
 
You can follow this work on the Telepathy tracker: [http://bugs.freedesktop.org/show_bug.cgi?id=27107 http://bugs.freedesktop.org/show_bug.cgi?id=27107]
 
This is most likely to land after 0.90
 
 
=== 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) Most likely after 0.90
 
  
 
=== Account configuration in the control panel ===
 
=== Account configuration in the control panel ===
Line 51: Line 60:
 
=== Merge Salut and Gabble contacts in the UI (?) ===
 
=== Merge Salut and Gabble contacts in the UI (?) ===
  
=== Reimplement sugar.presence without the PS ===
+
=== Make activities activatable dbus services ===
 
 
* Joining a shared activity instance: In progress
 
* Sharing publicly a local activity instance: In progress
 
  
=== Implement compatibility PS based on sugar.presence (?) ===
+
So they can be activated in other desktops.

Revision as of 11:38, 2 August 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 for 0.90

Reimplement presence in the Shell

Work ongoing in http://git.sugarlabs.org/projects/sugar/repos/nops based on Development Team/Presence Service Removal. This is the base for all the rest of improvements to the collaboration infrastructure.

Status: feature complete, polishing and stabilization ongoing

Dispatch new channels

  • Implement an approver and display the invitation in the UI
  • Make sure other telepathy clients don't interfere even if installed

Status: done

Reimplement sugar.presence without the PS

Instead of having the logic split between sugar.presence and the PS, implement what is needed inside sugar.presence using the D-Bus API.

Status: done

Implement compatibility PS based on sugar.presence

For activities that still depend on the PS D-Bus API.

Status: in progress

Tasks for future releases

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

Account configuration in the control panel

Sending and accepting subscription requests

Adding an arbitrary contact to our contact list

Avatars support

Merge Salut and Gabble contacts in the UI (?)

Make activities activatable dbus services

So they can be activated in other desktops.