Gu铆a social API

This is an archived page. It's not actively maintained.

 

Borrador
Esta p谩gina no est谩 completa.

Este art铆culo describe el ciclo de vida de un social service worker, como el servicio social permite al navegador interactuar con un sitio  de redes sociales y asi sucesivamente.

Ciclo de vida de un social service worker

Un proveedor de servicios sociales esta definido por un archivo de texto estructurado (JSON) incluyendo un n煤mero de URLs con llave, un nombre y un icono. Los URLs poseen el mismo or铆gen que el archivo JSON si es cargado remotamente.

Un social service worker es instanciado del URL de dicho service worker provisto por el proveedor de servicios; este URL  debe resolver a un archivo JavaScript que es evaluado por el trabajador de servicios. El worker es un worker compartido, renderizado "no comprable" en un estilo muy similar a la especificaci贸n de los Trabajadores Web ( aunque debe tomarse en cuenta que la implementaci贸n actual no es, de hecho, un Worker).

El service worker permanece con vida hasta finalizar, ya sea por cierre de navegador o por un comando de control expl铆cito del usuario.

Si el navegador determina que la finalizaci贸n del service worker es necesaria, todos los contenidos del servicio-nivel asociados con el service worker es descargado ( esto significa, que todos los ServiceWindows y barras laterales seran cerrados) como parte de la finalizaci贸n.

Si el navegador se inicia ( o se reinicia) el servicio durante una sesi贸n de usuario normal, el service worker es primero completamente cargado, y las barras laterales son instanciadas en ventanas existentes. Los ServiceWindows (como los chats) no son reiniciados autom谩ticamente.

Flujo de implementaci贸n

Esta secci贸n ilustra como el social service comenz贸, como se comunica con el sitio de redes sociales, y se finaliza.

<<<a帽ada un diagrama actual>>>

  1. El servicio es registrado con un servicio, widget de barra lateral y widget para compartir.
  2. En el momento de inicio del navegador, el trabajador de servicio es instanciado.
  3. El servicio abre un conexi贸n a su servicio, si una sesi贸n de usuario esta disponible, y empieza a recibir eventos de inserci贸n.
  4. Cuando una ventana del navegador es creada, el contenido del widget de la barra lateral es instanciado.
  5. La barra lateral se registra con el servicio usando mozSocial.getWorker().postMessage("hello").
  6. El trabajador de servicios captura el mensaje "hello" y a帽ade la sidebarContentWindow a una lista de recepci贸n de eventos.
  7. El contenido de la barra lateral podr谩 entonces realizar una conformidad de conexi贸nes publicar-suscribir m谩s elaboradas, para limitar que eventos este recibe.
  8. Cuando el servicio recibe eventos del servidor (o de otro contenido), invoca window.postMessage() en cada referencia de ventana que fue previamente guardada. La barra lateral se regenera segun sea necesario.
  9. Si el usuario hace click en la barra lateral para, por ejemplo, abrir una ventana de chat, window.open() se hace la llamada y una nueva ventana es creada. La ventana de chat se registra con el servicio utilizaando mozSocial.getWorker().postMessage("hello") y recibe un mensaje de vuelta indicandole con quien abrir un chat. El servicio puede entregar eventos servidor-inserci贸n a la ventana de chat, tal vez a trav茅s de un sistema publicar-suscribir.