WO'yu Genişlet, mevcut bir WO'nun (Workcube Object) dosyalarına dokunmadan ona yeni bir davranış eklemeyi sağlar. Ekleme her zaman bir extension olarak yapılır: üretilen kod ayrı bir dosyaya yazılır ve WO'nun seçilen event'lerine bağlanır. Extension silinir ya da pasife alınırsa WO eski hâline döner.
Ekran yalnızca extension ekler. WO'nun kendi formunu değiştirmek, ana forma alan eklemek ya da dosyaları standartlara göre düzeltmek WAI ile İyileştir ekranının işidir.
Nereden açılır
Geliştirici ekranında bir WO'nun detayında, sağ üstteki WAI menüsünden WO'yu Genişlet seçilir (fa fa-puzzle-piece ikonu).
index.cfm?fuseaction=dev.wo&event=wai&woid=<id>&wai_wo=<fuseaction>&waiwo_type=wo_extend
Ekranın solunda adım adım ilerleyen form, sağında bu WO'ya sabitlenmiş Dev Mode sohbeti bulunur. Ekran görüntüsü ya da mockup sohbetten eklenebilir; sonuçlar da sohbete düşer.
Extension tipleri
Tip | Ne yapar | Event'ler | Konum |
|---|---|---|---|
Display | Sayfada görünür. Event sayfasının üstüne ya da altına kendi kutusuyla eklenir; veri kaydediyorsa kendi formu ve kendi kaydet butonu olur. | List, Add, Update, Detail, Dashboard, Info | Sayfa içeriğinin üstüne / altına |
Action | Kayıt işleminde çalışır, ekranda hiçbir şey göstermez. Örnek: kayıttan sonra bağlı bir tabloya satır yazmak, log tutmak, kontrol yapmak. | Add, Update, Delete | Kayıttan önce / sonra |
Nasıl çalışır
- Doğrulama: Extension tipi ve çalışacağı event'ler seçilir. Event listesi WO kaydından ve controller'dan birlikte okunur; WO'da açık olmayan event seçilemez. Bilgi satırında WO'nun kayıt yolu ve ana tablosu gösterilir.
- Netleştirme: Extension'a ad verilir, konumu seçilir ve ne istendiği serbest metinle yazılır. Ad ve etiketler için sözlükten kelime seçilebilir.
- Alanlar: İstenirse bir tablo seçilip kolonları getirilir; kolona tıklamak o kolon için bir alan satırı oluşturur. Kolonu "Bağlantı yok" kalan alan yalnızca arayüzde durur.
- Yaz: Kod üretilir, otomatik denetimden geçer, dosyaya yazılır ve seçilen event'lere bağlanır. Sonuç sohbete; ne işe yaradığını anlatan kısa açıklama, "Monaco'da aç" ve "Bağlama ekle" bağlantılarıyla düşer.
Doğru kod için yapılanlar
- Gerçek adlar: Yapay zekaya sayfanın mevcut değişken ve form alanı adları ile data cfc fonksiyonları argümanlarıyla birlikte verilir; ad uydurulmaz.
- Gerçek şema: Seçilen tabloların ve açıklamada adı geçen tabloların gerçek kolonları verilir. Üretilen sorguda şemada olmayan bir ad varsa dosya yazılmaz.
- Kayıt yolu: WO'nun kaydı data cfc üzerinden mi (datagate), query dosyası üzerinden mi (form_converter) yapıldığı tespit edilir; action extension o yoldaki doğru değişkenlerle yazılır.
- Action kuralları: Action extension hiçbir çıktı üretmez ve kayıt akışında çalıştığını kendisi kontrol eder. Bu kontrol şarttır, çünkü aynı dosya sayfa açılışında ve AJAX isteklerinde de çalıştırılır.
- Display kuralları: Display extension sayfanın kutularına ve alanlarına dokunmaz, sayfa tasarımcısının kullandığı yapıları kullanmaz, kaydı sayfanın ana kaydına değil kendi fonksiyonuna gönderir.
- Kayıt bütünlüğü: Kurala uymayan kod dosyaya yazılmaz. Dosya yazıldıktan sonra veritabanı kaydı başarısız olursa dosya da silinir.
Ana tablo ve bağlı tablolar
Extension WO'nun ana formunun dışında çalışır; bu yüzden ana kaydın kolonlarını kaydedemez.
- Ana tablo kolonları için Extended Fields ya da WAI ile İyileştir kullanılır. Bu kolonlar seçilirse istek reddedilir ve yönlendirme yapılır.
- Bağlı tablolar (kendi kaydı olan tablolar) extension ile çalışır: extension kendi formuyla ve data cfc fonksiyonlarıyla bu tablolara yazar. Gereken fonksiyon data cfc'de yoksa iskeleti otomatik eklenir.
İyileştir ile birlikte kullanım
- Genişlet'te reddedilen istekte İyileştir'de aç butonu çıkar; istek metni İyileştir ekranının sohbetine taşınır.
- İyileştir sohbetinde yeni kutu, bölüm, widget ya da extension isteği algılanırsa Genişlet ekranı önerilir. Genişlet'te aç metni taşır, Burada devam et isteği İyileştir'de çalıştırır.
Hata mesajları ve kayıt geçmişi
- Bağlantı hatalarında gerçek neden (HTTP durumu ve sunucunun mesajı) gösterilir. Yapay zeka servisi geçici bir hata verirse istek bir kez otomatik tekrarlanır.
- Her istek; seçimler, kullanılan model ve sonuçla birlikte sunucuda wai_wo_extend loguna yazılır. Ekip prompt geçmişine buradan ulaşır.
Geri Bildirim
Workcube hakkında konuşalım mı?
Görüşme süresi doldu.