HandyCafe Docs
owner it-admin

Configuración de Clientes Legacy

HandyCafe funciona junto con instalaciones de clientes V3 y V4 sin interrupciones. La página de configuración de Clientes Legacy controla dos características distintas:

  1. Protocolo en Tiempo de Ejecución. Habilita los escuchas de red que permiten a los clientes V3 y V4 conectarse a este servidor en sus puertos originales.
  2. Migración de Base de Datos. Importa opcionalmente miembros, precios, productos, pedidos, transacciones y registros desde una instalación local anterior a la nueva base de datos de HandyCafe. Esto es solo para Windows.

Las dos características son independientes. Puedes habilitar el soporte en tiempo de ejecución sin migrar datos, migrar datos sin habilitar el soporte en tiempo de ejecución, o hacer ambas cosas.

Sección de Protocolo en Tiempo de Ejecución

Habilitar Soporte para Clientes Legacy

Un interruptor maestro en la parte superior de la sección. Cuando está activado, el servidor inicia tres escuchas de red:

  • Un escucha UDP en el grupo de multidifusión configurado.
  • Un escucha de comandos TCP en UDP port + 2.
  • Un escucha de transferencia de archivos TCP en UDP port + 7.

Apagar el interruptor detiene los tres escuchas de manera atómica. Puedes ajustar los números de puerto o la codificación mientras está desactivado, luego volver a habilitar para aplicar los cambios.

Campos de Configuración

Campo Predeterminado Descripción
Clave de Autenticación HANDYCAFE Una clave compartida de 10 caracteres. Cada trama entrante y saliente lleva esta cadena. Las tramas que no coinciden se descartan. Todos tus clientes legacy deben usar la misma clave.
IP de Multidifusión UDP 230.4.4.46 El grupo de multidifusión utilizado para balizas de descubrimiento de clientes y para el envío de comandos basados en UDP. Codificado en la mayoría de las versiones de clientes legacy.
Puerto UDP del Servidor 710 El puerto UDP en el que el servidor escucha las balizas y comandos de los clientes. Los clientes legacy envían a este puerto.
Puerto UDP del Cliente 711 El puerto UDP en el que los clientes legacy escuchan. El servidor envía comandos de gestión unicast a este puerto en la IP del cliente descubierto.
Codificación cp1254 Codificación de caracteres para campos de cadena en formato de transmisión. Usa cp1254 para instalaciones en Turquía, cp1252 para Europa Occidental. Los valores desconocidos vuelven a cp1254 con una advertencia en el registro del servidor.
Versión del Servidor 3.4.01 La cadena de versión transmitida en cada baliza UDP. Algunos clientes legacy rechazan tramas de versiones que no reconocen. Establece esto para que coincida con la cadena de versión de tu servidor original.
Variante de Protocolo STE Selección de formato de transmisión. Ver la comparación de variantes a continuación.
Tiempo de Inactividad 10 Segundos. Un watchdog por MAC. Si no llega tráfico de un cliente dentro de este intervalo, el cliente se marca como desconectado. Un intervalo de 10 segundos es apropiado para clientes legacy que envían balizas cada 2 o 3 segundos.

Puertos Derivados

Debajo del formulario, la página muestra una línea de solo lectura que muestra los puertos TCP derivados:

Puerto de Comando TCP: 712   Puerto de Transferencia de Archivos: 717

Estos puertos se calculan a partir del puerto UDP del servidor. No los configuras por separado. Si cambias el Puerto UDP del Servidor a un valor diferente, los puertos derivados se mueven con él.

Variante de Protocolo

El campo Variante de Protocolo selecciona el formato de transmisión utilizado por el servidor. Elige la variante que coincida con cómo se construyó tu servidor legacy.

Variante Cuándo Usar
STE (Smart/Turbo Edition) La base de código legacy moderna. Agrega un prefijo de información de licencia de 70 bytes a la estructura de la trama. El tamaño de la trama es de 1337 bytes. Elige esto si tu instalación legacy usó la edición Smart o Turbo.
Estándar La construcción legacy básica y sencilla. El tamaño de la trama es de 1267 bytes sin el prefijo de información de licencia. Elige esto solo si tu instalación legacy era una edición Estándar sin registro de licencia.

Elegir la variante incorrecta provoca que las tramas se descarten o se lean incorrectamente. Los síntomas incluyen clientes que aparecen en línea pero ignoran cada comando, o datos de comandos desplazados por el offset de 70 bytes.

Coexistencia con Clientes Modernos

Los puertos legacy (710, 711, 712, 717) están completamente separados de los puertos de protocolo modernos de HandyCafe (TCP 5001, 5002, 5003, UDP 5004). Ambas pilas de protocolos funcionan simultáneamente sin conflicto. Puedes mezclar clientes antiguos y nuevos en la misma LAN y gestionarlos desde el mismo Panel de Administración.

Aplicación de Cambios

Cada campo en la sección de Protocolo en Tiempo de Ejecución se guarda con el botón Guardar global en la parte inferior de la página. Al guardar, el servidor:

  1. Detiene los tres escuchas legacy si estaban en funcionamiento.
  2. Valida la clave de autenticación (no debe estar vacía).
  3. Construye nuevas configuraciones de escucha a partir de los campos actualizados.
  4. Reinicia los escuchas de manera concurrente.
  5. Lanza una notificación cuando los tres están de nuevo en línea.

