User Integration
vNext platformu, kullanıcı etkileşimini workflow akışının doğal bir parçası olarak modeller. Bir süreç içinde state veya transition seviyesinde view tanımları yapılır. vNext Client Workflow Manager SDK bu yapıyı yöneterek state ve transition döngülerinde kullanıcıya doğru view'i ve veriyi sunar.
Backend-Driven View yaklaşımı sayesinde mobil/web platformların sürüm çıkışları minimize edilir — UI değişiklikleri sadece backend deploy ile yayınlanır.
Etkileşim Döngüsü
Adım Adım
- Instance başlatılır:
POST /api/v1/{domain}/workflows/{wf}/instances/start(geneldesync=false) - Long-polling: Client
GET /functions/stateçağırarakstatus.code = "A"(Active) olana kadar bekler - State response: Active state'e ulaşıldığında response, mevcut state'i ve view ihtiyacı bilgisini içerir
- View talebi: View var ise client
GET /functions/viewile view tanımını çeker - Data talebi: View'in data ihtiyacı varsa client
GET /functions/dataile veri çeker - Render: View, data ile birlikte render edilir
- Transition önce kontrolü: Kullanıcı bir transition'ı submit etmeden önce, transition'a özel view var mı kontrol edilir (popup/modal onay)
- Submit:
PATCH /instances/{id}/transitions/{key}ile transition tetiklenir - Tekrar long-polling: Status değişimi için tekrar State function'a long-polling yapılır
- Süreç sonu:
status.code = "C"(Completed) olduğunda döngü biter
Validation
- Schema tanımları varsa form validation annotation'larını client kullanır
- Ön uçta real-time validation; backend'de submit'te re-validation
- Bkz. Schema component
İlgili
- Async / Sync — long-polling neden gerekli
- View component — view tanımı
- Built-in Functions — State / Data / View
- Schema component — form validation