Hangi betik nerede çalışır
YTCC'de iki tür betik vardır. İstemci betikleri ekranlara aittir: sayfayı açmış kişinin tarayıcısında, ekran davranışı ve operatör eylemleri için çalışırlar. Sunucu betikleri tesise aittir: kimse bakmasa da sunucuda, hesaplamalar ve gözetimsiz otomasyon için çalışırlar. İkisi de JavaScript'le yazılır; sunucu betikleri TypeScript'le.
Karşılaştırma
| İstemci betiği | Sunucu betiği | |
|---|---|---|
| Çalıştığı yer | Tarayıcı; çalışma ekranında ve ekran editörünün Run kipinde; düzenlerken çalışmaz | Sunucuda, etkin her betik için ayrı bir süreç |
| Ne zaman çalışır | Sayfa açılınca ya da kapanınca, periyodik (500 ms ya da daha uzun aralıkla), bir sinyal değişince ya da operatör bir nesneyle bir şey yapınca (tıklama, giriş…) | Bir sinyal değişince, bir alarm oluşunca, bir koşul doğru olunca, bir takvime göre, betik dururken |
| Kimin adına | Girişli kullanıcı: bir yazma, o kullanıcının yetkileri, sorumluluk alanları ve komut kaydıyla olağan bir komuttur | Betiğin kendisi (komut kaydında script:<ad>); sahaya komut izni, hedef desenleri ve hız sınırıyla |
| Neye erişir | Sinyaller, ekranın nesneleri ve sayfaları, popup'lar, iletiler, haritalar, haberleşme kontrolü | ctx arayüzüyle sinyaller ve alarmlar; ekran, dosya, ağ ve program yok |
| Durum saklama | Yalnız sayfa açıkken | Yeniden başlatmada da kalan kalıcı durum |
| Sınırlar | Süre sınırı yok; 5 saniyeden sonra uyarı | Bellek, çağrı başına süre ve dakikadaki komut sınırlı; sürekli hata veren betik durdurulur |
| Düzenlendiği yer | Ekran editörü, Code görünümü | Konfigürasyon editörü, Automation › Server scripts |
Hangisini kullanmalı
| İş | Betik |
|---|---|
| Bir animasyona sığmayan mantıkla nesne gösterme/gizleme, metin ve renk değiştirme | İstemci |
| Komuttan önce operatörden onay ya da değer isteme, popup açma, sayfaya gitme | İstemci |
| Operatör adına art arda birkaç komut gönderen düğme | İstemci (operatörün yetkileri geçerli) |
| Hiçbir ekran açık değilken de var olması gereken hesaplanan değer, örneğin günlük toplam | Sunucu |
| Bir sinyale ya da alarma otomatik tepki, yazılımda kilit, takvim | Sunucu |
| Operatör tarayıcıyı kapatınca da çalışmaya devam etmesi gereken her şey | Sunucu |
Betikten önce bildirimsel araçları tercih edin: nesnelerdeki animasyonlar ve bağlamalar, tıklama eylemleri, ifade sinyalleri ve alarm tanımları. Bunlar denetlenir, çevrilir ve bakımı kolaydır; betiği onların yapamadığı işler için kullanın.
İstemci betikleri bir güvenlik sınırı değildir
İstemci betiği operatörün tarayıcısında çalışır. Girişli kullanıcının yapabileceğinden fazlasını yapamaz: her yazma sunucuya gider ve sunucu yetkileri ve kilitleri yeniden denetler. Ama istemci betiği sayfadan yalıtılmış değildir: betik düzenleyebilen kişi operatörlerin ekranında kod çalıştırabilir. Editor access (Editör erişimi) yetkisini yalnız mühendislere verin.
Nasıl yazılacakları için bkz. İstemci betikleri; sunucu tarafı için bkz. Sunucu betikleri.