Traer un cliente a tu equipo
Hay problemas que sólo se ven con los datos del cliente puestos: su carta, sus recetas, sus páginas, esa venta que quedó rara. Para eso está el Taller de clientes, en el panel de License Server.
La idea es corta: te traes su instalación completa a tu equipo, trabajas con ella como si fuera tuya, y lo que le devuelves es una versión nueva del sistema — código y cambios de base, nunca sus datos.
Sólo un superadmin, y sólo en la instalación que es tu servidor de licencias. No aparece en el panel de un cliente.
La regla que hay que entender antes de empezar
El cliente y tu equipo tienen que estar en la misma versión.
Una actualización sólo viaja hacia adelante: se instala si trae una versión posterior a la que hay. Si trabajas sobre la copia de un cliente que quedó atrasado, el paquete que le armes va a llevar código nuevo contra una base que nunca vio los cambios intermedios.
Por eso el taller compara las dos versiones antes de dejarte traer nada:
| Situación | Qué hace el sistema |
|---|---|
| Misma versión | Deja traerlo. |
| El cliente está atrasado | Lo rechaza y te dice que le mandes primero el paquete de actualización. |
| El cliente está más adelantado | Lo rechaza: el que está atrasado es tu equipo. |
Traer al cliente
En el panel del cliente, en Configuración → Empaquetado: Crear Nuevo
Paquete → Paquete propio. Descarga el .zip.
En tu equipo, en License Server → Taller de clientes → Traer un cliente:
- Sube el
.zip(o, si es muy grande para tu servidor, déjalo por FTP en la carpetapackages/y elígelo de la lista). - Pulsa Revisar el paquete. Te dice de qué dominio viene, en qué versión está y si se puede traer.
- Ponle el nombre del cliente y una línea de qué vas a trabajar — es lo que vas a leer dentro de tres días cuando no te acuerdes.
- Deja encendido Respaldar este equipo antes de traer al cliente.
- Traer al cliente.
Esto reemplaza la base de datos de tu máquina por la del cliente y trae sus páginas y sus imágenes. Lo que tenías antes vuelve desde el respaldo del paso 4, y sólo desde ahí. Si lo apagas, no hay a dónde volver.
Cuando termina, el panel muestra en todo momento qué cliente está cargado, de qué dominio, en qué versión y dónde quedó tu respaldo. Recarga la página: de ahí en adelante todo lo que ves son los datos de ese cliente.
El paquete del cliente queda guardado en packages/ con el nombre
taller-<dominio>_<fecha>.zip. Si algo sale mal y hay que repetir el traspaso,
no tienes que volver a pedírselo.
Traer a un cliente se detiene, sin tocar tu equipo, cuando:
- el respaldo de tu equipo salió sin base de datos. Un paquete sin la base no te puede devolver nada, así que no cuenta como respaldo;
- la base del cliente no quedó realmente importada. El sistema compara las tablas que trae el paquete con las que hay después de importar, y si falta alguna te dice cuántas y cuáles, en vez de decir que todo salió bien.
Lo segundo es lo que llevaba a la peor situación posible: el traspaso se daba por bueno, la limpieza posterior borraba las tablas que la importación tenía que haber creado, y cada intento dejaba la base más vacía que el anterior.
Qué se trae y qué no
| Se trae | No se trae |
|---|---|
| Su base de datos completa | Sus datos de conexión a la base |
Su sitio entero (web/): páginas, encabezado, pie, estilos, guiones, logos y fondos | Su clave de licencia |
Todo lo que sus módulos guardaron (uploads/): contratos firmados, adjuntos, documentos | Su dirección: las URLs se reescriben a tu equipo |
| Su biblioteca de archivos e imágenes | El código del sistema — tu equipo ya lo tiene, en la misma versión |
Su caché del sitio (web/cache/), que se rehace sola aquí |
web/ y uploads/ viajan enteras, con lo que haya adentro esté o no en alguna
lista del sistema.
Es la corrección de un error que costó caro: antes se copiaba lo que la
actualización sabía no pisar, y las imágenes de un cliente vivían en una carpeta
que ninguna lista nombraba. El sitio llegaba con sus estilos correctos y todos
los logos y fondos rotos, sin que nada avisara que se había quedado un archivo
atrás. Con uploads/ pasaba lo mismo con los adjuntos: el registro llegaba y el
archivo daba 404.
Las dos únicas excepciones son deliberadas: web/config.php, que apunta a la
base del cliente y aquí sería falso, y web/cache/, que son páginas ya
armadas con las direcciones del cliente — copiarlas es servir su sitio con sus
URLs desde tu equipo.
Al terminar la restauración, la caché de tu equipo se vacía sola. Tiene que ser así: las copias que había ahí describen el sitio anterior, y se seguirían mostrando hasta que vencieran por su cuenta. Es lo que hacía que un sitio recién traído apareciera sin encabezado ni pie durante una hora, sin nada en pantalla que lo explicara.
web/ y uploads/ quedan exactamente como en el paquete: lo que había en
tu equipo y el paquete no trae, se borra.
Antes sólo se copiaba encima, así que lo que sobraba se quedaba: las páginas de tu equipo aparecían dentro del sitio del cliente mientras trabajabas, y al cerrar el taller las del cliente se quedaban aquí — una página de otro proyecto, editable desde tu panel y servida por su dirección, sin nada que dijera de dónde salió.
Tu web/config.php y tu web/cache/ nunca se tocan. Y si el paquete no trae
ninguna entrada de una carpeta, esa carpeta se deja como está: un paquete que
no menciona web/ no dice que deba quedar vacía.
Devolverle el trabajo
Cuando terminaste, en la tarjeta del taller: Cerrar y entregar.
- Elige qué tipo de versión es lo que hiciste. El sistema te muestra el
número que va a salir en cada caso:
- Corrección (1.21.1 → 1.21.2): arreglaste algo que estaba mal.
- Mejora (1.21.1 → 1.22.0): hay algo nuevo y lo anterior sigue igual.
- Cambio mayor (1.21.1 → 2.0.0): algo dejó de funcionar como antes.
- Escribe qué cambia, una línea por cambio. Es exactamente lo que el cliente lee en su pantalla de Actualizaciones antes de instalar.
- Decide si publicarla para toda la flota (queda en Actualizaciones publicadas y cualquier licencia activa la ve) y si devolver tu equipo a como estaba.
- Cerrar y armar el paquete.
El paquete queda en packages/. En el panel del cliente se instala en
Actualizaciones → Instalar desde un paquete.
Lo que le llega es un paquete de actualización: código y migraciones. Sus ventas, sus fotos, su configuración y las páginas que construyó se quedan donde están — la instalación de una actualización no las toca.
La consecuencia es la otra cara: si lo que corregiste son datos suyos (un precio mal cargado, una receta), eso se corrige en su panel. No hay forma de mandárselo en un paquete sin pisarle todo lo demás.
Si te arrepientes
- Devolver este equipo a como estaba (la flecha en la tarjeta del taller) restaura tu respaldo: vuelven tu base de datos, tu sitio y tus archivos.
- Descartar el taller (la ✕) lo cierra sin entregarle nada al cliente.
Restaurar el respaldo escribe encima, no vacía: un archivo que el cliente
tenía y tú no —una foto en web/, un adjunto en uploads/— sigue en tu disco
después de devolver el equipo a como estaba. Si trabajaste con datos sensibles
de un cliente, esas dos carpetas se revisan a mano.
Preguntas frecuentes
¿Puedo tener dos clientes a la vez? No. El segundo reemplazaría la base del primero. Cierra o descarta el taller abierto antes de traer otro.
¿El sistema se conecta solo al dominio del cliente?
No, y es a propósito. El .zip viaja a mano en los dos sentidos: así ninguna
instalación de cliente queda expuesta a entregar su base por internet, y tu
equipo no guarda credenciales suyas.
¿Y si el cliente sigue trabajando mientras yo tengo su copia? No hay problema, porque no le devuelves datos. Lo que hagan esos días queda intacto: sólo les llega el código nuevo.
Traje al cliente y el panel sigue mostrando mis datos. ¿Qué pasó?
Que la base del cliente no entró. A partir de ahora eso no puede pasar sin que
te lo digan: el traspaso falla y te nombra las tablas que faltaron. Si te ocurrió
antes de esta corrección, tu equipo está en el respaldo que el taller creó al
empezar (packages/), y se recupera desde Configuración → Empaquetado →
Restaurar eligiendo ese archivo.
Al recargar el panel me pidió iniciar sesión y mi clave no sirve. Es esperable mientras hay un cliente en el taller: las cuentas que existen ahora son las suyas, no las tuyas. Vuelve a entrar con una cuenta del cliente, o devuelve tu equipo a como estaba desde la tarjeta del taller.
¿Qué pasa con su licencia mientras está en mi equipo? Se descarta al traerlo. Si no, tu máquina se reportaría al servidor de licencias como si fuera la instalación de ese cliente, y quedaría marcada como dominio que no coincide.
¿Qué sigue?
- Respaldar, empaquetar y actualizar — los tres modos de paquete y qué lleva cada uno.
- Control de licencias — la flota, las claves y las versiones publicadas.
- Actualizar el sistema — cómo instala el cliente lo que le mandas.