Impostazioni Client Legacy
HandyCafe funziona insieme alle installazioni client V3 e V4 più vecchie senza interruzioni. La pagina delle impostazioni dei Client Legacy controlla due funzionalità distinte:
- Protocollo Runtime. Abilita i listener di rete che consentono ai client V3 e V4 di connettersi a questo server sulle loro porte originali.
- Migrazione Database. Importa facoltativamente membri, prezzi, prodotti, ordini, transazioni e log da un'installazione locale più vecchia nel nuovo database di HandyCafe. Questa funzione è disponibile solo su Windows.
Le due funzionalità sono indipendenti. Puoi abilitare il supporto runtime senza migrare i dati, migrare i dati senza abilitare il supporto runtime, o fare entrambe le cose.
Sezione Protocollo Runtime
Abilita Supporto Client Legacy
Un interruttore principale in cima alla sezione. Quando attivo, il server avvia tre listener di rete:
- Un listener UDP sul gruppo multicast configurato.
- Un listener di comando TCP su
UDP port + 2. - Un listener di trasferimento file TCP su
UDP port + 7.
Disattivando l'interruttore si fermano tutti e tre i listener in modo atomico. Puoi regolare i numeri di porta o la codifica mentre sono disabilitati, quindi riattivare per applicare le modifiche.
Campi di Configurazione
| Campo | Predefinito | Descrizione |
|---|---|---|
| Chiave Auth | HANDYCAFE | Una chiave condivisa di 10 caratteri. Ogni frame in entrata e in uscita trasporta questa stringa. I frame che non corrispondono vengono scartati. Tutti i tuoi client legacy devono usare la stessa chiave. |
| IP Multicast UDP | 230.4.4.46 | Il gruppo multicast utilizzato per i beacon di scoperta dei client e per l'invio di comandi basati su UDP. Codificato nella maggior parte delle build client legacy. |
| Porta UDP Server | 710 | La porta UDP su cui il server ascolta i beacon e i comandi dei client. I client legacy inviano a questa porta. |
| Porta UDP Client | 711 | La porta UDP su cui i client legacy ascoltano. Il server invia comandi di gestione unicast a questa porta sull'IP del client scoperto. |
| Codifica | cp1254 | Codifica dei caratteri per i campi stringa nel formato wire. Usa cp1254 per installazioni turche, cp1252 per quelle dell'Europa occidentale. Valori sconosciuti ricadono su cp1254 con un avviso nel log del server. |
| Versione Server | 3.4.01 | La stringa di versione trasmessa in ogni beacon UDP. Alcuni client legacy rifiutano frame da versioni che non riconoscono. Imposta questo valore per corrispondere alla stringa di versione del tuo server originale. |
| Variante Protocollo | STE | Selezione del formato wire. Vedi il confronto delle varianti sotto. |
| Timeout Inattività | 10 | Secondi. Un watchdog per MAC. Se non arriva traffico da un client entro questo intervallo, il client viene segnato come offline. Un intervallo di 10 secondi è appropriato per i client legacy che inviano beacon ogni 2 o 3 secondi. |
Porte Derivate
Sotto il modulo, la pagina mostra una riga di sola lettura che indica le porte TCP derivate:
Porta Comando TCP: 712 Porta Trasferimento File: 717
Queste porte sono calcolate dalla porta UDP del server. Non le configuri separatamente. Se cambi la Porta UDP Server a un valore diverso, le porte derivate si spostano di conseguenza.
Variante Protocollo
Il campo Variante Protocollo seleziona il formato wire utilizzato dal server. Scegli la variante che corrisponde a come è stato costruito il tuo server legacy.
| Variante | Quando Usarla |
|---|---|
| STE (Smart/Turbo Edition) | Il moderno codice legacy. Aggiunge un prefisso di informazioni sulla licenza di 70 byte alla struttura del frame. La dimensione del frame è di 1337 byte. Scegli questa opzione se la tua installazione legacy utilizzava l'edizione Smart o Turbo. |
| Standard | La build legacy di base. La dimensione del frame è di 1267 byte senza il prefisso delle informazioni sulla licenza. Scegli questa opzione solo se la tua installazione legacy era un'edizione Standard senza registrazione della licenza. |
Scegliere la variante sbagliata provoca il drop o la lettura errata dei frame. I sintomi includono client che appaiono online ma ignorano ogni comando, o dati di comando spostati di 70 byte.
Coesistenza con Client Moderni
Le porte legacy (710, 711, 712, 717) sono completamente separate dalle porte del protocollo moderno di HandyCafe (TCP 5001, 5002, 5003, UDP 5004). Entrambi gli stack di protocollo funzionano simultaneamente senza conflitti. Puoi mescolare client vecchi e nuovi sulla stessa LAN e gestirli dallo stesso Pannello Amministrativo.
Applicazione delle Modifiche
Ogni campo nella sezione Protocollo Runtime viene salvato con il pulsante Salva globale in fondo alla pagina. Al salvataggio, il server:
- Ferma i tre listener legacy se erano in esecuzione.
- Valida la chiave auth (non deve essere vuota).
- Costruisce nuove configurazioni di listener dai campi aggiornati.
- Riavvia i listener contemporaneamente.
- Invia una notifica quando tutti e tre sono di nuovo online.
Se una porta è già in uso da un altro processo, il server segnala un errore e l'interruttore torna a off. Controlla il tuo firewall e altri servizi con netstat e scegli un intervallo di porte libero.
Sezione Migrazione Database (Solo Windows)
Questa funzionalità è disponibile solo quando HandyCafe è in esecuzione su Windows. Su macOS e Linux, la sezione mostra un avviso: "La migrazione del database è supportata solo su Windows."
Rilevamento
All'apertura, il server esegue una scansione del sistema per un'installazione legacy. Il rilevamento cerca in:
- Registro e percorsi di installazione tipici come
Program Files\HandyCafeeC:\HandyCafe. - Il file del database accanto all'installazione.
- File di configurazione INI nella directory di installazione.
Quando il rilevamento ha successo, la pagina mostra:
| Etichetta | Significato |
|---|---|
| Percorso Installazione | Dove si trova l'installazione legacy su disco. |
| Percorso Database | Percorso completo al file del database legacy. |
| Versione Server | Estratta dalla configurazione legacy. |
| Conteggio File INI | Numero di file di configurazione rilevati. Utile per verificare che l'installazione sia completa. |
Se non viene rilevata alcuna installazione, la pagina mostra "Nessuna installazione legacy rilevata." Puoi comunque abilitare il supporto runtime; la funzionalità di migrazione semplicemente non ha nulla da importare.
Stato della Migrazione
La pagina tiene traccia della cronologia delle migrazioni:
| Stato | Significato |
|---|---|
| mai | Non hai ancora eseguito una migrazione. |
| in_corso | Una migrazione è attualmente in esecuzione. Non chiudere il server durante questo stato. |
| completata | L'ultima migrazione è terminata senza avvisi. |
| completata_con_avvisi | L'ultima migrazione è terminata ma alcuni record sono stati saltati (ad esempio a causa di errori di codifica o date malformate). Rivedi gli avvisi prima di procedere. |
| annullata | L'ultima migrazione è stata annullata. |
Dopo la prima esecuzione riuscita, il pulsante Avvia Migrazione si rinomina in Riesegui Migrazione.
Cosa Viene Migrato
| Tabella | Descrizione |
|---|---|
| Membri | Record dei clienti con nomi, informazioni di contatto e saldi dei conti. |
| Prezzi | Tabelle dei prezzi e tariffe orarie. |
| Prodotti | Voci del catalogo prodotti. |
| Ordini | Storico degli ordini con riferimenti alle sessioni. |
| Transazioni | Voci del registro con timestamp, importi e metodi di pagamento. |
| Log | Voci di audit e avvisi dal database legacy. |
La Garanzia "Files Safe"
La pagina mostra un avviso in blu: "I file originali del database non vengono eliminati. Puoi eliminarli in sicurezza una volta confermata la migrazione." La migrazione è in sola lettura sulla sorgente. Anche se esegui la migrazione più volte, il database legacy originale rimane intatto. Questo ti permette di sperimentare con l'importazione, rivedere i conteggi e annullare senza rischi.
Avvia, Riesegui e Annulla
- Avvia Migrazione. Apre una finestra modale di avanzamento. La modale mostra la fase corrente e i conteggi dei record mentre l'importazione è in corso. Non chiudere HandyCafe durante questo tempo.
- Riesegui Migrazione. Disponibile dopo un'esecuzione completata. Riesegue l'importazione da zero. La nuova importazione sostituisce i dati precedenti in HandyCafe.
- Annulla Migrazione. Disponibile dopo un'esecuzione completata. Apre una finestra di dialogo di conferma. Alla conferma, ogni riga migrata viene eliminata da HandyCafe. La sorgente legacy non viene toccata. Dopo l'annullamento, lo stato torna a
mai.
Completata con Avvisi
Se la migrazione termina con completata_con_avvisi, appare un banner giallo con un link Dettagli. Clicca per espandere un elenco dei record saltati con il motivo. Motivi comuni:
- Mancata corrispondenza di codifica. La riga sorgente contiene caratteri che non si decodificano correttamente nella codifica configurata. Cambia il campo di codifica (cp1254 o cp1252) e riesegui la migrazione.
- Date malformate. Alcuni record legacy hanno timestamp non validi. Questi vengono saltati in modo che le righe valide vengano comunque importate.
- Chiavi duplicate. Un record con lo stesso identificatore esiste già in HandyCafe. La migrazione preserva il record esistente e salta il duplicato.
Consigli
- Ferma il server legacy prima di eseguire una migrazione. Se il sistema legacy sta ancora scrivendo nel suo database, l'importazione potrebbe vedere dati obsoleti o parziali.
- Abbina il campo Codifica alla tua localizzazione legacy prima della prima migrazione. Cambiarlo dopo che i dati sono stati importati non correggerà retroattivamente i nomi già corrotti.
- Esegui sempre una migrazione di prova prima. Controlla i conteggi dei record sotto "Ultimi Conteggi" e verifica alcuni record di membri e transazioni prima di impegnare il personale nel nuovo sistema.
- Abilita il supporto runtime e mantieni i tuoi client legacy connessi per un periodo di transizione. Questo ti permette di verificare che il nuovo server li serva in modo identico prima di ritirare il vecchio server.
- Se cambi la Porta UDP Server, ricorda che le porte derivate di comando e trasferimento file si spostano con essa. Le regole del firewall devono essere aggiornate di conseguenza.