Presence Service: Difference between revisions

From OLPC
Jump to navigation Jump to search
(create page)
 
(Some more content, much more coming soon)
Line 1: Line 1:
The Presence Service is a part of Sugar that tracks other Buddies and Activities on the network. It is designed to have a D-Bus interface that is to be used by activities.
The Presence Service is a component in the Sugar stack that tracks the Presence of Buddies (other XOs) and Activities on the network. It has an API in Sugar, and also has a D-Bus interface that can be used by non-Python activities.


See [[Shared Sugar Activities]] for an overview of collaboration, or [[Tubes Tutorial]] for how to add collaboration to an activity.
See [[Shared Sugar Activities]] for an overview of collaboration, or [[Tubes Tutorial]] for how to add collaboration to an activity.
Line 6: Line 6:


git clone git://dev.laptop.org/projects/presence-service
git clone git://dev.laptop.org/projects/presence-service

= Overview =

Sugar's Neighborhood view (or mesh view) acts as the equivalent of an instant messaging (IM) buddy list. It shows who is on line. Presence Service is the Sugar component that tracks the presence of these buddies and activities, using [[Telepathy]], a real-time communications framework that can handle multiple protocols. We are using XMPP via a Jabber server, as well as link local XMPP, for presence and collaboration.

= Diagram =

= Connection Types =

Presence Service supports two Telepathy backends (connection managers):

* Gabble, that provides server-based Jabber/XMPP functionality. It talks to a Jabber server (e.g. olpc.collabora.co.uk) and sets up different chat rooms through which activities talk to each other.

* Salut, a link-local Connection Manager using reliable multicast over the local network

== Active Connection ==

'''Though Presence Service is designed to run both connection managers simultaneously, at this stage only one is in effect at a time, since there is no UI support for showing which activities are shared on which connection.'''

Presence Service will use Gabble when it has Internet access (a valid IPv4 address) and has connected to a [[Jabber server]], otherwise Salut (but not both at the same time).

= API =

See [[Low-level Activity API#Presence]] for the basic operations, and [[Presence Service DBus API]] for a more comprehensive, but out of date, API listing.

= Processes =

Revision as of 18:13, 26 January 2008

The Presence Service is a component in the Sugar stack that tracks the Presence of Buddies (other XOs) and Activities on the network. It has an API in Sugar, and also has a D-Bus interface that can be used by non-Python activities.

See Shared Sugar Activities for an overview of collaboration, or Tubes Tutorial for how to add collaboration to an activity.

Source

git clone git://dev.laptop.org/projects/presence-service

Overview

Sugar's Neighborhood view (or mesh view) acts as the equivalent of an instant messaging (IM) buddy list. It shows who is on line. Presence Service is the Sugar component that tracks the presence of these buddies and activities, using Telepathy, a real-time communications framework that can handle multiple protocols. We are using XMPP via a Jabber server, as well as link local XMPP, for presence and collaboration.

Diagram

Connection Types

Presence Service supports two Telepathy backends (connection managers):

  • Gabble, that provides server-based Jabber/XMPP functionality. It talks to a Jabber server (e.g. olpc.collabora.co.uk) and sets up different chat rooms through which activities talk to each other.
  • Salut, a link-local Connection Manager using reliable multicast over the local network

Active Connection

Though Presence Service is designed to run both connection managers simultaneously, at this stage only one is in effect at a time, since there is no UI support for showing which activities are shared on which connection.

Presence Service will use Gabble when it has Internet access (a valid IPv4 address) and has connected to a Jabber server, otherwise Salut (but not both at the same time).

API

See Low-level Activity API#Presence for the basic operations, and Presence Service DBus API for a more comprehensive, but out of date, API listing.

Processes