Ir al contenido

Edición colaborativa en tiempo real

Múltiples usuarios pueden trabajar en el mismo workflow simultaneamente con un sistema de control de edición.

  1. Un usuario abre un workflow en el editor
  2. Se conecta al namespace /collab del WebSocket
  3. Se une a la sala del workflow (workflow:{id})
  4. Si es el primero, obtiene control de edición automáticamente
  5. Si hay otro editor, puede solicitar el control
EventoDirecciónDescripción
join-workflowCliente -> ServidorUnirse a la sesión de edición
user-joinedServidor -> ClientesNotifica que un usuario se unio
leave-workflowCliente -> ServidorSalir de la sesión
user-leftServidor -> ClientesNotifica que un usuario salio
request-edit-controlCliente -> ServidorSolicitar control de edición
edit-control-grantedServidor -> ClienteControl de edición otorgado
release-edit-controlCliente -> ServidorLiberar control voluntariamente
heartbeatCliente -> ServidorMantener sesión activa
get-active-usersCliente -> ServidorConsultar usuarios activos
  • Solo un usuario a la vez tiene control de edición
  • Los demas pueden ver el workflow pero no modificarlo
  • Si el editor se desconecta, el control pasa al siguiente en cola
  • Un usuario puede liberar el control voluntariamente
  • El sistema de heartbeat detecta desconexiones