1. Genel Bakış ve Amaç
Bu geliştirmenin amacı; geliştirici ortamlarında eklenen veya güncellenen sözlük kayıtlarının merkezi Alfa ortamı (alfa.workcube.app) ile çift taraflı ve ID tutarlılığı bozulmadan senkronize edilmesini sağlamaktır.
Veri akışı hiyerarşisi:
Alfa DB > Teta DB > Relase DB > Müşteri DB
Yerel geliştirici ortamında bağımsız DICTIONARY_ID üretilmesi kesin olarak engellenmiş olup; tüm yeni ID'ler doğrudan merkezi Alfa sunucusu tarafından atanır.
2. Ön Koşullar (Geliştirici Ortamı Doğrulama)
Sözlük senkronizasyonunun yerelde otomatik devreye girmesi için aşağıdaki 2 koşulun sağlanması gerekir:
Workcube Lisans Ayarları (
settings.workcube_license):License Type:
Development(2) olmalıdır.Implementation Project Domain:
networg.workcube.appiçermelidir.
Networg Abone Doğrulaması:
Sistemin bağlı olduğu abone numarası (
WRK_LICENSE.WORKCUBE_ID), Networg üzerindekiSubscriptionManagementWEX servisi ile sorgulanır.Abone kategorisinin "Developer" olduğu teyit edilmelidir.
3. Çalışma Mantığı ve Veri Akışı
[Geliştirici Yerel Ortamı] [alfa.workcube.app] │ │ │─── 1. Yeni Kelime / Güncelleme İsteği ────────>│ (WEX üzerinden iletilir) │ (Yerel MAX_ID ve LAST_DATE ile birlikte) │ │ │── 2. Sıradaki DICTIONARY_ID üretilir │ │ ve Alfa DB'ye yazılır. │ │ │<── 3. Yeni Kayıt + Eksik Kalan Kayıtlar ───────│ (Toplu response) │ │ │─── 4. Gelen kayıtlar aynı ID'ler ile │ │ yerel DB'ye basılır (RECORD_IP='alfa_sync')A. Yeni Kelime Ekleme Akışı
Geliştirici arayüzden yeni bir kelime eklediğinde yerel veritabanına doğrudan kayıt (
INSERT) atılmaz.İstek, yereldeki mevcut
MAX(DICTIONARY_ID)ve son güncelleme tarihi bilgileriyle birlikte doğrudan(https://alfa.workcube.app/wex.cfm/dictionary_sync/add_dictionary)adresine iletilir.Alfa DB üzerinde sıradaki tekil
DICTIONARY_IDüretilerek kayıt Alfa'ya açılır.Alfa, yerel ortamda eksik kalmış olabilecek (başkalarının daha önce eklediği) kelimelerle birlikte yeni açılan kaydı toplu olarak geri döner.
Dönen kayıtlar geliştiricinin yerel tablosuna (
SETUP_LANGUAGE_TR) birebir aynıDICTIONARY_IDile işlenir veRECORD_IPalanınaalfa_syncdamgası vurulur.
B. Kelime Güncelleme (Update) Akışı
Mevcut bir kelimenin karşılığı değiştirildiğinde işlem öncelikle Alfa WEX servisine iletilir.
Kayıt Alfa üzerinde güncellenir (
UPDATE_DATEveUPDATE_IPset edilir).Güncel satır geliştiricinin yerel veritabanına yansıtılır.
C. Alfa'daki Değişiklikler Lokale Nasıl Yansır?
Alfa ortamında başka bir geliştirici tarafından eklenen yeni kelimeler veya yapılan güncellemeler işlem anında (on-action) çekilir.
Yerel ortamınızda sözlükle ilgili herhangi bir ekleme veya güncelleme yaptığınız anda sistem Alfa'daki en güncel eksikleri otomatik olarak alıp yerelinize yansıtır.
4. Hata ve Kesinti Yönetimi (Offline Koruma)
Bağlantı Kesintisi: Ağ sorunu veya Alfa sunucusuna erişilemediği durumlarda WEX çağrısı hata alır ve işlem
cfabortile kesilir.Veri Güvenliği: Alfa'ya yazılamayan hiçbir kelime yerelde bağımsız olarak kaydedilmez. Böylece yerel ID diziliminin Alfa'dan kopması ve çakışması kesin olarak engellenir.