Changes

Jump to navigation Jump to search
Created page with '<noinclude>{{TOCright}} Category:Feature Page Incomplete RemovePresenceService <!-- You can add categories to tie features back to real deployments/schoo...'
<noinclude>{{TOCright}}
[[Category:Feature Page Incomplete]]
[[Category:Feature|RemovePresenceService]]
<!-- You can add categories to tie features back to real deployments/schools requesting them, for example
[[Category:Features requested by School Xyz|<Feature Name>]] (the |Feature Name option sorts the entry on the category page under the first letter of <Feature Name>). -->
</noinclude>
== Summary ==
This features removes the need for the Presence Service, meaning that activities and the Shell need to interact directly with non-Sugar-specific services such as Telepathy.

== Owner ==
* Name: [[User:Tomeu| Tomeu Vizoso]]
* Email: tomeu.vizoso@collabora.co.uk

== Current status ==
* Targeted release: 0.90
* Last updated: 11/08/2010
* Percentage of completion: 100%

== Detailed Description ==
The Presence Service caches all the information about presence and provides an API that is closer to what Sugar activities would need. But the presence information is of use only to the Shell, and the simpler API can be provided to activities with means of a library, so there's no real need for a session service that consumes memory, introduces one more layer of interprocess communication and makes activities only work inside the Sugar environment.

This work moves the functionality that the Shell used into the Shell itself and moves the simpler API implementation into the sugar.presence package, and it does so without changing the python activity API.

For Etoys, as it used the Presence Service API directly, a legacy PS will be provided until it is modified to use the telepathy APIs directly. Etoys developers have expressed interest on this work.

== Benefit to Sugar ==
This is the first step in making the collaboration features of Sugar stable and maintainable. The immediate benefit will be that bugs in collaboration will get fixed (yay!) and the total memory footprint will be reduced.

Benefits coming in future releases will be:

* simplify the code by using Telepathy-GLib via introspection instead of DBus calls,
* drop the custom extensions and move to standard specs that will allow activities work outside of Sugar,
* use other protocols such as ICQ, MSN, GSM, etc
* interact with services not specific to Sugar (ie. public Jabber servers),
* benefit from improvements to the Telepathy framework from other desktops such as Meego, GNOME and KDE.

== Scope ==
* sugar: move the presence code and connection management from the PS into neighborhood.py
* sugar-toolkit: move the code that sets up a shared activity from the PS into sugar.presence.activity
* sugar-presence-service: remove the connection management code, retrieve activity and contact information synchronously so it's inmediately available when the service is auto-activated.

==UI Design==
The user experience should be unchanged.

== How To Test ==
{{:{{PAGENAME}}/Testing}}

== User Experience ==
No changes.

== Dependencies ==
Will add a dependency on telepathy-mission-control and will need updated versions of telepathy-gabble and telepathy-salut.

== Contingency Plan ==
None necessary, revert to previous release behaviour. I will be able to invest 3-4 days per week until the 0.90 release making sure the feature is more stable than the code it replaces.

== Documentation ==
http://wiki.sugarlabs.org/go/Development_Team/Collaboration_Refactoring

http://wiki.sugarlabs.org/go/Development_Team/Presence_Service_Removal

http://lists.sugarlabs.org/archive/sugar-devel/2010-August/025857.html

== Release Notes ==
TBW

== Comments and Discussion ==
* See [[{{TALKPAGENAME}}|discussion tab for this feature]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page. -->
647

edits

Navigation menu