Si un puerto ya está en uso por otro proceso, el servidor informa un error y el interruptor vuelve a apagarse. Verifica tu firewall y otros servicios con netstat y elige un rango de puertos libre.

Sección de Migración de Base de Datos (Solo Windows)

Esta característica está disponible solo cuando HandyCafe se ejecuta en Windows. En macOS y Linux, la sección muestra un aviso: "La migración de base de datos solo está soportada en Windows."

Detección

Al abrir, el servidor escanea tu sistema en busca de una instalación legacy. La detección busca en:

  • Registro y rutas de instalación típicas como Program Files\HandyCafe y C:\HandyCafe.
  • El archivo de base de datos junto a la instalación.
  • Archivos de configuración INI en el directorio de instalación.

Cuando la detección tiene éxito, la página muestra:

Etiqueta Significado
Ruta de Instalación Dónde se encuentra la instalación legacy en el disco.
Ruta de la Base de Datos Ruta completa al archivo de base de datos legacy.
Versión del Servidor Analizada desde la configuración legacy.
Conteo de Archivos INI Número de archivos de configuración detectados. Útil para verificar que la instalación esté completa.

Si no se detecta ninguna instalación, la página muestra "No se detectó instalación legacy." Aún puedes habilitar el soporte en tiempo de ejecución; la función de migración simplemente no tiene nada que importar.

Estado de la Migración

La página rastrea el historial de migración:

Estado Significado
nunca Aún no has ejecutado una migración.
en_progreso Una migración está en curso. No cierres el servidor durante este estado.
completada La migración más reciente finalizó sin advertencias.
completada_con_advertencias La migración más reciente finalizó pero algunos registros fueron omitidos (por ejemplo, debido a errores de codificación o fechas mal formadas). Revisa las advertencias antes de continuar.
deshecha La migración más reciente fue revertida.

Después de la primera ejecución exitosa, el botón Iniciar Migración se renombra a Re-ejecutar Migración.

Qué se Migra

Tabla Descripción
Miembros Registros de clientes con nombres, información de contacto y saldos de cuenta.
Precios Tablas de precios y tarifas por hora.
Productos Entradas del catálogo de productos.
Pedidos Historial de pedidos con referencias de sesión.
Transacciones Entradas del libro mayor con marcas de tiempo, montos y métodos de pago.
Registros Entradas de auditoría y advertencias de la base de datos legacy.

La Garantía "Archivos Seguros"

La página muestra un aviso en azul: "Los archivos de base de datos originales no se eliminan. Puedes eliminarlos de forma segura una vez confirmada la migración." La migración es de solo lectura en la fuente. Incluso si ejecutas la migración varias veces, la base de datos legacy original permanece intacta. Esto te permite experimentar con la importación, revisar conteos y revertir sin riesgo.

Iniciar, Re-ejecutar y Deshacer

  • Iniciar Migración. Abre un modal de progreso. El modal muestra la fase actual y los conteos de registros mientras se ejecuta la importación. No cierres HandyCafe durante este tiempo.
  • Re-ejecutar Migración. Disponible después de una ejecución completada. Vuelve a ejecutar la importación desde cero. La nueva importación reemplaza los datos anteriores en HandyCafe.
  • Deshacer Migración. Disponible después de una ejecución completada. Abre un cuadro de diálogo de confirmación. Al confirmar, cada fila migrada se elimina de HandyCafe. La fuente legacy no se toca. Después de deshacer, el estado vuelve a nunca.

Completada con Advertencias

Si la migración finaliza con completada_con_advertencias, aparece un banner amarillo con un enlace de Detalles. Haz clic para expandir una lista de los registros omitidos con la razón. Razones comunes:

  • Desajuste de codificación. La fila de origen contiene caracteres que no se decodifican correctamente en la codificación configurada. Cambia el campo de codificación (cp1254 o cp1252) y vuelve a ejecutar la migración.
  • Fechas mal formadas. Algunos registros legacy tienen marcas de tiempo inválidas. Estos se omiten para que las filas válidas aún se importen.
  • Claves duplicadas. Un registro con el mismo identificador ya existe en HandyCafe. La migración preserva el registro existente y omite el duplicado.

Consejos

  • Detén el servidor legacy antes de ejecutar una migración. Si el sistema legacy sigue escribiendo en su base de datos, la importación puede ver datos obsoletos o parciales.
  • Asegúrate de que el campo de Codificación coincida con tu configuración regional legacy antes de la primera migración. Cambiarlo después de que los datos hayan sido importados no corregirá retroactivamente los nombres ya corruptos.
  • Siempre realiza una migración de prueba primero. Verifica los conteos de registros bajo "Últimos Conteos" y revisa algunas filas de miembros y transacciones antes de comprometer al personal al nuevo sistema.
  • Habilita el soporte en tiempo de ejecución y mantén tus clientes legacy conectados durante un período de transición. Esto te permite verificar que el nuevo servidor los atiende de manera idéntica antes de retirar el servidor antiguo.
  • Si cambias el Puerto UDP del Servidor, recuerda que los puertos derivados de comando y transferencia de archivos se mueven con él. Las reglas del firewall necesitan actualizarse en consecuencia.