52 lines
4.1 KiB
Plaintext
52 lines
4.1 KiB
Plaintext
---
|
|
title: Prezentare generală
|
|
description: Configurează însăși aplicația — identitatea ei, permisiunile implicite și ceea ce rulează în momentul instalării.
|
|
icon: screwdriver-wrench
|
|
---
|
|
|
|
**Stratul de configurare** al unei aplicații Twenty este cel care descrie aplicația *pentru platformă* — identitatea ei, permisiunile pe care le deține și codul care rulează în timpul instalării sau actualizării. Aceste declarații nu adaugă noi structuri de date sau comportamente la rulare; ele îi spun lui Twenty *cine este aplicația* și *cum să fie configurată*.
|
|
|
|
```text
|
|
┌────────────────────────────────────────────────────────┐
|
|
│ Application — identity, default role, variables, │
|
|
│ marketplace metadata │
|
|
│ │
|
|
│ ┌──────────────────────────────────────────────────┐ │
|
|
│ │ Role — what the app's logic functions can read │ │
|
|
│ │ and write (referenced by Application) │ │
|
|
│ └──────────────────────────────────────────────────┘ │
|
|
└────────────────────────────────────────────────────────┘
|
|
│
|
|
▼ (at install / upgrade time)
|
|
┌──────────────────────────────────┐
|
|
│ Pre-install hook │ before metadata migration
|
|
└──────────────────────────────────┘
|
|
┌──────────────────────────────────┐
|
|
│ Post-install hook │ after metadata migration
|
|
└──────────────────────────────────┘
|
|
```
|
|
|
|
## În această secțiune
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Configurația aplicației" icon="rocket" href="/l/ro/developers/extend/apps/config/application">
|
|
`defineApplication` — identitate, rol implicit, variabile, metadate pentru marketplace.
|
|
</Card>
|
|
<Card title="Roluri și permisiuni" icon="shield-halved" href="/l/ro/developers/extend/apps/config/roles">
|
|
`defineRole` — declară ce pot citi și scrie funcțiile de logică ale aplicației dvs.
|
|
</Card>
|
|
<Card title="Hook-uri de instalare" icon="wrench" href="/l/ro/developers/extend/apps/config/install-hooks">
|
|
`definePreInstallLogicFunction` și `definePostInstallLogicFunction` — fac backup la date, introduc valori implicite, validează actualizările.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## Cum se leagă componentele între ele
|
|
|
|
* **Aplicația** este punctul de intrare. Fiecare aplicație are exact un apel `defineApplication()`, iar acesta indică un singur **Rol** ca implicit.
|
|
* **Rolul** controlează ce pot citi și scrie funcțiile de logică și componentele front-end ale aplicației. Respectați principiul celui mai mic privilegiu: acordați doar permisiunile de care codul dvs. are cu adevărat nevoie.
|
|
* **Hook-urile de instalare** rulează în timpul instalării sau actualizării — pre-install înainte de migrarea metadatelor (astfel încât să poată refuza o actualizare riscantă), post-install după migrare (astfel încât să poată introduce date implicite în noua schemă).
|
|
|
|
<Note>
|
|
Hook-urile de instalare împart același runtime cu [funcțiile de logică](/l/ro/developers/extend/apps/logic/logic-functions) — aceeași semnătură a handlerului, aceleași variabile de mediu, același client API tipizat — dar sunt declarate cu propriile lor funcții `define` și există în afara modelului obișnuit de declanșare (HTTP, cron, evenimente de bază de date).
|
|
</Note>
|