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
universalIdentifieralanları, 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_NAMEolarak kullanılabilirler. Ön bileşenlerde,twenty-sdk/front-componentiçindekigetApplicationVariable('VARIABLE_NAME')fonksiyonunu kullanın.isSecret: trueile 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 — onudefineApplication()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
defaultRoleUniversalIdentifierdeğerini açıkça geçmek hâlâ desteklenmektedir, ancakdefineApplicationRole()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
HemapplicationVariables 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:
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_TOKENolarak 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.
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.