HandyCafe Docs
owner it-admin

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:

  1. Laufzeitprotokoll. Aktiviert die Netzwerk-Listener, mit denen V3- und V4-Clients auf ihren ursprünglichen Ports mit diesem Server verbunden werden können.
  2. 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:

  1. stoppt der Server die drei Legacy-Listener, falls sie liefen.
  2. validiert er den Auth-Schlüssel (er darf nicht leer sein).
  3. erstellt er aus den aktualisierten Feldern neue Listener-Konfigurationen.
  4. startet er die Listener parallel neu.
  5. 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\HandyCafe und C:\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.