Einstellungen für Legacy-Clients
HandyCafe läuft problemlos neben älteren V3- und V4-Client-Installationen. Die Einstellungsseite für Legacy-Clients steuert zwei getrennte Funktionen:
- Laufzeitprotokoll. Aktiviert die Netzwerk-Listener, mit denen V3- und V4-Clients auf ihren ursprünglichen Ports mit diesem Server verbunden werden können.
- Datenbankmigration. Importiert optional Mitglieder, Preise, Produkte, Bestellungen, Transaktionen und Protokolle aus einer älteren lokalen Installation in die neue HandyCafe-Datenbank. Das funktioniert nur unter Windows.
Die beiden Funktionen sind unabhängig. Sie können die Laufzeitunterstützung ohne Datenmigration aktivieren, Daten migrieren, ohne die Laufzeitunterstützung zu aktivieren, oder beides tun.
Bereich Laufzeitprotokoll
Unterstützung für Legacy-Clients Aktivieren
Ein Hauptschalter oben im Bereich. Wenn er aktiviert ist, startet der Server drei Netzwerk-Listener:
- Ein UDP-Listener auf der konfigurierten Multicast-Gruppe.
- Ein TCP-Befehls-Listener auf
UDP port + 2. - Ein TCP-Dateiübertragungs-Listener auf
UDP port + 7.
Wenn Sie den Schalter deaktivieren, werden alle drei Listener atomar gestoppt. Sie können Portnummern oder Kodierung im deaktivierten Zustand anpassen und anschließend wieder aktivieren, um die Änderungen anzuwenden.
Konfigurationsfelder
| Feld | Standard | Beschreibung |
|---|---|---|
| Auth-Schlüssel | HANDYCAFE | Ein gemeinsamer 10-stelliger Schlüssel. Jeder eingehende und ausgehende Frame trägt diesen String. Frames, die nicht übereinstimmen, werden verworfen. Alle Legacy-Clients müssen denselben Schlüssel verwenden. |
| UDP-Multicast-IP | 230.4.4.46 | Die Multicast-Gruppe für Client-Erkennungsbeacons und UDP-basierte Befehlsauslieferung. In den meisten Legacy-Client-Builds fest verdrahtet. |
| Server-UDP-Port | 710 | Der UDP-Port, auf dem der Server auf Client-Beacons und Befehle hört. Legacy-Clients senden an diesen Port. |
| Client-UDP-Port | 711 | Der UDP-Port, auf dem Legacy-Clients lauschen. Der Server sendet unicast Management-Befehle an diesen Port auf der entdeckten Client-IP. |
| Kodierung | cp1254 | Zeichencodierung für String-Felder im Wire-Format. Verwenden Sie cp1254 für türkische Installationen, cp1252 für westeuropäische. Unbekannte Werte fallen mit einer Warnung im Server-Log auf cp1254 zurück. |
| Serverversion | 3.4.01 | Die Versionszeichenfolge, die in jedem UDP-Beacon ausgesendet wird. Einige Legacy-Clients verwerfen Frames von Versionen, die sie nicht erkennen. Passen Sie sie an die Versionszeichenfolge Ihres ursprünglichen Servers an. |
| Protokollvariante | STE | Auswahl des Wire-Formats. Siehe den Variantenvergleich unten. |
| Inaktivitäts-Timeout | 10 | Sekunden. Ein Watchdog pro MAC. Wenn innerhalb dieses Fensters kein Verkehr von einem Client eingeht, wird der Client offline markiert. Ein Abstand von 10 Sekunden ist für Legacy-Clients geeignet, die alle 2 oder 3 Sekunden Beacons senden. |
Abgeleitete Ports
Unter dem Formular zeigt die Seite eine schreibgeschützte Zeile mit den abgeleiteten TCP-Ports:
TCP Command Port: 712 File Transfer Port: 717
Diese Ports werden aus dem UDP-Serverport berechnet. Sie werden nicht separat konfiguriert. Wenn Sie den Server-UDP-Port ändern, verschieben sich die abgeleiteten Ports automatisch mit.
Protokollvariante
Das Feld Protokollvariante wählt das vom Server verwendete Wire-Format. Wählen Sie die Variante, die dazu passt, wie Ihr Legacy-Server gebaut wurde.
| Variante | Wann verwenden |
|---|---|
| STE (Smart/Turbo Edition) | Die moderne Legacy-Codebasis. Fügt der Frame-Struktur ein 70-Byte-Lizenzinfo-Präfix hinzu. Framegröße: 1337 Bytes. Wählen Sie dies, wenn Ihre Legacy-Installation die Smart- oder Turbo-Edition verwendete. |
| Standard | Der einfache Legacy-Standardbuild. Framegröße: 1267 Bytes ohne Lizenzinfo-Präfix. Wählen Sie dies nur, wenn Ihre Legacy-Installation eine Standard-Edition ohne Lizenzregistrierung war. |
Die falsche Variante führt dazu, dass Frames verworfen oder falsch gelesen werden. Symptome sind Clients, die online erscheinen, aber jeden Befehl ignorieren, oder Befehlsdaten, die um den 70-Byte-Offset verschoben sind.
Parallelbetrieb Mit Modernen Clients
Die Legacy-Ports (710, 711, 712, 717) sind vollständig von den modernen HandyCafe-Protokollports (TCP 5001, 5002, 5003, UDP 5004) getrennt. Beide Protokollstapel laufen gleichzeitig ohne Konflikte. Sie können alte und neue Clients im selben LAN mischen und über dasselbe Admin-Panel verwalten.
Änderungen Anwenden
Jedes Feld im Bereich Laufzeitprotokoll wird mit der globalen Speichern-Schaltfläche am unteren Rand der Seite gesichert. Beim Speichern:
- stoppt der Server die drei Legacy-Listener, falls sie liefen.
- validiert er den Auth-Schlüssel (er darf nicht leer sein).
- erstellt er aus den aktualisierten Feldern neue Listener-Konfigurationen.
- startet er die Listener parallel neu.
- löst er eine Benachrichtigung aus, wenn alle drei wieder online sind.
Wenn ein Port bereits von einem anderen Prozess belegt ist, meldet der Server einen Fehler und der Schalter springt wieder aus. Prüfen Sie Ihre Firewall und andere Dienste mit netstat und wählen Sie einen freien Portbereich.
Bereich Datenbankmigration (Nur Windows)
Diese Funktion ist nur verfügbar, wenn HandyCafe unter Windows läuft. Unter macOS und Linux zeigt der Bereich den Hinweis: "Datenbankmigration wird nur unter Windows unterstützt."
Erkennung
Beim Öffnen durchsucht der Server Ihr System nach einer Legacy-Installation. Die Erkennung prüft:
- die Registrierung und typische Installationspfade wie
Program Files\HandyCafeundC:\HandyCafe, - die Datenbankdatei neben der Installation,
- Konfigurations-INI-Dateien im Installationsverzeichnis.
Wenn die Erkennung erfolgreich ist, zeigt die Seite:
| Bezeichnung | Bedeutung |
|---|---|
| Installationspfad | Wo die Legacy-Installation auf dem Datenträger liegt. |
| Datenbankpfad | Vollständiger Pfad zur Legacy-Datenbankdatei. |
| Serverversion | Aus der Legacy-Konfiguration ausgelesen. |
| Anzahl INI-Dateien | Anzahl der erkannten Konfigurationsdateien. Nützlich, um zu prüfen, ob die Installation vollständig ist. |
Wenn keine Installation erkannt wird, zeigt die Seite "Keine Legacy-Installation erkannt." an. Sie können die Laufzeitunterstützung trotzdem aktivieren; die Migrationsfunktion hat dann nur nichts zu importieren.
Migrationsstatus
Die Seite verfolgt den Migrationsverlauf:
| Status | Bedeutung |
|---|---|
| never | Sie haben noch keine Migration ausgeführt. |
| in_progress | Eine Migration läuft gerade. Schließen Sie den Server in diesem Zustand nicht. |
| completed | Die letzte Migration wurde ohne Warnungen abgeschlossen. |
| completed_with_warnings | Die letzte Migration wurde abgeschlossen, aber einige Datensätze wurden übersprungen (zum Beispiel wegen Kodierungsfehlern oder fehlerhaften Datumswerten). Prüfen Sie die Warnungen, bevor Sie fortfahren. |
| undone | Die letzte Migration wurde zurückgerollt. |
Nach dem ersten erfolgreichen Lauf wird die Schaltfläche Migration starten zu Migration erneut ausführen umbenannt.
Was Migriert Wird
| Tabelle | Beschreibung |
|---|---|
| Mitglieder | Kundendatensätze mit Namen, Kontaktinformationen und Kontoständen. |
| Preise | Preislisten und Stundenpreise. |
| Produkte | Einträge im Produktkatalog. |
| Bestellungen | Bestellhistorie mit Sitzungsbezug. |
| Transaktionen | Buchungseinträge mit Zeitstempeln, Beträgen und Zahlungsmethoden. |
| Protokolle | Audit- und Warnmeldungen aus der Legacy-Datenbank. |
Garantie Für Unveränderte Dateien
Die Seite zeigt einen blauen Hinweis an: "Die ursprünglichen Datenbankdateien werden nicht gelöscht. Sie können sie sicher löschen, sobald die Migration bestätigt ist." Die Migration ist auf der Quelle nur lesend. Selbst wenn Sie die Migration mehrfach ausführen, bleibt die ursprüngliche Legacy-Datenbank unangetastet. So können Sie den Import gefahrlos testen, Zählwerte prüfen und bei Bedarf zurückrollen.
Starten, Erneut Ausführen Und Rückgängig Machen
- Migration starten. Öffnet ein Fortschritts-Modal. Das Modal zeigt während des Imports die aktuelle Phase und die Anzahl der Datensätze an. Schließen Sie HandyCafe in dieser Zeit nicht.
- Migration erneut ausführen. Nach einem abgeschlossenen Lauf verfügbar. Führt den Import von Grund auf erneut aus. Der neue Import ersetzt die vorherigen Daten in HandyCafe.
- Migration rückgängig machen. Nach einem abgeschlossenen Lauf verfügbar. Öffnet einen Bestätigungsdialog. Nach der Bestätigung werden alle migrierten Zeilen aus HandyCafe gelöscht. Die Legacy-Quelle bleibt unangetastet. Nach dem Rückgängigmachen wechselt der Status wieder zu
never.
Mit Warnungen Abgeschlossen
Wenn die Migration mit completed_with_warnings endet, erscheint ein gelbes Banner mit einem Details-Link. Klicken Sie darauf, um eine Liste der übersprungenen Datensätze samt Grund einzublenden. Häufige Gründe:
- Kodierungsfehler. Die Quellzeile enthält Zeichen, die sich mit der konfigurierten Kodierung nicht sauber dekodieren lassen. Ändern Sie das Kodierungsfeld (cp1254 oder cp1252) und führen Sie die Migration erneut aus.
- Fehlerhafte Datumswerte. Einige Legacy-Datensätze enthalten ungültige Zeitstempel. Diese werden übersprungen, damit gültige Zeilen trotzdem importiert werden.
- Doppelte Schlüssel. Ein Datensatz mit derselben Kennung existiert bereits in HandyCafe. Die Migration behält den vorhandenen Datensatz und überspringt das Duplikat.
Tipps
- Stoppen Sie den Legacy-Server vor einer Migration. Wenn das Legacy-System noch in seine Datenbank schreibt, kann der Import veraltete oder unvollständige Daten sehen.
- Passen Sie das Kodierungsfeld vor der ersten Migration an Ihre Legacy-Locale an. Wenn Sie es nach dem Import ändern, werden bereits beschädigte Namen nicht rückwirkend repariert.
- Führen Sie immer zuerst eine Testmigration aus. Prüfen Sie die Datensatzanzahlen unter "Letzte Zählwerte" und kontrollieren Sie stichprobenartig einige Mitglieder- und Transaktionszeilen, bevor Sie das Personal auf das neue System umstellen.
- Aktivieren Sie die Laufzeitunterstützung und lassen Sie Ihre Legacy-Clients während einer Übergangszeit verbunden. So können Sie prüfen, ob der neue Server sie identisch bedient, bevor Sie den alten Server außer Betrieb nehmen.
- Wenn Sie den Server-UDP-Port ändern, denken Sie daran, dass sich die abgeleiteten Befehls- und Dateiübertragungsports mit verschieben. Firewall-Regeln müssen entsprechend aktualisiert werden.