Saltar al contenido principal

Colaboración en Tiempo Real

El sistema de colaboración permite que múltiples editores trabajen en el theme editor simultáneamente.

Características

Presencia

Muestra quién está viendo/editando cada template en tiempo real vía WebSocket.

GET /admin/themes/collaboration/presence?theme_name=:name&template_path=:path

Bloqueo de archivos

Adquiere un bloqueo exclusivo para evitar conflictos de edición.

AcciónMétodoEndpoint
Adquirir lockPOST/admin/themes/collaboration/locks
Liberar lockDELETE/admin/themes/collaboration/locks
Verificar lockGET/admin/themes/collaboration/locks/check
{
"theme_name": "dawn",
"template_path": "sections/hero.html"
}

Los locks expiran automáticamente después de 30 minutos de inactividad.


Comentarios inline

Agrega comentarios directamente en líneas de código del template.

AcciónMétodoEndpoint
ListarGET/admin/themes/collaboration/comments
CrearPOST/admin/themes/collaboration/comments
ResolverPOST/admin/themes/collaboration/comments/:id/resolve
EliminarDELETE/admin/themes/collaboration/comments/:id
{
"theme_name": "dawn",
"template_path": "sections/hero.html",
"line_number": 42,
"content": "Este padding debería ser responsive"
}

Notificaciones

AcciónMétodoEndpoint
ListarGET/admin/themes/collaboration/notifications
Contar no leídasGET/admin/themes/collaboration/notifications/count
Marcar leídaPOST/admin/themes/collaboration/notifications/:id/read
Marcar todas leídasPOST/admin/themes/collaboration/notifications/read-all

Tipos de notificación

TipoDescripción
commentNuevo comentario en tu template
mentionMención en un comentario
lock_requestSolicitud de lock
version_publishedNueva versión publicada
template_changedTemplate modificado por otro editor

WebSocket

Conexión en tiempo real para actualizaciones instantáneas:

GET /admin/ws/collaboration

Mensajes del servidor

TipoDescripción
session_initID de sesión al conectar
presence_listLista de editores activos
lock_acquiredLock tomado por otro editor
lock_releasedLock liberado
lock_deniedLock rechazado
comment_addedNuevo comentario
comment_updatedComentario editado
comment_deletedComentario eliminado