Kuika platformunda offline çalışma özelliği, mobil uygulamanın internet bağlantısı olmadığında da belirli ekranları ve verileri lokal veritabanı üzerinden çalıştırmasını sağlar.
Offline senaryonun doğru çalışabilmesi için her iki modülün de yapılandırılması gereklidir.
1. UI Designer Üzerinden Offline Screen Tanımlama
Offline senaryoda ilk adım, bağlantı olmadığında hangi ekranın açılacağını belirlemektir. Bu işlem UI Designer modülünde yapılır.
Adım 1: Offline Çalışacak Ekranı Açın
UI Designer modülüne gidin.
Offline durumda açılmasını istediğiniz ekranı seçin.
Adım 2: Screen Role Tanımlayın
Sağ panelde Properties sekmesini açın.
Role alanını bulun.
Açılan listeden Default Offline Screen seçeneğini işaretleyin.
Default Offline Screen Ne İşe Yarar?
Bu rol:
Uygulama internet bağlantısı yokken otomatik olarak açılır.
Offline modda kullanıcıya gösterilecek ana ekranı belirler.
Offline tabloların görüntülendiği ekran olmalıdır.
Default Offline Screen tanımlanmazsa bağlantı kesildiğinde uygulama boş ekran gösterebilir.
Offline Screen Tanımlama Önerileri
Bu ekran mümkün olduğunca sade tasarlanmalıdır.
Yalnızca offline desteklenen tablolar kullanılmalıdır.
Kritik butonlar (örneğin online servis çağıran aksiyonlar) devre dışı bırakılmalıdır.
2. Datasources Üzerinden Offline Table Yapılandırması
UI tarafı tanımlandıktan sonra, offline kullanılacak tabloların yapılandırılması gerekir. Bu işlem Datasources modülünde yapılır. Offline ayarlarını yeni bir tablo oluştururken veya mevcut bir tabloyu düzenlerken yapabilirsiniz.
Adım 1: Tabloyu Açın
Datasources modülüne gidin.
Sol panelde Managed DB → Tables başlığını genişletin. Tablolar şemalara göre gruplanmıştır (örneğin dbo).
Offline çalışacak tabloyu açın veya Tables yanındaki + simgesiyle yeni bir tablo oluşturun.
Adım 2: WORK OFFLINE Özelliğini Aktif Edin
Sağ üstte, CREATE butonunun yanında bulunan WORK OFFLINE anahtarını aktif edin.
Anahtar aktifleştirildiğinde, sütun tablosunun üzerinde WORK OFFLINE bölümü açılır ve iki seçenek sunulur.
Schema Only
Bu seçenek:
Tabloyu yalnızca yapısıyla birlikte offline veritabanında oluşturur.
Veri içermez; offline ortamda yalnızca tablo şeması bulunur.
Kullanım amacı: Sunucudan veri indirilmesine gerek olmayan, cihazda yalnızca yeni veri yazılacak senaryolar.
With data
Bu seçenek, tabloyu hem şeması hem de belirlediğiniz kriterlere göre filtrelenmiş verisiyle offline veritabanında oluşturur. Seçildiğinde şu ayarlar açılır:
Download filter: Sunucudan cihaza hangi kayıtların indirileceğini belirler.
Upload filter: Cihazdan sunucuya hangi kayıtların geri gönderileceğini belirler.
Her iki alan da SELECT * FROM [TabloAdı] WHERE ifadesiyle hazır gelir; siz yalnızca WHERE koşulunu tamamlarsınız.
Örnek Download filter: SELECT * FROM Table1 WHERE UserId = @kuikauserid
Filtrelerde kullanılabilen parametreler:
@kuikauserid: Oturum açan kullanıcının ID'si
@kuikausername: Oturum açan kullanıcının kullanıcı adı
Bu filtreler sayesinde her kullanıcı yalnızca kendi verisini offline olarak indirir.
Allow offline editing
With data seçeneğinin altında yer alan bu anahtar:
Açık olduğunda: İndirilen kayıtlar cihazda güncellenebilir ve bir sonraki senkronizasyonda sunucuya gönderilir.
Kapalı olduğunda: İndirilen kayıtlar yalnızca görüntülenebilir (read-only).
Adım 3: Tabloyu Kaydedin
Ayarları tamamladıktan sonra CREATE butonuna tıklayın.
Offline Çalışma Akışı
Uygulama başlatılır.
Sistem internet bağlantısını kontrol eder.
Bağlantı yoksa:
Default Offline Screen açılır.
Offline tablolar lokal veritabanından yüklenir.
Bağlantı varsa:
Online datasource kullanılır.
Örnek Senaryo
Senaryo: Kullanıcı kendi kayıtlarını offline görüntüleyebilsin ve düzenleyebilsin.
Yapılandırma:
UI Designer:
Liste ekranı oluşturulur.
Role → Default Offline Screen seçilir.
Datasources:
Tabloda WORK OFFLINE aktif edilir.
With data seçilir.
Download filter: SELECT * FROM Table1 WHERE UserId = @kuikauserid
Upload filter: SELECT * FROM Table1 WHERE UserId = @kuikauserid
Kayıtların offline düzenlenmesi isteniyorsa Allow offline editing aktif edilir.
Sonuç:
Kullanıcı offline durumda kendi verisini görüntüler ve düzenler.
Bağlantı sağlandığında değişiklikler sunucuya senkronize edilir.
Dikkat Edilmesi Gerekenler
Offline tabloda primary key tanımlı olmalıdır. Yeni oluşturulan her tablo, varsayılan olarak Guid tipinde bir Id birincil anahtar sütunuyla başlar; bu sütunu silmeyin.
Büyük veri setleri offline'a alınmamalıdır; Download filter ile indirilen veriyi mümkün olduğunca daraltın.
Online servis çağıran aksiyonlar offline ekranda çalışmaz.