Pengaturan Klien Lawas
HandyCafe berjalan berdampingan dengan instalasi klien V3 dan V4 yang lebih lama tanpa gangguan. Halaman Pengaturan Klien Lawas mengendalikan dua fitur terpisah:
- Protokol Runtime. Mengaktifkan listener jaringan yang memungkinkan klien V3 dan V4 terhubung ke server ini pada port asli mereka.
- Migrasi Database. Secara opsional mengimpor anggota, harga, produk, pesanan, transaksi, dan log dari instalasi lokal yang lebih lama ke database HandyCafe yang baru. Ini hanya untuk Windows.
Kedua fitur ini independen. Anda bisa mengaktifkan dukungan runtime tanpa memigrasi data, memigrasi data tanpa mengaktifkan dukungan runtime, atau melakukan keduanya.
Bagian Protokol Runtime
Aktifkan Dukungan Klien Lawas
Toggle utama di bagian atas. Saat aktif, server memulai tiga listener jaringan:
- Listener UDP pada multicast group yang dikonfigurasi.
- Listener perintah TCP pada
UDP port + 2. - Listener transfer file TCP pada
UDP port + 7.
Mematikan toggle ini akan menghentikan ketiga listener secara atomik. Anda bisa menyesuaikan nomor port atau encoding saat nonaktif, lalu mengaktifkannya kembali untuk menerapkan perubahan.
Kolom Konfigurasi
| Kolom | Default | Deskripsi |
|---|---|---|
| Kunci Auth | HANDYCAFE | Kunci bersama 10 karakter. Setiap frame masuk dan keluar membawa string ini. Frame yang tidak cocok akan dibuang. Semua klien lawas Anda harus memakai kunci yang sama. |
| UDP Multicast IP | 230.4.4.46 | Grup multicast yang dipakai untuk beacon penemuan klien dan pengiriman perintah berbasis UDP. Umumnya di-hardcode di sebagian besar build klien lawas. |
| Server UDP Port | 710 | Port UDP yang didengarkan server untuk beacon dan perintah klien. Klien lawas mengirim ke port ini. |
| Client UDP Port | 711 | Port UDP yang didengarkan klien lawas. Server mengirim perintah manajemen unicast ke port ini pada IP klien yang ditemukan. |
| Encoding | cp1254 | Encoding karakter untuk field string wire-format. Gunakan cp1254 untuk instalasi Turki, cp1252 untuk Eropa Barat. Nilai yang tidak dikenal akan fallback ke cp1254 dengan peringatan di log server. |
| Versi Server | 3.4.01 | String versi yang disiarkan pada setiap beacon UDP. Beberapa klien lawas menolak frame dari versi yang tidak mereka kenali. Setelan ini harus cocok dengan string versi server asli Anda. |
| Varian Protokol | STE | Pilihan wire format. Lihat perbandingan varian di bawah. |
| Inactivity Timeout | 10 | Detik. Watchdog per MAC. Jika tidak ada traffic dari klien dalam jangka ini, klien ditandai offline. Jeda 10 detik cocok untuk klien lawas yang mengirim beacon setiap 2 atau 3 detik. |
Port Turunan
Di bawah formulir, halaman menampilkan baris read-only yang memperlihatkan port TCP turunan:
TCP Command Port: 712 File Transfer Port: 717
Port ini dihitung dari port UDP server. Anda tidak mengonfigurasinya secara terpisah. Jika Anda mengubah Server UDP Port ke nilai lain, port turunan akan ikut berubah.
Varian Protokol
Kolom Varian Protokol memilih wire format yang dipakai server. Pilih varian yang cocok dengan cara server lawas Anda dibangun.
| Variant | Kapan Dipakai |
|---|---|
| STE (Smart/Turbo Edition) | Basis kode lawas modern. Menambahkan prefix info lisensi 70 byte ke struktur frame. Ukuran frame 1337 byte. Pilih ini jika instalasi lawas Anda memakai edisi Smart atau Turbo. |
| Standard | Build lawas dasar yang polos. Ukuran frame 1267 byte tanpa prefix info lisensi. Pilih ini hanya jika instalasi lawas Anda adalah edisi Standard tanpa registrasi lisensi. |
Memilih varian yang salah akan membuat frame dibuang atau salah dibaca. Gejalanya antara lain klien terlihat online tetapi mengabaikan semua perintah, atau data perintah bergeser sebesar offset 70 byte.
Berdampingan dengan Klien Modern
Port lawas (710, 711, 712, 717) sepenuhnya terpisah dari port protokol HandyCafe modern (TCP 5001, 5002, 5003, UDP 5004). Kedua tumpukan protokol berjalan bersamaan tanpa konflik. Anda bisa mencampur klien lama dan baru di LAN yang sama dan mengelolanya dari Panel Admin yang sama.
Menerapkan Perubahan
Setiap kolom di bagian Protokol Runtime disimpan dengan tombol Simpan global di bagian bawah halaman. Saat disimpan, server:
- Menghentikan ketiga listener lawas jika sedang berjalan.
- Memvalidasi kunci auth (tidak boleh kosong).
- Membuat konfigurasi listener baru dari kolom yang diperbarui.
- Memulai ulang listener secara bersamaan.
- Memunculkan notifikasi ketika ketiganya kembali online.
Jika sebuah port sudah dipakai proses lain, server akan menampilkan error dan toggle kembali ke posisi off. Periksa firewall dan layanan lain dengan netstat, lalu pilih rentang port yang kosong.
Bagian Migrasi Database (Hanya Windows)
Fitur ini hanya tersedia saat HandyCafe berjalan di Windows. Di macOS dan Linux, bagian ini menampilkan pemberitahuan: "Migrasi database hanya didukung di Windows."
Deteksi
Saat dibuka, server memindai sistem Anda untuk mencari instalasi lawas. Deteksi mencari di:
- Registry dan jalur instalasi umum seperti
Program Files\HandyCafedanC:\HandyCafe. - File database yang berada di samping instalasi.
- File konfigurasi INI di direktori instalasi.
Saat deteksi berhasil, halaman menampilkan:
| Label | Arti |
|---|---|
| Jalur Instalasi | Lokasi instalasi lawas di disk. |
| Jalur Database | Jalur lengkap ke file database lawas. |
| Versi Server | Versi yang diparsing dari konfigurasi lawas. |
| Jumlah File INI | Jumlah file konfigurasi yang terdeteksi. Berguna untuk memastikan instalasi benar-benar lengkap. |
Jika tidak ada instalasi yang terdeteksi, halaman menampilkan "Tidak ada instalasi lawas yang terdeteksi.". Anda tetap bisa mengaktifkan dukungan runtime; fitur migrasi hanya tidak punya data untuk diimpor.
Status Migrasi
Halaman ini melacak riwayat migrasi:
| Status | Arti |
|---|---|
| never | Anda belum menjalankan migrasi. |
| in_progress | Migrasi sedang berjalan. Jangan tutup server selama status ini. |
| completed | Migrasi terakhir selesai tanpa peringatan. |
| completed_with_warnings | Migrasi terakhir selesai tetapi beberapa catatan dilewati (misalnya karena error encoding atau tanggal tidak valid). Tinjau peringatannya sebelum melanjutkan. |
| undone | Migrasi terakhir telah di-rollback. |
Setelah run pertama berhasil, tombol Mulai Migrasi berubah label menjadi Jalankan Ulang Migrasi.
Apa yang Dimigrasikan
| Tabel | Deskripsi |
|---|---|
| Anggota | Catatan pelanggan dengan nama, info kontak, dan saldo akun. |
| Harga | Tabel harga dan tarif per jam. |
| Produk | Entri katalog produk. |
| Pesanan | Riwayat pesanan dengan referensi sesi. |
| Transaksi | Entri buku besar dengan cap waktu, jumlah, dan metode pembayaran. |
| Log | Entri audit dan peringatan dari database lawas. |
Jaminan "File Aman"
Halaman menampilkan pemberitahuan biru: "File database asli tidak dihapus. Anda bisa menghapusnya dengan aman setelah migrasi dikonfirmasi." Migrasi bersifat read-only terhadap sumber. Bahkan jika Anda menjalankan migrasi berkali-kali, database lawas asli tetap tidak tersentuh. Ini memungkinkan Anda bereksperimen dengan impor, meninjau jumlah, dan rollback tanpa risiko.
Mulai, Jalankan Ulang, dan Urungkan
- Mulai Migrasi. Membuka modal progres. Modal menampilkan fase saat ini dan jumlah catatan yang sudah diproses saat impor berjalan. Jangan tutup HandyCafe selama waktu ini.
- Jalankan Ulang Migrasi. Tersedia setelah eksekusi selesai. Menjalankan ulang impor dari awal. Impor baru menggantikan data sebelumnya di HandyCafe.
- Urungkan Migrasi. Tersedia setelah eksekusi selesai. Membuka dialog konfirmasi. Saat dikonfirmasi, setiap baris yang dimigrasikan dihapus dari HandyCafe. Sumber lawas tidak tersentuh. Setelah urungkan, status kembali ke
never.
Selesai dengan Peringatan
Jika migrasi berakhir dengan completed_with_warnings, banner kuning muncul dengan tautan Detail. Klik untuk membuka daftar catatan yang dilewati beserta alasannya. Alasan umum:
- Ketidakcocokan encoding. Baris sumber berisi karakter yang tidak ter-decode dengan rapi pada encoding yang dikonfigurasi. Ubah field encoding (cp1254 atau cp1252) lalu jalankan migrasi ulang.
- Tanggal tidak valid. Beberapa catatan lawas memiliki cap waktu yang invalid. Catatan ini dilewati agar baris valid tetap bisa diimpor.
- Kunci duplikat. Ada catatan dengan identifier yang sama yang sudah ada di HandyCafe. Migrasi mempertahankan catatan yang sudah ada dan melewati duplikatnya.
Tips
- Hentikan server lawas sebelum menjalankan migrasi. Jika sistem lawas masih menulis ke databasenya, impor bisa membaca data yang usang atau parsial.
- Cocokkan field Encoding dengan locale lawas Anda sebelum migrasi pertama. Mengubahnya setelah data diimpor tidak akan memperbaiki nama yang sudah terkorupsi.
- Selalu jalankan migrasi uji terlebih dahulu. Periksa jumlah catatan di bawah "Jumlah Terakhir" dan cek beberapa baris anggota serta transaksi sebelum memindahkan staf ke sistem baru.
- Aktifkan dukungan runtime dan biarkan klien lawas tetap terhubung selama masa transisi. Ini memungkinkan Anda memverifikasi bahwa server baru melayani mereka secara identik sebelum Anda memensiunkan server lama.
- Jika Anda mengubah Server UDP Port, ingat bahwa port perintah dan transfer file turunan ikut berpindah. Aturan firewall perlu diperbarui sesuai perubahan itu.