Activity sharing/lang-es

From OLPC
Jump to navigation Jump to search
  Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Activity sharing/lang-es/translations HowTo [ID# 257914]  +/-  
This is an on-going translation

Introducción

Colaborar con las Actividades de Sugar funciona usando un conjunto de servicios que se ejecutan en la laptop, y APIs en los modulos de Python de Sugar que hacen uso de estos servicios. Los servicios principales son el Telepathy connection managers y el servicios de presencia que los coordina.

Shared activites.png


Telepathy es un sistema que describe una interfaz generica para varios tipos de comunicación. Es la profunda infraestructura usada por Sugar para comunicarse. Actualmente, dos implementaciones de Telepathy son usadas: Gabble, para Jabber, and Salut para el servir de Jabber (a.k.a. link-local XMPP). El primero se utiliza cuando el servidor de la escuela es inaccesible, este último en caso de una malla simple.

Avisos e invitaciones

Las actividades compartidas de Sugar son descubiertas de dos formas diferentes: a través de avisos y a través de invitaciones.

Los anuncios son hechos cuando el usuario le dice a la actividad que se comparta con toda la red. Cualquiera conectado en la red puede ver la actividad.

Las invitaciones se envían a usuarios en particular. Sólo aquellos usuarios a quienes se les envió una invitación pueden ver la actividad (a menos que la actividad también fuerá anunciada). Cuando Sugar recive una invitación, pregunta al usuario si desea aceptarla o rechazarla.

Tubos

Tubes son medios para compartir actividades para intercambiar datos. Existen actualmente dos tipos de tubos:

  • Tubos D-Bus provee un servicio D-Bus el cual es compartido entre los participantes en una actividad compartida, otorgando señales para todos los participantes, y los metodos llamados en un participantes en particular.
  • Tubos trasmisores provee conexiones tipo sockets conectadas a configurar en XMPP, para transmisión de datos por HTTP, entre dos participantes.

Usando tubos en las actividades de Sugar

El servicio de presencia crea conexiones manejados por objetos (Gabble y/o Salut). Obtiene un objeto de conexión (al servidor de jabber en caso de Gabble). PS crea o obtiene un canal de Tubos. Para actividades en Python, Sugar crea o se une a los tubos D-Bus automaticamente.

The initiator of the activity should then call Tubes.OfferDBusTube to offer a Tube with a specific service name. When a buddy joins an activity, he will try to figure out which Tubes are available by calling Tubes.ListTubes() on the tubes channel (which he doesn't have to create anymore). Both OfferDBusTube and ListTubes result in a callback when the Tube becomes really available. Only then a working Tube is handed to the (shared) activity and it is possible to export objects on that bus and subscribe to signals etc.

Ver tutorial de colaboración para mas información en el uso de Tubos.

Quien es quien?

Buddies/nodes within an activity are currently identified with different handles by different components. The following handles can be distinguished:

  • Nombres Dbus. Si tienes funciones relacionados con Dbus related con el argumento de “sender” especificado, esto es lo que obtendras. El objeto de amigo:
   sugar.presence.PresenceService.get_buddy(buddy's public key)
  • Sobre nombre de Telepathy. A objeto de amigos:
   sugar.presence.PresenceService.get_buddy_by_telepathy_handle(tp_conn, tp_conn_path, handle)

Interactiones

Como interactuan los componentes variados.

Servicio de presencia ⟷ manejador de conexiones

  • org.freedesktop.Telepathy.ConnectionManager
    • RequestConnection
  • org.freedesktop.Telepathy.Connection
    • RequestChannel
  • org.laptop.Telepathy.BuddyInfo
  • org.laptop.Telepathy.ActivityProperties

actividad ⟷ servicio de presencia

  • org.laptop.Sugar.Presence
  • org.laptop.Sugar.Presence.Buddy
  • org.laptop.Sugar.Presence.Activity

actividad ⟷ manejador de conexiones

  • org.freedesktop.Telepathy.Channel.Type.Tube
    • OfferDBusTube
    • OfferStreamTube