Skip to main content
Her uygulamanın, tam olarak bir adet defineApplication çağrısı olması gerekir. Bu çağrı şunları bildirir:
  • Kimlik — evrensel tanımlayıcı, görünen ad, açıklama.
  • İzinler — mantık fonksiyonlarının ve ön uç bileşenlerinin hangi rol altında çalıştığı.
  • Değişkenler (isteğe bağlı) — kodunuza ortam değişkenleri olarak sunulan anahtar–değer çiftleri.
  • Kurulum öncesi / kurulum sonrası / kaldırma kancaları (isteğe bağlı) — bkz. Mantık Fonksiyonları.
src/application-config.ts
Notlar:
  • universalIdentifier alanları, size ait deterministik kimliklerdir. Bunları bir kez oluşturun ve senkronizasyonlar boyunca kararlı tutun.
  • applicationVariables, fonksiyonlarınız ve ön bileşenleriniz için ortam değişkenlerine dönüşür. Mantık fonksiyonlarında (sunucu tarafında), process.env.VARIABLE_NAME olarak kullanılabilirler. Ön bileşenlerde, twenty-sdk/front-component içindeki getApplicationVariable('VARIABLE_NAME') fonksiyonunu kullanın. isSecret: true ile işaretlenen değişkenler yalnızca mantık fonksiyonlarına enjekte edilir. Ön bileşenler yalnızca gizli olmayan değişkenleri alır.
  • Varsayılan rol, defineApplicationRole() ile işaretlenmiş rol dosyasından otomatik olarak algılanır — onu defineApplication() içinden belirtmenize gerek yoktur.
  • Kurulum öncesi, kurulum sonrası ve kaldırma fonksiyonları manifest derlemesi sırasında otomatik olarak algılanır — bunlara defineApplication() içinde referans vermeniz gerekmez.
  • Geriye dönük uyumluluk için defaultRoleUniversalIdentifier değerini açıkça geçmek hâlâ desteklenmektedir, ancak defineApplicationRole() lehine kullanımdan kaldırılmıştır.
  • serverVariables, API anahtarları gibi örnek düzeyindeki yapılandırmalar ve gizli bilgilerdir. applicationVariables’ın aksine, manifest içinde herhangi bir değer belirtmezler — çalışma alanı operatörü bunları uygulamanın ayarlarından doldurur ve yalnızca ayarlandıklarında mantık fonksiyonlarına enjekte edilirler.
  • Uygulamanın Ayarlar sekmesinde (varsayılan değişken yapılandırma bölümünün yerine) özel bir yapılandırma arayüzü oluşturmak için, kendi dosyasında defineSettingsFrontComponent() ile bir ön bileşen tanımlayın. Her uygulama için yalnızca bir tane olabilir. Sistem tarafından yönetilen bölümler (otomatik yükseltme, App URL, bağlantılar) her zaman görünür durumda kalır.

Değişken türleri

Hem applicationVariables hem de serverVariables, isteğe bağlı bir type (ve SELECT / MULTI_SELECT için bir options listesi) kabul eder. Desteklenen türler: TEXT (varsayılan), BOOLEAN, NUMBER, NUMERIC, DATE, DATE_TIME, SELECT, MULTI_SELECT, ARRAY, RAW_JSON, RICH_TEXT.
src/application-config.ts
type yalnızca görünümü ve doğrulamayı etkiler — çalışma alanı ayarları arayüzünde eşleşen girdiyi seçer (açma/kapama düğmesi, sayı alanı, açılır liste, tarih seçici, JSON düzenleyici, …) ve derlemenin yapılandırmanızı doğrulamasını sağlar (örneğin, SELECT / MULTI_SELECT boş olmayan options bildirmelidir). Değerin kodunuza nasıl ulaştığını değiştirmez. Değerler her zaman string olarak eklenir — bu, ortam değişkenlerinin doğasında vardır (process.env.* yalnızca string kabul eder). Mantık fonksiyonunuz çalıştığında, yürütücü her bir değeri process.env oluşturulurken bildirilen type’a göre serileştirir; böylece değerin nasıl ayarlandığından (manifest varsayılanı, ayarlar arayüzü veya önceki bir sürüm) bağımsız olarak string biçimi tutarlı olur: String’i beklediğiniz türe geri ayrıştırın:
Aynısı, getApplicationVariable('VARIABLE_NAME') ile değerleri okuyan ön bileşenler için de geçerlidir — döndürülen değer bir stringtir; gerektiği gibi ayrıştırın.

Varsayılan fonksiyon rolü

defineApplicationRole() ile bildirilen rol, uygulamanın iş mantığı işlevlerinin ve ön uç bileşenlerinin neye erişebileceğini kontrol eder:
  • TWENTY_APP_ACCESS_TOKEN olarak enjekte edilen çalışma zamanı belirteci bu rolden türetilir.
  • Türlendirilmiş API istemcisi, o role tanınan izinlerle sınırlandırılır.
  • En az ayrıcalık ilkesini izleyin: yalnızca fonksiyonlarınızın ihtiyaç duyduğu izinleri bildirin.
Yeni bir uygulama iskeleti oluşturduğunuzda, CLI src/roles/default-role.ts konumunda bir başlangıç rol dosyası oluşturur. Tam başvuru için bkz. Roller ve İzinler.

Pazaryeri meta verileri

Eğer uygulamanızı yayımlamayı planlıyorsanız, bu isteğe bağlı alanlar uygulamanızın pazaryerinde nasıl görüneceğini kontrol eder:
logoUrl ve screenshots, logo ve galleryImages için kullanımdan kaldırılmış takma adlardır. Bu alanlar için harici mutlak URL’ler (http:// veya https://) desteklenmez: derleme sırasında uyarı ile birlikte kaldırılırlar. Bunun yerine görselleri uygulamanızın public/ klasöründe paketleyin.