Skip to main content
Il config layer di un’app Twenty è ciò che descrive l’app alla piattaforma — la sua identità, le autorizzazioni che detiene e il codice che viene eseguito durante l’installazione o l’aggiornamento. Queste dichiarazioni non aggiungono nuove strutture di dati o comportamenti a runtime; dicono a Twenty chi è l’app e come configurarla.

In questa sezione

Configurazione dell'applicazione

defineApplication — identità, ruolo predefinito, variabili, metadati del marketplace.

Ruoli e permessi

defineRole — dichiara ciò che le funzioni logiche della tua app possono leggere e scrivere.

Hook di installazione

definePreInstallLogicFunction, definePostInstallLogicFunction e defineUninstallLogicFunction — esegui il backup dei dati, imposta i valori predefiniti, convalida gli aggiornamenti, pulisci al momento della rimozione.

Come si relazionano gli elementi

  • L’applicazione è il punto di ingresso. Ogni app ha esattamente una chiamata a defineApplication() e punta a un Ruolo come predefinito.
  • Il Ruolo controlla ciò che le funzioni di logica e i componenti front-end dell’app possono leggere e scrivere. Segui il principio del privilegio minimo: concedi solo le autorizzazioni di cui il tuo codice ha effettivamente bisogno.
  • Gli hook di installazione vengono eseguiti durante l’installazione o l’aggiornamento — pre-installazione prima della migrazione dei metadati (così può rifiutare un aggiornamento rischioso), post-installazione dopo la migrazione (così può inserire dati predefiniti in base al nuovo schema). L’hook di disinstallazione viene eseguito subito prima che l’app venga rimossa, in modo da poter ripulire le risorse esterne mentre i dati dell’app sono ancora leggibili.
Gli hook di installazione condividono il runtime delle logic function — stessa firma dell’handler, stesse variabili d’ambiente, stesso client API tipizzato — ma sono dichiarati con le proprie funzioni define e vivono al di fuori del normale modello di trigger (HTTP, cron, eventi del database).