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ón | Método | Endpoint |
|---|---|---|
| Adquirir lock | POST | /admin/themes/collaboration/locks |
| Liberar lock | DELETE | /admin/themes/collaboration/locks |
| Verificar lock | GET | /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ón | Método | Endpoint |
|---|---|---|
| Listar | GET | /admin/themes/collaboration/comments |
| Crear | POST | /admin/themes/collaboration/comments |
| Resolver | POST | /admin/themes/collaboration/comments/:id/resolve |
| Eliminar | DELETE | /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ón | Método | Endpoint |
|---|---|---|
| Listar | GET | /admin/themes/collaboration/notifications |
| Contar no leídas | GET | /admin/themes/collaboration/notifications/count |
| Marcar leída | POST | /admin/themes/collaboration/notifications/:id/read |
| Marcar todas leídas | POST | /admin/themes/collaboration/notifications/read-all |
Tipos de notificación
| Tipo | Descripción |
|---|---|
comment | Nuevo comentario en tu template |
mention | Mención en un comentario |
lock_request | Solicitud de lock |
version_published | Nueva versión publicada |
template_changed | Template modificado por otro editor |
WebSocket
Conexión en tiempo real para actualizaciones instantáneas:
GET /admin/ws/collaboration
Mensajes del servidor
| Tipo | Descripción |
|---|---|
session_init | ID de sesión al conectar |
presence_list | Lista de editores activos |
lock_acquired | Lock tomado por otro editor |
lock_released | Lock liberado |
lock_denied | Lock rechazado |
comment_added | Nuevo comentario |
comment_updated | Comentario editado |
comment_deleted | Comentario eliminado |