i18n - docs translations (#23618)

Created by Github action

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/23618?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->

Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
github-actions[bot]
2026-07-31 09:35:47 +02:00
committed by GitHub
parent 7b7e4a5eca
commit 8abc8f4bc9
120 changed files with 230 additions and 310 deletions
@@ -22,7 +22,7 @@ info: أبلغ عن المشكلات، واطلب الميزات، وساهم ب
1. تحقق من [المشكلات القائمة](https://github.com/twentyhq/twenty/issues) للعمل ذي الصلة
2. بالنسبة للميزات الجديدة، افتح مشكلة أولًا للنقاش
3. راجع [مدونة قواعد السلوك](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. راجع [مدونة قواعد السلوك](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### التفريع والاستنساخ
@@ -25,7 +25,7 @@ Twenty مفتوح المصدر ويرحب بمساهمات المجتمع. سو
<Card title="تقارير الأخطاء والطلبات" icon="bug" href="/l/ar/developers/contribute/capabilities/bug-and-requests">
أبلغ عن المشكلات أو اطلب ميزات
</Card>
<Card title="تطوير الواجهة الأمامية" icon="browser" href="/l/ar/developers/contribute/capabilities/frontend-development">
<Card title="تطوير الواجهة الأمامية" icon="browser" href="/l/ar/developers/contribute/capabilities/frontend-development/folder-architecture-front">
ساهم في واجهة المستخدم
</Card>
</CardGroup>
@@ -198,4 +198,4 @@ export default defineApplicationRole({
* ابدأ من الدور المُنشأ تلقائيًا، ثم قم بتقييده تدريجيًا — إذ يمنح الإعداد الافتراضي صلاحيات قراءة واسعة، وهو ما نادرًا ما تريده في بيئة الإنتاج.
* استبدل `objectPermissions` و`fieldPermissions` بالكائنات والحقول الدقيقة التي تحتاجها وظائفك فعليًا.
* `permissionFlagUniversalIdentifiers` تتحكم في الوصول إلى القدرات على مستوى المنصة. اجعلها في حدّها الأدنى.
* اطّلع على مثال عملي: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* اطّلع على مثال عملي: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### مشاركة تطبيق منشور
<Warning>
تُعد مشاركة التطبيقات الخاصة (tarball) عبر مساحات العمل ميزة ضمن **Enterprise**. ستعرض علامة التبويب **التوزيع** مطالبة بالترقية بدلًا من عناصر التحكم في المشاركة حتى تحتوي مساحة العمل لديك على مفتاح Enterprise صالح. اطلع على [الإعدادات > لوحة الإدارة > Enterprise](/settings/admin-panel#enterprise) لتنشيطه.
</Warning>
تطبيقات tarball لا تُدرَج في السوق العامة، لذا لن تكتشفها مساحات العمل الأخرى على الخادم نفسه عبر الاستعراض. بمجرد أن تصبح مساحة العمل لديك ضمن خطة Enterprise، يمكنك مشاركة تطبيق تم نشره كما يلي:
تطبيقات tarball لا تُدرَج في السوق العامة، لذا لن تكتشفها مساحات العمل الأخرى على الخادم نفسه عبر الاستعراض. لمشاركة تطبيق منشور:
1. اذهب إلى **الإعدادات > التطبيقات > التسجيلات** وافتح تطبيقك
2. في علامة التبويب **التوزيع**، انقر **نسخ رابط المشاركة**
@@ -26,7 +26,7 @@ description: وسّع وظائف Twenty باستخدام واجهات برمجة
<Card title="الويب هوكس" icon="bell" href="/l/ar/developers/extend/webhooks">
احصل على إشعارات بالأحداث في الوقت الفعلي
</Card>
<Card title="التطبيقات" icon="puzzle-piece" href="/l/ar/developers/extend/apps/getting-started">
<Card title="التطبيقات" icon="puzzle-piece" href="/l/ar/developers/extend/apps/getting-started/quick-start">
أنشئ تخصيصات كرمز برمجي
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ description: تدفق رمز التفويض مع PKCE وبيانات اعتما
## متى تستخدم OAuth
| السيناريو | طريقة المصادقة |
| -------------------------------------------- | ------------------------------------------------------------------------------------ |
| البرامج النصية الداخلية، والأتمتة | [مفتاح API](/l/ar/developers/extend/api#authentication) |
| تطبيق خارجي يعمل نيابةً عن مستخدم | **OAuth — رمز التفويض** |
| من خادم إلى خادم، دون سياق مستخدم | **OAuth — بيانات اعتماد العميل** |
| تطبيق Twenty مع امتدادات واجهة المستخدم (UI) | [التطبيقات](/l/ar/developers/extend/apps/getting-started) (يتم التعامل مع OAuth تلقائيًا) |
| السيناريو | طريقة المصادقة |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| البرامج النصية الداخلية، والأتمتة | [مفتاح API](/l/ar/developers/extend/api#authentication) |
| تطبيق خارجي يعمل نيابةً عن مستخدم | **OAuth — رمز التفويض** |
| من خادم إلى خادم، دون سياق مستخدم | **OAuth — بيانات اعتماد العميل** |
| تطبيق Twenty مع امتدادات واجهة المستخدم (UI) | [التطبيقات](/l/ar/developers/extend/apps/getting-started/quick-start) (يتم التعامل مع OAuth تلقائيًا) |
## تسجيل عميل
@@ -6,7 +6,7 @@ description: أنشئ تطبيقات، استخدم واجهة برمجة الت
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/ar/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/ar/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>التطبيقات</CardTitle>
وسّع Twenty بكائنات مخصصة، ومنطق على جانب الخادم، ومكونات واجهة المستخدم، ووكلاء الذكاء الاصطناعي — جميعها كحزم TypeScript.
</Card>
@@ -271,9 +271,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. ابحث عن قسم **Email**
3. قم بضبط إعدادات SMTP الخاصة بك:
<ArticleTabs label1="جيميل" label2="أوفيس 365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="جيميل">
ستحتاج إلى توفير [كلمة مرور التطبيق](https://support.google.com/accounts/answer/185833).
* EMAIL_DRIVER=smtp
@@ -282,9 +282,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="أوفيس 365">
تذكر أنه إذا كنت تشغل التحقق بعاملين، ستحتاج إلى توفير [كلمة مرور التطبيق](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9).
* EMAIL_DRIVER=smtp
@@ -293,9 +293,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** هو خادم بريد إلكتروني مزيف للتطوير والاختبار.
* قم بتشغيل صورة smtp4dev: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -305,9 +305,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**وضع بيئي فقط:** إذا كنت قد ضبطت `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`، فأضف هذه المتغيرات إلى ملف `.env` الخاص بك بدلاً من ذلك.
@@ -36,6 +36,6 @@ description: وسّع Twenty باستخدام التعليمات البرمجي
تكتب تطبيقك كمشروع TypeScript على جهازك. تراقب أداة CLI ملفات المصدر لديك وتزامنها مباشرة مع خادم Twenty شغّال — عدِّل ملفًا لترى التغيير في واجهة المستخدم خلال ثانية واحدة. يُعاد توليد عميل API مضبوط الأنواع تلقائيًا عند تغيّر المخطط. عندما تكون مستعدًا، يقوم `yarn twenty app:publish --private` بالدفع إلى خادم إنتاج، أو يقوم `yarn twenty app:publish` بإدراج تطبيقك على npm وسوق Twenty.
<Card title="أنشئ تطبيقك الأول" icon="arrow-right" href="/l/ar/developers/extend/apps/getting-started">
<Card title="أنشئ تطبيقك الأول" icon="arrow-right" href="/l/ar/developers/extend/apps/getting-started/quick-start">
دليل إرشادي من ثلاث مراحل — الإنشاء الأوّلي، تشغيل خادم محلّي، ومزامنة تغييراتك.
</Card>
@@ -41,8 +41,6 @@ description: اربط السجلات عبر كائنات مختلفة باستخ
تستخدم العلاقات من نوع متعدد إلى متعدد نمط **كائن ربط**: كائن وسيط يربط بين الجانبين. باستخدام ميزة علاقة الربط، تعرض Twenty السجلات المرتبطة النهائية مباشرةً، مع إخفاء الكائن الوسيط من واجهة المستخدم.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**ميزة بيتا**: يجب تمكين علاقات الباقة في **الإعدادات → مجتمع الميزات** قبل الاستخدام.
</Warning>
@@ -44,7 +44,7 @@ Twenty Cloud تعمل على خوادم AWS الموجودة في فرانكفو
يتم تشفير جميع البيانات أثناء النقل وفي حالة السكون. يتم عزل بيانات المستأجرين من خلال إعداد مخطط (schema) لكل مستأجر، كما يتم تدوير مفاتيح التشفير دوريًا.
</Accordion>
<Accordion title="ما أفراد فريق Twenty أو الجهات المعالجة الفرعية الذين يمكنهم الوصول إلى مساحات عمل العملاء، ولأي أغراض، وكيف تتم الموافقة على هذا الوصول وتسجيله؟">
لا يمكن لفِرَق الهندسة والدعم في Twenty الوصول إلى مساحات عمل العملاء إلا بعد أن يُبلِغ العميل عن مشكلة ويمنح حق الوصول عبر الإعدادات → عام → الأمان.
قد تتمكّن فرق الهندسة والدعم في Twenty من الوصول إلى مساحات عمل العملاء للتحقيق في المشكلات وحلّها. يتحكّم مالكو مساحة العمل في ذلك: يمكن تعطيل وصول الدعم في أي وقت من خلال الانتقال إلى Settings → General → Security، وسيظل معطّلًا حتى تقوم بتفعيله مرة أخرى.
</Accordion>
<Accordion title="ما هي عملية الإخطار بالحوادث والإطار الزمني المستهدف للإخطار بعد حادثة أمان مؤكدة تؤثِّر على بياناتنا؟">
في حال حدوث خرق مؤكد للبيانات الشخصية يؤثِّر على بياناتك، سنقوم بإخطارك دون تأخير غير مبرَّر وعلى أي حال خلال 48 ساعة من علمنا به. سيتضمَّن إخطارنا، بقدر ما هو معروف في ذلك الوقت: طبيعة الخرق، وفئات البيانات والأعداد التقريبية للبيانات والأفراد المتأثِّرين، والعواقب المحتملة، وإجراءات المعالجة والتخفيف المتخذة أو المخطَّط لها. سنزوِّدك بتحديثات كلما تقدَّم التحقيق.
@@ -64,7 +64,7 @@ Twenty Cloud تعمل على خوادم AWS الموجودة في فرانكفو
يبقى السجلّ الذي تمت إزالته في النسخ الاحتياطية لمدة 30 يومًا، وبعد ذلك يُحذَف نهائيًا.
</Accordion>
<Accordion title="عند إغلاق مساحة عمل أو طلب الحذف الكامل، ما الجدول الزمني الدقيق المطبَّق على بيانات الإنتاج والمرفقات والسجلات والنسخ الاحتياطية؟">
عندما تُحذَف مساحة عمل، تُزال بياناتها فورًا من الأنظمة النشطة. تُحتفَظ النسخ الاحتياطية لمدة 7 أيام، وبعد ذلك تُحذَف جميع البيانات نهائيًا.
عند حذف مساحة عمل، تتم إزالة بياناتها من الأنظمة العاملة خلال نحو 90 يومًا من إنهاء الخدمة، وعادةً في وقت أقرب بكثير. ثم تُجرى الكتابة فوق النسخ الاحتياطية والأرشيفية أو تُحذف خلال 90 يومًا إضافية، وبعد ذلك تُحذف جميع البيانات نهائيًا. طوال هاتين الفترتين تكون البيانات معزولة عن أي استخدام تشغيلي. عند الطلب، يمكننا تقديم شهادة خطية عند اكتمال عملية الحذف. راجع البند 4.9 من اتفاقية معالجة البيانات الخاصة بك للاطّلاع على الشروط الكاملة.
</Accordion>
<Accordion title="خلال أي فترة احتفاظ بالنسخ الاحتياطية، هل تكون البيانات المحذوفة معزولة عن الوصول والتشغيل الفعلي؟">
نعم، خلال أي فترة احتفاظ بالنسخ الاحتياطية، تكون البيانات المحذوفة معزولة عن الاستخدام التشغيلي.
@@ -20,8 +20,6 @@ description: افهم كيف تعمل الفروع وكيف تتحكم في ال
3. عيِّن شروطًا على كل Filter لتحديد متى يجب أن يواصل ذلك الفرع
4. سيتابع فقط الفرع أو الفروع التي تستوفي شروط Filter
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### كيف تعمل عُقد Filter
* إذا كان شرط Filter **متحققًا**: يتابع الفرع التنفيذ
@@ -22,7 +22,7 @@ Přispívání kódem do Twenty začíná pull requestem (PR).
1. Zkontrolujte [existující issues](https://github.com/twentyhq/twenty/issues) ohledně související práce
2. Pro nové funkce nejprve otevřete issue k diskusi
3. Prostudujte si náš [Kodex chování](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. Prostudujte si náš [Kodex chování](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### Fork a klonování
@@ -25,7 +25,7 @@ Twenty je open-source a vítá příspěvky od komunity. Ať už opravujete chyb
<Card title="Hlášení chyb a požadavky" icon="bug" href="/l/cs/developers/contribute/capabilities/bug-and-requests">
Nahlaste problémy nebo požádejte o nové funkce
</Card>
<Card title="Vývoj frontendu" icon="browser" href="/l/cs/developers/contribute/capabilities/frontend-development">
<Card title="Vývoj frontendu" icon="browser" href="/l/cs/developers/contribute/capabilities/frontend-development/folder-architecture-front">
Přispějte k vývoji uživatelského rozhraní
</Card>
</CardGroup>
@@ -198,4 +198,4 @@ Poznámky:
* Začněte od vygenerované role a postupně ji omezujte — výchozí nastavení poskytuje široká oprávnění pro čtení, což je v produkci zřídka žádoucí.
* Nahraďte `objectPermissions` a `fieldPermissions` přesně těmi objekty a poli, které vaše funkce skutečně potřebují.
* `permissionFlagUniversalIdentifiers` řídí přístup k schopnostem na úrovni platformy. Udržujte je co nejmenší.
* Podívejte se na funkční příklad: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* Podívejte se na funkční příklad: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### Sdílení nasazené aplikace
<Warning>
Sdílení soukromých (tarball) aplikací napříč pracovními prostory je funkcí **Enterprise**. Karta **Distribuce** bude místo ovládacích prvků sdílení zobrazovat výzvu k upgradu, dokud váš pracovní prostor nebude mít platný klíč Enterprise. Přejděte do [Nastavení > Admin Panel > Enterprise](/settings/admin-panel#enterprise) a aktivujte ji.
</Warning>
Aplikace ve formě tarball nejsou uvedeny ve veřejném tržišti, takže je ostatní pracovní prostory na tomtéž serveru procházením neobjeví. Jakmile je váš pracovní prostor na tarifu Enterprise, můžete sdílet nasazenou aplikaci takto:
Aplikace ve formě tarball nejsou uvedeny ve veřejném tržišti, takže je ostatní pracovní prostory na tomtéž serveru procházením neobjeví. Chcete-li sdílet nasazenou aplikaci:
1. Přejděte do **Nastavení > Aplikace > Registrace** a otevřete svou aplikaci
2. Na kartě **Distribuce** klikněte na **Zkopírovat odkaz ke sdílení**
@@ -26,7 +26,7 @@ Twenty je navrženo tak, aby bylo rozšiřitelné. Použijte naše rozhraní API
<Card title="Webhooky" icon="bell" href="/l/cs/developers/extend/webhooks">
Dostávejte oznámení o událostech v reálném čase
</Card>
<Card title="Aplikace" icon="puzzle-piece" href="/l/cs/developers/extend/apps/getting-started">
<Card title="Aplikace" icon="puzzle-piece" href="/l/cs/developers/extend/apps/getting-started/quick-start">
Vytvářejte přizpůsobení jako kód
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty implementuje OAuth 2.0 s autorizačním kódem + PKCE pro aplikace pro u
## Kdy použít OAuth
| Scénář | Metoda ověřování |
| ---------------------------------------------------- | -------------------------------------------------------------------------------- |
| Interní skripty, automatizace | [Klíč API](/l/cs/developers/extend/api#authentication) |
| Externí aplikace jednající jménem uživatele | **OAuth — autorizační kód** |
| Server-to-server, bez uživatelského kontextu | **OAuth — přihlašovací údaje klienta** |
| Aplikace Twenty s rozšířeními uživatelského rozhraní | [Aplikace](/l/cs/developers/extend/apps/getting-started) (OAuth je řešen automaticky) |
| Scénář | Metoda ověřování |
| ---------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Interní skripty, automatizace | [Klíč API](/l/cs/developers/extend/api#authentication) |
| Externí aplikace jednající jménem uživatele | **OAuth — autorizační kód** |
| Server-to-server, bez uživatelského kontextu | **OAuth — přihlašovací údaje klienta** |
| Aplikace Twenty s rozšířeními uživatelského rozhraní | [Aplikace](/l/cs/developers/extend/apps/getting-started/quick-start) (OAuth je řešen automaticky) |
## Registrace klienta
@@ -6,7 +6,7 @@ description: Vytvářejte aplikace, používejte API, hostujte sami nebo přisp
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/cs/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/cs/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>Aplikace</CardTitle>
Rozšiřte Twenty pomocí vlastních objektů, serverové logiky, UI komponent a AI agentů — to vše jako balíčky TypeScriptu.
</Card>
@@ -271,9 +271,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. Najděte sekci **E-mail**
3. Nakonfigurujte své nastavení SMTP:
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
Budete potřebovat zřídit [Heslo aplikace](https://support.google.com/accounts/answer/185833).
* EMAIL_DRIVER=smtp
@@ -282,9 +282,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="Office365">
**smtp4dev** je falešný SMTP e-mailový server pro vývoj a testování.
* EMAIL_DRIVER=smtp
@@ -293,9 +293,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** je falešný SMTP e-mailový server pro vývoj a testování.
* Spusťte obraz smtp4dev: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -305,9 +305,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**Režim pouze s prostředím:** Pokud nastavíte `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, přidejte tyto proměnné do souboru `.env`
@@ -36,6 +36,6 @@ Vše je detekováno pomocí analýzy AST v čase sestavení — bez konfiguračn
Svou aplikaci píšete jako projekt v TypeScriptu na svém počítači. CLI sleduje vaše zdrojové soubory a živě je synchronizuje s běžícím serverem Twenty — upravte soubor a změnu uvidíte v uživatelském rozhraní během sekundy. Typovaný klient API se při změně schématu automaticky znovu vygeneruje. Až budete připraveni, `yarn twenty app:publish --private` nasadí na produkční server a `yarn twenty app:publish` uvede vaši aplikaci na npm a v tržišti Twenty.
<Card title="Vytvořte svou první aplikaci" icon="arrow-right" href="/l/cs/developers/extend/apps/getting-started">
<Card title="Vytvořte svou první aplikaci" icon="arrow-right" href="/l/cs/developers/extend/apps/getting-started/quick-start">
Třífázový průvodce — vytvoření kostry projektu, spuštění lokálního serveru a synchronizace vašich změn.
</Card>
@@ -41,8 +41,6 @@ Mnoho záznamů v Objektu A může být propojeno s mnoha záznamy v Objektu B.
Vztahy typu mnoho-na-mnoho používají vzor zvaný **spojovací objekt**: zprostředkující objekt, který propojuje obě strany. S funkcí spojovacího vztahu zobrazuje Twenty přímo výsledné propojené záznamy a zprostředkující objekt v UI skrývá.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**Funkce Beta**: Před použitím musí být vztahy s červí povoleny v **Nastavení → komunita → Vlastnosti**.
</Warning>
@@ -44,7 +44,7 @@ AI může být zcela vypnuta vypnutím všech modelů AI v Nastavení → AI →
Všechna data jsou šifrována při přenosu i v klidu. Data jednotlivých tenantů jsou izolována pomocí nastavení se samostatným schématem pro každý tenant a šifrovací klíče jsou pravidelně rotovány.
</Accordion>
<Accordion title="Které dvacet zaměstnanců nebo dílčí procesory mohou mít přístup k pracovnímu prostoru zákazníka, za jakým účelem a jak je přístup schválen a zaznamenán?">
Inženýrs a podpůrné týmy Twenty mohouistupovat k pracovním prostorům zákazníků pouze poté, co zákazník nahlásí problém a udělí přístup prostřednictvím Nastavení → Obecné → Zabezpečení.
Dvacet týmů pro inženýrství a podporu může získatístup ke zákaznickým pracovním prostorům za účelem prozkoumání a řešení problémů. Vlastníci pracovního prostoru ovládají toto: přístup k podpoře může být kdykoli zakázán v Nastavení → Obecné → Bezpečnost, a zůstane vypnutý, dokud jej nevypnete zpět.
</Accordion>
<Accordion title="Jaký je váš proces oznamování incidentů a časový rámec oznámení po potvrzeném bezpečnostním incidentu ovlivňujícím naše údaje?">
V případě potvrzeného narušení bezpečnosti osobních údajů, které má vliv na vaše údaje, vás budeme informovat bez zbytečného odkladu a v každém případě do 48 hodin poté, co se o tom dozvědět. Naše oznámení bude obsahovat, pokud je v té době známo: povahu porušení, kategorie a přibližný objem dotčených údajů a osob, pravděpodobné důsledky, jakož i přijatá nebo plánovaná opatření k nápravě a zmírňování. Budeme poskytovat aktualizace, jak bude pokračovat vyšetřování.
@@ -64,7 +64,7 @@ Dočasně smazané záznamy jsou ve výchozím nastavení uchovávány po dobu 1
Odstraněný záznam zůstává v zálohách po dobu 30 dní, poté je trvale smazán.
</Accordion>
<Accordion title="Pokud je pracovní prostor uzavřen nebo je požadováno úplné smazání, jaká přesná časová osa se vztahuje na výrobní údaje, přílohy, logy a zálohy?">
Když je pracovní prostor smazán, jeho data jsou okamžitě odstraněna z aktivních systémů. Zálohy jsou uchovávány po dobu 7 dní, po jsou všechna data trvale smazána.
Když je pracovní prostor odstraněn, jsou jeho data odstraněna z živých systémů během přibližně 90 dnů od ukončení služby a obvykle mnohem dříve. Záložní a archivační kopie jsou pak přepsány nebo vymazány do dalších 90 dnů, po jejichž uplynutí jsou všechna data trvale smazána. V obou obdobích jsou údaje odděleny od jakéhokoli provozního využití. Na vyžádání můžeme po dokončení čištění poskytnout písemné osvědčení. Úplné podmínky viz bod 4.9 dohody o zpracování údajů.
</Accordion>
<Accordion title="Je během doby uchovávání záloh vymazána data oddělená od provozního přístupu a používání?">
Ano, během doby uchovávání záloh jsou vymazané údaje izolovány od provozního použití.
@@ -20,8 +20,6 @@ Chcete-li provést pouze jednu větev na základě konkrétních podmínek, **p
3. Na každém uzlu Filter nastavte podmínky, které určují, kdy má daná větev pokračovat
4. Pokračovat bude pouze větev (případně větve), u níž jsou splněny podmínky uzlu Filter
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### Jak fungují filtry
* Pokud je podmínka Filter **splněna**: Větev pokračuje v provádění
@@ -22,7 +22,7 @@ Codebeiträge zu Twenty beginnen mit einem Pull Request (PR).
1. Prüfen Sie [bestehende Issues](https://github.com/twentyhq/twenty/issues) auf verwandte Arbeiten
2. Für neue Features zunächst ein Issue eröffnen, um dies zu besprechen
3. Lesen Sie unseren [Verhaltenskodex](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. Lesen Sie unseren [Verhaltenskodex](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### Forken und klonen
@@ -25,7 +25,7 @@ Twenty ist Open Source und freut sich über Beiträge aus der Community. Ob Sie
<Card title="Fehlermeldungen und Anfragen" icon="bug" href="/l/de/developers/contribute/capabilities/bug-and-requests">
Melden Sie Probleme oder schlagen Sie neue Funktionen vor
</Card>
<Card title="Frontend-Entwicklung" icon="browser" href="/l/de/developers/contribute/capabilities/frontend-development">
<Card title="Frontend-Entwicklung" icon="browser" href="/l/de/developers/contribute/capabilities/frontend-development/folder-architecture-front">
Tragen Sie zur UI bei
</Card>
</CardGroup>
@@ -203,4 +203,4 @@ Notizen:
* Beginnen Sie mit der vorgegebenen Rolle und schränken Sie sie dann schrittweise ein standardmäßig wird umfangreicher Lesezugriff gewährt, was selten das ist, was Sie in Produktionsumgebungen möchten.
* Ersetzen Sie `objectPermissions` und `fieldPermissions` durch die genauen Objekte und Felder, die Ihre Funktionen tatsächlich benötigen.
* `permissionFlagUniversalIdentifiers` steuern den Zugriff auf Funktionen auf Plattformebene. Halten Sie sie minimal.
* Ein funktionierendes Beispiel finden Sie unter: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* Ein funktionierendes Beispiel finden Sie unter: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### Eine bereitgestellte App freigeben
<Warning>
Das Teilen privater (Tarball-)Apps über Arbeitsbereiche hinweg ist eine **Enterprise**-Funktion. Die Registerkarte **Distribution** zeigt anstelle der Freigabeoptionen eine Aufforderung zum Upgrade an, bis Ihr Arbeitsbereich über einen gültigen Enterprise-Schlüssel verfügt. Gehen Sie zu [Einstellungen > Admin-Panel > Enterprise](/settings/admin-panel#enterprise), um es zu aktivieren.
</Warning>
Tarball-Apps werden nicht im öffentlichen Marktplatz gelistet, daher entdecken andere Arbeitsbereiche auf demselben Server sie nicht durch Stöbern. Sobald sich Ihr Arbeitsbereich im Enterprise-Plan befindet, können Sie eine bereitgestellte App wie folgt freigeben:
Tarball-Apps werden nicht im öffentlichen Marktplatz gelistet, daher entdecken andere Arbeitsbereiche auf demselben Server sie nicht durch Stöbern. So geben Sie eine bereitgestellte App frei:
1. Gehen Sie zu **Einstellungen > Anwendungen > Registrierungen** und öffnen Sie Ihre App
2. Klicken Sie in der Registerkarte **Distribution** auf **Freigabelink kopieren**
@@ -26,7 +26,7 @@ Twenty ist darauf ausgelegt, erweiterbar zu sein. Verwenden Sie unsere APIs, Web
<Card title="Webhooks" icon="bell" href="/l/de/developers/extend/webhooks">
Erhalten Sie Benachrichtigungen über Ereignisse in Echtzeit
</Card>
<Card title="Apps" icon="puzzle-piece" href="/l/de/developers/extend/apps/getting-started">
<Card title="Apps" icon="puzzle-piece" href="/l/de/developers/extend/apps/getting-started/quick-start">
Erstellen Sie Anpassungen als Code
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty implementiert OAuth 2.0 mit Autorisierungscode + PKCE für benutzerorient
## Wann Sie OAuth verwenden sollten
| Szenario | Authentifizierungsmethode |
| ------------------------------------------------- | ----------------------------------------------------------------------------------- |
| Interne Skripte, Automatisierung | [API-Schlüssel](/l/de/developers/extend/api#authentication) |
| Externe App, die im Namen eines Benutzers handelt | **OAuth — Autorisierungscode** |
| Server-zu-Server, kein Benutzerkontext | **OAuth — Client-Anmeldedaten** |
| Twenty-App mit UI-Erweiterungen | [Apps](/l/de/developers/extend/apps/getting-started) (OAuth wird automatisch gehandhabt) |
| Szenario | Authentifizierungsmethode |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Interne Skripte, Automatisierung | [API-Schlüssel](/l/de/developers/extend/api#authentication) |
| Externe App, die im Namen eines Benutzers handelt | **OAuth — Autorisierungscode** |
| Server-zu-Server, kein Benutzerkontext | **OAuth — Client-Anmeldedaten** |
| Twenty-App mit UI-Erweiterungen | [Apps](/l/de/developers/extend/apps/getting-started/quick-start) (OAuth wird automatisch gehandhabt) |
## Einen Client registrieren
@@ -6,7 +6,7 @@ description: Entwickeln Sie Apps, nutzen Sie die API, hosten Sie selbst oder tra
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/de/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/de/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>Apps</CardTitle>
Erweitern Sie Twenty mit benutzerdefinierten Objekten, serverseitiger Logik, UI-Komponenten und KI-Agenten — alles als TypeScript-Pakete.
</Card>
@@ -271,9 +271,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. Finden Sie den Abschnitt **E-Mail**
3. Konfigurieren Sie Ihre SMTP-Einstellungen:
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
Sie müssen ein [App-Passwort](https://support.google.com/accounts/answer/185833) bereitstellen.
* EMAIL_DRIVER=smtp
@@ -282,9 +282,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="Office365">
Beachten Sie, dass, wenn Sie die Zwei-Faktor-Authentifizierung aktiviert haben, ein [App-Passwort](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9) bereitgestellt werden muss.
* EMAIL_DRIVER=smtp
@@ -293,9 +293,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** ist ein Fake-SMTP-Mailserver für Entwicklung und Tests.
* Führen Sie das smtp4dev-Image aus: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -305,9 +305,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**Nur-Umgebungsmodus:** Wenn Sie `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` setzen, fügen Sie diese Variablen stattdessen Ihrer `.env`-Datei hinzu.
@@ -36,6 +36,6 @@ Alles wird zur Build-Zeit über eine AST-Analyse erkannt keine Konfiguration
Sie schreiben Ihre App als TypeScript-Projekt auf Ihrem Rechner. Die CLI beobachtet Ihre Quelldateien und synchronisiert sie in Echtzeit mit einem laufenden Twenty-Server bearbeiten Sie eine Datei und sehen Sie die Änderung innerhalb einer Sekunde in der UI. Der typisierte API-Client wird automatisch neu generiert, wenn sich das Schema ändert. Wenn Sie fertig sind, pusht `yarn twenty app:publish --private` auf einen Produktionsserver, oder `yarn twenty app:publish` listet Ihre App auf npm und im Twenty-Marktplatz.
<Card title="Erstellen Sie Ihre erste App" icon="arrow-right" href="/l/de/developers/extend/apps/getting-started">
<Card title="Erstellen Sie Ihre erste App" icon="arrow-right" href="/l/de/developers/extend/apps/getting-started/quick-start">
Dreiphasige Schritt-für-Schritt-Anleitung Gerüst erzeugen, lokalen Server ausführen, Ihre Änderungen synchronisieren.
</Card>
@@ -41,8 +41,6 @@ Viele Datensätze in Objekt A können mit vielen Datensätzen in Objekt B verkn
Viele-zu-viele-Beziehungen verwenden ein **Verknüpfungsobjekt**-Muster: ein Zwischenobjekt, das beide Seiten verbindet. Mit der Funktion für Verknüpfungsbeziehungen zeigt Twenty die endgültig verknüpften Datensätze direkt an und blendet das Zwischenobjekt in der Benutzeroberfläche aus.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**Beta-Eigenschaft**: Abzweigungsbeziehungen müssen vor der Verwendung unter **Einstellungen → Community → Funktionen** aktiviert sein.
</Warning>
@@ -44,7 +44,7 @@ KI kann vollständig deaktiviert werden, indem alle KI-Modelle in Einstellungen
Alle Daten werden während der Übertragung und im Ruhezustand verschlüsselt. Mandantendaten werden durch ein Schema-pro-Mandant-Setup isoliert, und die Verschlüsselungsschlüssel werden regelmäßig rotiert.
</Accordion>
<Accordion title="Welche 20 Mitarbeiter oder Subprozessoren können zu welchen Zwecken auf die Arbeitsbereiche des Kunden zugreifen und wie wird der Zugang genehmigt und protokolliert?">
Die Engineering- und Support-Teams von Twenty können nur dann auf Kunden-Workspaces zugreifen, wenn der Kunde ein Problem meldet und den Zugriff über Einstellungen → General → Security gewährt.
Die Engineering- und Support-Teams von 20 können auf die Kunden-Arbeitsbereiche zugreifen, um Probleme zu untersuchen und zu beheben. Arbeitsplatzbesitzer kontrollieren: Support-Zugriff kann jederzeit unter Einstellungen → Allgemein → Sicherheit deaktiviert werden und es bleibt aus, bis Sie es wieder einschalten.
</Accordion>
<Accordion title="Was sind Ihre Benachrichtigungen und Zielbenachrichtigungen nach einem bestätigten Sicherheitsfall, der unsere Daten beeinflusst?">
Im Falle einer bestätigten Verletzung personenbezogener Daten, die Ihre Daten betrifft Wir werden Sie unverzüglich und in jedem Fall innerhalb von 48 Stunden nach Bekanntwerden davon in Kenntnis setzen. Unsere Mitteilung wird in dem Umfang, in dem sie zu dem Zeitpunkt bekannt ist, die Art des Verstoßes beinhalten, die Kategorien und ungefähre Menge von Daten und Einzelpersonen betroffen, wahrscheinliche Folgen, und die Maßnahmen zur Sanierung und Abmilderung ergriffen oder geplant. Wir werden die Aktualisierungen zur Verfügung stellen, sobald die Untersuchung fortschreitet.
@@ -64,7 +64,7 @@ Standardmäßig werden soft gelöschte Datensätze 14 Tage lang aufbewahrt, dana
Ein entfernter Datensatz bleibt 30 Tage lang in Backups, danach wird er dauerhaft gelöscht.
</Accordion>
<Accordion title="Wenn ein Arbeitsbereich geschlossen oder vollständig gelöscht wird, welche Zeitleiste gilt für Produktionsdaten, Anhänge, Protokolle und Backups?">
Wenn ein Workspace gelöscht wird, werden seine Daten sofort aus aktiven Systemen entfernt. Backups werden 7 Tage lang aufbewahrt, danach werden alle Daten dauerhaft gelöscht.
Wenn ein Arbeitsbereich gelöscht wird, werden seine Daten innerhalb von etwa 90 Tagen nach Serviceabbruch aus Live-Systemen entfernt und in der Regel viel früher. Sicherungs- und Archivkopien werden dann innerhalb von 90 Tagen überschrieben oder bereinigt, danach werden alle Daten dauerhaft gelöscht. In beiden Perioden werden die Daten von jeglichem operativen Gebrauch isoliert. Auf Anfrage können wir Ihnen eine schriftliche Bescheinigung geben, sobald die Reinigung abgeschlossen ist. Die vollständigen Bedingungen finden Sie unter Klausel 4.9 Ihres Datenverarbeitungsvertrags.
</Accordion>
<Accordion title="Wurde während einer Sicherungslaufzeit Daten vom Zugriff und der Nutzung isoliert?">
Ja, während einer Sicherungslaufzeit werden gelöschte Daten vom operativen Gebrauch isoliert.
@@ -20,8 +20,6 @@ Um basierend auf bestimmten Bedingungen nur eine Verzweigung auszuführen, **fü
3. Legen Sie für jeden Filter Bedingungen fest, um zu bestimmen, wann diese Verzweigung fortgesetzt werden soll
4. Nur die Verzweigung(en), deren Filterbedingungen erfüllt sind, wird/werden weiter ausgeführt
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### Wie Filter funktionieren
* Wenn die Filterbedingung **erfüllt** ist: Die Verzweigung wird weiter ausgeführt
@@ -22,7 +22,7 @@ Contribuir código a Twenty comienza con un pull request (PR).
1. Consulta [los issues existentes](https://github.com/twentyhq/twenty/issues) para ver trabajos relacionados
2. Para nuevas funcionalidades, abre primero un issue para discutir
3. Revisa nuestro [Código de conducta](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. Revisa nuestro [Código de conducta](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### Haz un fork y clona
@@ -25,7 +25,7 @@ Twenty es de código abierto y da la bienvenida a las contribuciones de la comun
<Card title="Informes de errores y solicitudes" icon="bug" href="/l/es/developers/contribute/capabilities/bug-and-requests">
Reporta problemas o solicita funcionalidades
</Card>
<Card title="Desarrollo Frontend" icon="browser" href="/l/es/developers/contribute/capabilities/frontend-development">
<Card title="Desarrollo Frontend" icon="browser" href="/l/es/developers/contribute/capabilities/frontend-development/folder-architecture-front">
Contribuye a la interfaz de usuario
</Card>
</CardGroup>
@@ -198,4 +198,4 @@ Notas:
* Parte del rol generado automáticamente y luego restríngeelo progresivamente; el valor predeterminado concede un acceso amplio de lectura, lo cual rara vez es lo que quieres en producción.
* Reemplaza `objectPermissions` y `fieldPermissions` con los objetos y campos que realmente necesitan tus funciones.
* `permissionFlagUniversalIdentifiers` controla el acceso a capacidades a nivel de plataforma. Manténlos al mínimo.
* Consulta un ejemplo funcional: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* Consulta un ejemplo funcional: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### Compartir una aplicación desplegada
<Warning>
Compartir aplicaciones privadas (tarball) entre espacios de trabajo es una función de **Enterprise**. La pestaña **Distribución** mostrará un aviso de actualización en lugar de los controles para compartir hasta que tu espacio de trabajo tenga una clave de Enterprise válida. Ve a [Configuración > Panel de administración > Enterprise](/settings/admin-panel#enterprise) para habilitarla.
</Warning>
Las aplicaciones en tarball no se listan en el marketplace público, por lo que otros espacios de trabajo en el mismo servidor no las descubrirán navegando. Una vez que tu espacio de trabajo esté en el plan Enterprise, puedes compartir una aplicación desplegada de esta manera:
Las aplicaciones en tarball no se listan en el marketplace público, por lo que otros espacios de trabajo en el mismo servidor no las descubrirán navegando. Para compartir una aplicación desplegada:
1. Ve a **Configuración > Aplicaciones > Registros** y abre tu aplicación
2. En la pestaña **Distribución**, haz clic en **Copiar enlace para compartir**
@@ -26,7 +26,7 @@ Twenty está diseñado para ser extensible. Usa nuestras APIs, webhooks y el fra
<Card title="Webhooks" icon="bell" href="/l/es/developers/extend/webhooks">
Recibe notificaciones de eventos en tiempo real
</Card>
<Card title="Aplicaciones" icon="puzzle-piece" href="/l/es/developers/extend/apps/getting-started">
<Card title="Aplicaciones" icon="puzzle-piece" href="/l/es/developers/extend/apps/getting-started/quick-start">
Crea personalizaciones como código
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty implementa OAuth 2.0 con código de autorización + PKCE para aplicacione
## Cuándo usar OAuth
| Escenario | Método de autenticación |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| Scripts internos, automatización | [Clave de API](/l/es/developers/extend/api#authentication) |
| Aplicación externa que actúa en nombre de un usuario | **OAuth — Código de autorización** |
| De servidor a servidor, sin contexto de usuario | **OAuth — Credenciales de cliente** |
| Aplicación de Twenty con extensiones de UI | [Aplicaciones](/l/es/developers/extend/apps/getting-started) (OAuth se gestiona automáticamente) |
| Escenario | Método de autenticación |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Scripts internos, automatización | [Clave de API](/l/es/developers/extend/api#authentication) |
| Aplicación externa que actúa en nombre de un usuario | **OAuth — Código de autorización** |
| De servidor a servidor, sin contexto de usuario | **OAuth — Credenciales de cliente** |
| Aplicación de Twenty con extensiones de UI | [Aplicaciones](/l/es/developers/extend/apps/getting-started/quick-start) (OAuth se gestiona automáticamente) |
## Registrar un cliente
@@ -6,7 +6,7 @@ description: Crea aplicaciones, usa la API, aloja por tu cuenta o contribuye a l
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/es/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/es/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>Aplicaciones</CardTitle>
Amplía Twenty con objetos personalizados, lógica del lado del servidor, componentes de IU y agentes de IA — todo como paquetes de TypeScript.
</Card>
@@ -271,9 +271,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. Encuentre la sección **Correo Electrónico**
3. Configure su configuración SMTP:
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
Necesitará proporcionar una [Contraseña de Aplicación](https://support.google.com/accounts/answer/185833).
* EMAIL_DRIVER=smtp
@@ -282,9 +282,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="Office365">
Tenga en cuenta que si tiene la autenticación de dos factores habilitada, necesitará proporcionar una [Contraseña de Aplicación](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9).
* EMAIL_DRIVER=smtp
@@ -293,9 +293,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** es un servidor de correo SMTP falso para desarrollo y pruebas.
* Ejecute la imagen de smtp4dev: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -305,9 +305,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**Modo solo de entorno:** Si establece `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, agregue estas variables a su archivo `.env` en su lugar.
@@ -36,6 +36,6 @@ Todo se detecta mediante análisis de AST en tiempo de compilación; sin archivo
Escribes tu app como un proyecto de TypeScript en tu máquina. La CLI observa tus archivos fuente y los sincroniza en tiempo real con un servidor de Twenty en ejecución: edita un archivo y ve el cambio en la interfaz en cuestión de un segundo. El cliente de API tipado se regenera automáticamente cuando cambia el esquema. Cuando estés listo, `yarn twenty app:publish --private` envía la app a un servidor de producción, o `yarn twenty app:publish` publica tu app en npm y en el marketplace de Twenty.
<Card title="Crea tu primera app" icon="arrow-right" href="/l/es/developers/extend/apps/getting-started">
<Card title="Crea tu primera app" icon="arrow-right" href="/l/es/developers/extend/apps/getting-started/quick-start">
Recorrido guiado en tres fases: generar el andamiaje, ejecutar un servidor local y sincronizar tus cambios.
</Card>
@@ -41,8 +41,6 @@ Muchos registros en el Objeto A pueden vincularse a muchos registros en el Objet
Las relaciones de muchos a muchos usan un patrón de **objeto de unión**: un objeto intermedio que conecta ambos lados. Con la función de relaciones de unión, Twenty muestra directamente los registros finales vinculados, ocultando el objeto intermedio de la UI.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**Característica Beta**: Las relaciones de unión deben estar habilitadas en **Ajustes → Comunidad → Características** antes de usar.
</Warning>
@@ -44,7 +44,7 @@ La IA se puede desactivar totalmente apagando todos los modelos IA en Ajustes
Todos los datos se cifran en tránsito y en reposo. Los datos del arrendatario se aislan mediante una configuración de esquema por arrendatario, y las claves de cifrado se rotan periódicamente.
</Accordion>
<Accordion title="¿Qué Veinte personal o subprocesadores pueden acceder a los espacios de trabajo de los clientes, para qué propósitos y cómo se aprueba el acceso y se registra?">
Los equipos de ingeniería y soporte de veinteava pueden acceder a los espacios de trabajo de los clientes sólo después de que el cliente reporte un problema y concede acceso a través de Ajustes → General → Seguridad.
Los equipos de ingeniería y soporte de Twenty pueden acceder a los espacios de trabajo de los clientes para investigar y resolver incidencias. Los propietarios de los espacios de trabajo controlan esto: el acceso de soporte se puede desactivar en cualquier momento en Configuración → General → Seguridad, y permanece desactivado hasta que lo vuelvas a activar.
</Accordion>
<Accordion title="¿Cuál es su proceso de notificación de incidentes y plazo de notificación de destino después de un incidente de seguridad confirmado que afecta a nuestros datos?">
En caso de una violación de datos personales confirmada que afecte a sus datos, le notificaremos sin demoras indebidas y, en cualquier caso, dentro de las 48 horas siguientes a ser consciente de ello. Nuestra notificación incluirá, en la medida en que se conozca en el momento: la naturaleza del incumplimiento, las categorías y el volumen aproximado de datos y individuos afectados, las consecuencias probables, y las medidas de remediación y mitigación tomadas o planificadas. Proporcionaremos actualizaciones a medida que avance la investigación.
@@ -64,7 +64,7 @@ Por defecto, los registros borrados de forma blanda se mantienen durante 14 día
Un registro eliminado permanece en copias de seguridad durante 30 días, después de lo cual se elimina permanentemente.
</Accordion>
<Accordion title="Cuando se cierra un área de trabajo o se solicita la eliminación completa, ¿qué línea de tiempo exacta se aplica a los datos de producción, adjuntos, registros y copias de seguridad?">
Cuando un espacio de trabajo es eliminado, sus datos son removidos inmediatamente de los sistemas activos. Las copias de seguridad se mantienen durante 7 días, después de los cuales todos los datos se eliminan permanentemente.
Cuando se elimina un espacio de trabajo, sus datos se eliminan de los sistemas en vivo aproximadamente dentro de los 90 días posteriores a la finalización del servicio, y normalmente mucho antes. Las copias de seguridad y de archivo se sobrescriben o se eliminan posteriormente dentro de otros 90 días, después de lo cual todos los datos se eliminan de forma permanente. Durante ambos períodos, los datos están aislados de cualquier uso operativo. A petición, podemos proporcionar una certificación por escrito una vez que se complete la purga. Consulta la cláusula 4.9 de tu Acuerdo de Tratamiento de Datos para conocer todas las condiciones.
</Accordion>
<Accordion title="Durante cualquier período de retención de copia de seguridad, ¿se eliminan los datos aislados del acceso operativo y el uso?">
Sí, durante cualquier período de retención de copia de seguridad, los datos eliminados están aislados del uso operativo.
@@ -20,8 +20,6 @@ Para ejecutar solo una rama según condiciones específicas, **añade un nodo Fi
3. Configura condiciones en cada **Filter** para determinar cuándo debe continuar esa rama
4. Solo continuarán la(s) rama(s) cuyas condiciones del **Filter** se cumplan
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### Cómo funcionan los nodos Filter
* Si se cumple la condición del Filter: la rama sigue ejecutándose
@@ -22,7 +22,7 @@ La contribution au code de Twenty commence par une pull request (PR).
1. Consultez les [problèmes existants](https://github.com/twentyhq/twenty/issues) pour repérer les travaux liés
2. Pour les nouvelles fonctionnalités, ouvrez dabord un problème pour en discuter
3. Consultez notre [Code de conduite](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. Consultez notre [Code de conduite](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### Forker et cloner
@@ -25,7 +25,7 @@ Twenty est open source et accueille les contributions de la communauté. Que vou
<Card title="Signalements de bogues et demandes" icon="bug" href="/l/fr/developers/contribute/capabilities/bug-and-requests">
Signalez des problèmes ou demandez des fonctionnalités
</Card>
<Card title="Développement frontend" icon="browser" href="/l/fr/developers/contribute/capabilities/frontend-development">
<Card title="Développement frontend" icon="browser" href="/l/fr/developers/contribute/capabilities/frontend-development/folder-architecture-front">
Contribuez à l'interface utilisateur
</Card>
</CardGroup>
@@ -198,4 +198,4 @@ Notes :
* Partez du rôle généré par le gabarit, puis restreignez-le progressivement — par défaut, il accorde un large accès en lecture, ce qui correspond rarement à ce que vous voulez en production.
* Remplacez `objectPermissions` et `fieldPermissions` par les objets et champs dont vos fonctions ont réellement besoin.
* `permissionFlagUniversalIdentifiers` contrôlent laccès aux capacités au niveau de la plateforme. Maintenez-les au strict minimum.
* Voir un exemple fonctionnel : [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* Voir un exemple fonctionnel : [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### Partage d'une application déployée
<Warning>
Le partage d'applications privées (tarball) entre espaces de travail est une fonctionnalité **Enterprise**. L'onglet **Distribution** affichera une invite de mise à niveau au lieu des contrôles de partage jusqu'à ce que votre espace de travail dispose d'une clé Enterprise valide. Accédez à [Paramètres > Panneau d'administration > Enterprise](/settings/admin-panel#enterprise) pour l'activer.
</Warning>
Les applications au format tarball ne sont pas répertoriées dans la place de marché publique, donc les autres espaces de travail sur le même serveur ne les découvriront pas en parcourant. Une fois que votre espace de travail est abonné à l'offre Enterprise, vous pouvez partager une application déployée comme suit :
Les applications au format tarball ne sont pas répertoriées dans la place de marché publique, donc les autres espaces de travail sur le même serveur ne les découvriront pas en parcourant. Pour partager une application déployée :
1. Allez dans **Paramètres > Applications > Inscriptions** et ouvrez votre application
2. Dans l'onglet **Distribution**, cliquez sur **Copier le lien de partage**
@@ -26,7 +26,7 @@ Twenty est conçu pour être extensible. Utilisez nos API, nos webhooks et notre
<Card title="Webhooks" icon="bell" href="/l/fr/developers/extend/webhooks">
Recevez des notifications d'événements en temps réel
</Card>
<Card title="Applications" icon="puzzle-piece" href="/l/fr/developers/extend/apps/getting-started">
<Card title="Applications" icon="puzzle-piece" href="/l/fr/developers/extend/apps/getting-started/quick-start">
Créez des personnalisations sous forme de code
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty implémente OAuth 2.0 avec code dautorisation + PKCE pour les applicat
## Quand utiliser OAuth
| Scénario | Méthode dauthentification |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| Scripts internes, automatisation | [Clé API](/l/fr/developers/extend/api#authentication) |
| Application externe agissant au nom dun utilisateur | **OAuth — Code dautorisation** |
| Serveur à serveur, aucun contexte utilisateur | **OAuth — Identifiants client** |
| Application Twenty avec des extensions dinterface utilisateur | [Applications](/l/fr/developers/extend/apps/getting-started) (OAuth est géré automatiquement) |
| Scénario | Méthode dauthentification |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Scripts internes, automatisation | [Clé API](/l/fr/developers/extend/api#authentication) |
| Application externe agissant au nom dun utilisateur | **OAuth — Code dautorisation** |
| Serveur à serveur, aucun contexte utilisateur | **OAuth — Identifiants client** |
| Application Twenty avec des extensions dinterface utilisateur | [Applications](/l/fr/developers/extend/apps/getting-started/quick-start) (OAuth est géré automatiquement) |
## Enregistrer un client
@@ -6,7 +6,7 @@ description: Créez des applications, utilisez l'API, auto-hébergez ou contribu
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/fr/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/fr/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>Applications</CardTitle>
Étendez Twenty avec des objets personnalisés, de la logique côté serveur, des composants d'interface utilisateur et des agents IA — le tout sous forme de packages TypeScript.
</Card>
@@ -271,9 +271,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. Retrouvez la section **Email**
3. Configurez vos paramètres SMTP :
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
Vous devrez créer un [mot de passe d'application](https://support.google.com/accounts/answer/185833).
* EMAIL_DRIVER=smtp
@@ -282,9 +282,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="Office365">
Gardez à l'esprit que si vous avez activé la validation en deux étapes (2FA), vous devrez mettre en place un [mot de passe d'application](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9).
* EMAIL_DRIVER=smtp
@@ -293,9 +293,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** est un serveur SMTP factice pour le développement et les tests.
* Exécutez l'image smtp4dev : `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -305,9 +305,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**Mode réservé à l'environnement :** Si vous définissez `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, ajoutez ces variables à votre fichier `.env` à la place.
@@ -36,6 +36,6 @@ Tout est détecté via une analyse AST au moment de la compilation — aucun fic
Vous écrivez votre application comme un projet TypeScript sur votre machine. La CLI surveille vos fichiers sources et les synchronise en direct avec un serveur Twenty en cours dexécution — modifiez un fichier et voyez le changement dans linterface en une seconde. Le client dAPI typé est régénéré automatiquement lorsque le schéma change. Quand vous êtes prêt, `yarn twenty app:publish --private` envoie lapplication vers un serveur de production, ou `yarn twenty app:publish` publie votre application sur npm et sur la place de marché Twenty.
<Card title="Créez votre première application" icon="arrow-right" href="/l/fr/developers/extend/apps/getting-started">
<Card title="Créez votre première application" icon="arrow-right" href="/l/fr/developers/extend/apps/getting-started/quick-start">
Tutoriel en trois phases — création de lossature, exécution dun serveur local, synchronisation de vos modifications.
</Card>
@@ -41,8 +41,6 @@ De nombreux enregistrements de l'Objet A peuvent être liés à de nombreux enre
Les relations plusieurs-à-plusieurs utilisent un modèle d'**objet de jonction**: un objet intermédiaire qui relie les deux côtés. Avec la fonctionnalité de relation via objet de jonction, Twenty affiche directement les enregistrements finaux liés, en masquant l'objet intermédiaire dans l'interface utilisateur.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**Fonctionnalité bêta**: Les relations de jonction doivent être activées dans **Paramètres → Communauté → Fonctionnalités** avant l'utilisation.
</Warning>
@@ -44,7 +44,7 @@ L'IA peut être complètement désactivée en désactivant tous les modèles IA
Toutes les données sont cryptées en transit et au repos. Les données du locataire sont isolées à travers une configuration de schéma par locataire, et les clés de chiffrement sont périodiquement tournées.
</Accordion>
<Accordion title="Quels sont les 20 employés ou sous-traitants qui peuvent accéder aux espaces de travail des clients, à quelles fins, et comment l'accès est-il approuvé et enregistré?">
Les équipes d'ingénierie et d'assistance de Vingt ne peuvent accéder aux espaces de travail des clients qu'après que le client rapporte un problème et accorde l'accès via Paramètres → Général → Sécurité.
Les équipes dingénierie et de support de Twenty peuvent accéder aux espaces de travail des clients afin denquêter sur les problèmes et de les résoudre. Les propriétaires despace de travail contrôlent cet accès : laccès du support peut être désactivé à tout moment dans Paramètres → Général → Sécurité, et il reste désactivé jusqu’à ce que vous le réactiviez.
</Accordion>
<Accordion title="Quel est votre processus de notification d'incident et votre délai de notification cible à la suite d'un incident de sécurité confirmé affectant nos données ?">
En cas de violation des données personnelles confirmée affectant vos données, Nous vous avertirons sans délai et en tout cas dans les 48 heures suivant votre prise de conscience. Notre notification comprendra dans la mesure connue à l'époque : la nature de l'infraction, les catégories et le volume approximatif des données et des personnes touchées, les conséquences probables, ainsi que les mesures de redressement et d'atténuation prises ou prévues. Nous fournirons les mises à jour au fur et à mesure que l'enquête progressera.
@@ -64,7 +64,7 @@ Par défaut, les enregistrements supprimés par logiciel sont conservés pendant
Un enregistrement supprimé reste dans les sauvegardes pendant 30 jours, après quoi il est définitivement supprimé.
</Accordion>
<Accordion title="Lorsqu'un espace de travail est fermé ou qu'une suppression complète est demandée, quel calendrier exact s'applique aux données de production, aux pièces jointes, aux journaux et aux sauvegardes ?">
Lorsqu'un espace de travail est supprimé, ses données sont immédiatement supprimées des systèmes actifs. Les sauvegardes sont conservées pendant 7 jours, après quoi toutes les données sont définitivement supprimées.
Lorsquun espace de travail est supprimé, ses données sont retirées des systèmes de production dans un délai denviron 90 jours après la fin du service, et généralement bien plus tôt. Les copies de sauvegarde et darchivage sont ensuite écrasées ou purgées dans un nouveau délai de 90 jours, après quoi toutes les données sont définitivement supprimées. Pendant ces deux périodes, les données sont isolées de toute utilisation opérationnelle. Sur demande, nous pouvons fournir une attestation écrite une fois la purge terminée. Voir la clause 4.9 de votre Contrat de traitement des données pour connaître lintégralité des conditions.
</Accordion>
<Accordion title="Pendant toute période de rétention de sauvegarde, les données supprimées sont-elles isolées de l'accès et de l'utilisation opérationnels ?">
Oui, pendant toute période de rétention de sauvegarde, les données supprimées sont isolées de toute utilisation opérationnelle.
@@ -20,8 +20,6 @@ Pour exécuter une seule branche selon des conditions spécifiques, **ajoutez un
3. Définissez des conditions sur chaque Filter pour déterminer quand cette branche doit continuer
4. Seules les branches dont les conditions du Filter sont satisfaites continueront
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### Fonctionnement des nœuds Filter
* Si la condition du Filter est **remplie** : La branche continue son exécution
@@ -22,7 +22,7 @@ Contribuire al codice di Twenty inizia con una pull request (PR).
1. Controlla le [issue esistenti](https://github.com/twentyhq/twenty/issues) per lavori correlati
2. Per le nuove funzionalità, apri prima una issue per discuterne
3. Consulta il nostro [Codice di condotta](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. Consulta il nostro [Codice di condotta](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### Esegui il fork e clona
@@ -25,7 +25,7 @@ Twenty è open source e accoglie i contributi della comunità. Che tu stia risol
<Card title="Segnalazioni di bug e richieste" icon="bug" href="/l/it/developers/contribute/capabilities/bug-and-requests">
Segnala problemi o richiedi funzionalità
</Card>
<Card title="Sviluppo Frontend" icon="browser" href="/l/it/developers/contribute/capabilities/frontend-development">
<Card title="Sviluppo Frontend" icon="browser" href="/l/it/developers/contribute/capacities/frontend-development/folder-architecture-front">
Contribuisci all'interfaccia utente
</Card>
</CardGroup>
@@ -204,4 +204,4 @@ Note:
* Parti dal ruolo generato dallo scaffold, poi restringilo progressivamente: il ruolo predefinito concede un ampio accesso in lettura, che raramente è ciò che vuoi in produzione.
* Sostituisci `objectPermissions` e `fieldPermissions` con gli oggetti e i campi di cui le tue funzioni hanno realmente bisogno.
* `permissionFlagUniversalIdentifiers` controllano l'accesso alle funzionalità a livello di piattaforma. Mantienili al minimo.
* Vedi un esempio funzionante: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* Vedi un esempio di lavoro: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### Condivisione di un'app distribuita
<Warning>
La condivisione di app private (tarball) tra spazi di lavoro è una funzionalità **Enterprise**. La scheda **Distribuzione** mostrerà un invito all'aggiornamento al posto dei controlli di condivisione finché il tuo spazio di lavoro non dispone di una chiave Enterprise valida. Vedi [Impostazioni > Pannello di amministrazione > Enterprise](/settings/admin-panel#enterprise) per attivarla.
</Warning>
Le app in formato tarball non sono elencate nel marketplace pubblico, quindi altri spazi di lavoro sullo stesso server non le troveranno navigando. Una volta che il tuo spazio di lavoro è sul piano Enterprise, puoi condividere un'app distribuita in questo modo:
Le app in formato tarball non sono elencate nel marketplace pubblico, quindi altri spazi di lavoro sullo stesso server non le troveranno navigando. Per condividere un'app distribuita:
1. Vai su **Impostazioni > Applicazioni > Registrazioni** e apri la tua app
2. Nella scheda **Distribuzione**, fai clic su **Copia link di condivisione**
@@ -26,7 +26,7 @@ Twenty è progettato per essere estensibile. Usa le nostre API, i webhook e il f
<Card title="Webhooks" icon="bell" href="/l/it/developers/extend/webhooks">
Ricevi notifiche sugli eventi in tempo reale
</Card>
<Card title="App" icon="puzzle-piece" href="/l/it/developers/extend/apps/getting-started">
<Card title="App" icon="puzzle-piece" href="/l/it/developers/extend/apps/getting-started/quick-start">
Crea personalizzazioni come codice
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty implementa OAuth 2.0 con codice di autorizzazione + PKCE per le app rivol
## Quando utilizzare OAuth
| Scenario | Metodo di autenticazione |
| ------------------------------------------------- | -------------------------------------------------------------------------------- |
| Script interni, automazioni | [Chiave API](/l/it/developers/extend/api#authentication) |
| App esterna che agisce per conto di un utente | **OAuth — Codice di autorizzazione** |
| Da server a server, nessun contesto utente | **OAuth — Credenziali client** |
| App Twenty con estensioni dell'interfaccia utente | [App](/l/it/developers/extend/apps/getting-started) (OAuth è gestito automaticamente) |
| Scenario | Metodo di autenticazione |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Script interni, automazioni | [Chiave API](/l/it/developers/extend/api#authentication) |
| App esterna che agisce per conto di un utente | **OAuth — Codice di autorizzazione** |
| Da server a server, nessun contesto utente | **OAuth — Credenziali client** |
| App Twenty con estensioni dell'interfaccia utente | [App](/l/it/developers/extend/apps/getting-started/quick-start) (OAuth è gestito automaticamente) |
## Registrare un client
@@ -6,7 +6,7 @@ description: Crea app, usa le API, esegui in self-hosting o contribuisci alla co
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/it/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/it/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>App</CardTitle>
Estendi Twenty con oggetti personalizzati, logica lato server, componenti UI e agenti IA — tutto come pacchetti TypeScript.
</Card>
@@ -270,9 +270,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. Trova la sezione **Email**
3. Configura le impostazioni SMTP:
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
Avrai bisogno di provvedere una [Password per l'App](https://support.google.com/accounts/answer/185833).
* EMAIL_DRIVER=smtp
@@ -281,9 +281,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=indirizzo_email_gmail
* EMAIL_SMTP_PASSWORD='password_app_gmail'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="Office365">
Tieni a mente che se hai abilitato l'autenticazione a due fattori, avrai bisogno di fornire una [Password per l'App](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9).
* EMAIL_DRIVER=smtp
@@ -292,9 +292,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=indirizzo_email_office365
* EMAIL_SMTP_PASSWORD='password_office365'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** è un server SMTP fittizio per lo sviluppo e il test.
* Esegui l'immagine smtp4dev: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -304,9 +304,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**Modalità solo ambiente:** Se imposti `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, aggiungi queste variabili al tuo file `.env` invece.
@@ -36,6 +36,6 @@ Tutto viene rilevato tramite analisi AST in fase di build — nessun file di con
Scrivi la tua app come un progetto TypeScript sulla tua macchina. La CLI osserva i file sorgente e li sincronizza in tempo reale con un server Twenty in esecuzione — modifica un file e vedi il cambiamento nell'UI entro un secondo. Il client API tipizzato viene rigenerato automaticamente quando lo schema cambia. Quando sei pronto, `yarn twenty app:publish --private` esegue il push su un server di produzione, oppure `yarn twenty app:publish` elenca la tua app su npm e sul marketplace di Twenty.
<Card title="Crea la tua prima app" icon="arrow-right" href="/l/it/developers/extend/apps/getting-started">
<Card title="Crea la tua prima app" icon="arrow-right" href="/l/it/developers/extend/apps/getting-started/quick-start">
Procedura guidata in tre fasi — crea lo scaffold, esegui un server locale, sincronizza le tue modifiche.
</Card>
@@ -41,8 +41,6 @@ Molti record nell'Oggetto A possono essere collegati a molti record nell'Oggetto
Le relazioni molti-a-molti utilizzano lo schema dell'**oggetto di giunzione**: un oggetto intermedio che collega entrambe le parti. Con la funzionalità delle relazioni di giunzione, Twenty visualizza direttamente i record collegati finali, nascondendo l'oggetto intermedio dall'interfaccia utente.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**Funzionalità beta**: le relazioni di giunzione devono essere abilitate in **Impostazioni → Community → Funzionalità** prima dell'uso.
</Warning>
@@ -44,7 +44,7 @@ L'IA può essere completamente disattivata disattivando tutti i modelli di IA in
Tutti i dati sono crittografati in transito e a riposo. I dati dei tenant sono isolati tramite una configurazione schema-per-tenant e le chiavi di crittografia vengono ruotate periodicamente.
</Accordion>
<Accordion title="A quali venti membri del personale o subprocessori possono accedere agli spazi di lavoro dei clienti, per quali scopi e come viene approvato l'accesso e registrato?">
I team di engineering e supporto di Twenty possono accedere ai workspace dei clienti solo dopo che il cliente ha segnalato un problema e ha concesso l'accesso tramite Impostazioni → Generale → Sicurezza.
I team di ingegneria e supporto di Venti possono accedere ai workspace dei clienti per studiare e risolvere i problemi. I proprietari dello spazio di lavoro controllano questo: l'accesso al supporto può essere disabilitato in qualsiasi momento in Impostazioni → Generale → Sicurezza, e rimane spento fino a quando non si accende indietro.
</Accordion>
<Accordion title="Qual è il processo di notifica degli incidenti e il calendario di notifica di destinazione a seguito di un incidente di sicurezza confermato che colpisce i nostri dati?">
In caso di violazione confermata di dati personali che interessano i Suoi dati, vi informeremo senza indebito ritardo e in ogni caso entro 48 ore dalla presa di conoscenza. La nostra notifica includerà, nella misura conosciuta al tempo: la natura della violazione, le categorie e il volume approssimativo dei dati e degli individui interessati, le conseguenze probabili e le misure di risanamento e di mitigazione adottate o previste. Forniremo aggiornamenti man mano che l'indagine progredisce.
@@ -64,7 +64,7 @@ Per impostazione predefinita, i record in soft-delete vengono mantenuti per 14 g
Un record rimosso rimane nei backup per 30 giorni, dopodiché viene eliminato definitivamente.
</Accordion>
<Accordion title="Quando uno spazio di lavoro è chiuso o viene richiesta la cancellazione completa, quale timeline esatta si applica ai dati di produzione, agli allegati, ai registri e ai backup?">
Quando un workspace viene eliminato, i relativi dati vengono immediatamente rimossi dai sistemi attivi. I backup vengono conservati per 7 giorni, dopodiché tutti i dati vengono eliminati definitivamente.
Quando uno spazio di lavoro viene eliminato, i suoi dati vengono rimossi dai sistemi live entro circa 90 giorni dalla terminazione del servizio, e di solito molto prima. Le copie di backup e di archivio vengono poi sovrascritte o cancellate entro altri 90 giorni, dopo di che tutti i dati vengono eliminati definitivamente. Durante entrambi i periodi i dati sono isolati da qualsiasi uso operativo. Su richiesta, possiamo fornire una certificazione scritta una volta completata la purga. Cfr. la clausola 4.9 del vostro Contratto di trattamento dei dati per tutti i termini.
</Accordion>
<Accordion title="Durante un periodo di backup-retention vengono eliminati i dati isolati dall'accesso operativo e uso?">
Sì, durante qualsiasi periodo di backup-retention i dati cancellati sono isolati dall'uso operativo.
@@ -20,8 +20,6 @@ Per eseguire una sola diramazione in base a condizioni specifiche, **aggiungi un
3. Imposta le condizioni su ciascun Filtro per determinare quando quella diramazione deve continuare
4. Procederanno solo le diramazioni per cui le condizioni del Filtro sono soddisfatte
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### Come funzionano i filtri
* Se la condizione del Filtro è **soddisfatta**: la diramazione continua l'esecuzione
@@ -22,7 +22,7 @@ Twentyへのコード貢献は、プルリクエスト(PR)から始まりま
1. 関連する作業がないか[既存の Issue](https://github.com/twentyhq/twenty/issues)を確認してください
2. 新機能については、まず Issue を作成して議論してください
3. プロジェクトの[行動規範](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)を確認してください
3. プロジェクトの[行動規範](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)を確認してください
### フォークとクローン
@@ -25,7 +25,7 @@ Twentyはオープンソースであり、コミュニティからの貢献を
<Card title="バグ報告と要望" icon="bug" href="/l/ja/developers/contribute/capabilities/bug-and-requests">
問題を報告する、または機能を要望する
</Card>
<Card title="フロントエンド開発" icon="browser" href="/l/ja/developers/contribute/capabilities/frontend-development">
<Card title="フロントエンド開発" icon="browser" href="/l/ja/developers/contribute/capabilities/frontend-development/folder-architecture-front">
UIに貢献する
</Card>
</CardGroup>
@@ -200,4 +200,4 @@ export default defineApplicationRole({
* スキャフォールドされたロールから開始し、徐々に制限を強めてください。デフォルトでは幅広い読み取りアクセスが付与されていますが、本番環境でこれをそのまま使いたいケースはほとんどありません。
* `objectPermissions` と `fieldPermissions` を、関数が実際に必要とするオブジェクトとフィールドだけに置き換えてください。
* `permissionFlagUniversalIdentifiers` はプラットフォームレベルの機能へのアクセスを制御します。 できるだけ最小限に保ってください。
* 動作例: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts)。
* 動作例を参照してください。[`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts)。
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### デプロイ済みアプリの共有
<Warning>
プライベート(tarball)アプリをワークスペース間で共有することは、**Enterprise** の機能です。 ワークスペースに有効な Enterprise キーがあるまで、**Distribution** タブは共有コントロールの代わりにアップグレードのプロンプトを表示します。 有効にするには、[設定 > 管理パネル > Enterprise](/settings/admin-panel#enterprise) に移動します。
</Warning>
tarball アプリは公開マーケットプレイスには掲載されないため、同じサーバー上の他のワークスペースは、ブラウズしてもそれらを見つけられません。 ワークスペースが Enterprise プランの場合、デプロイ済みのアプリを次のように共有できます:
tarball アプリは公開マーケットプレイスには掲載されないため、同じサーバー上の他のワークスペースは、ブラウズしてもそれらを見つけられません。 デプロイ済みアプリを共有するには:
1. **設定 > アプリケーション > 登録** に移動して、あなたのアプリを開きます
2. **Distribution** タブで、**Copy share link** をクリックします
@@ -26,7 +26,7 @@ Twenty は拡張性を念頭に設計されています。 当社の API、Webho
<Card title="ウェブフック" icon="bell" href="/l/ja/developers/extend/webhooks">
イベントの通知をリアルタイムで受け取る
</Card>
<Card title="アプリ" icon="puzzle-piece" href="/l/ja/developers/extend/apps/getting-started">
<Card title="アプリ" icon="puzzle-piece" href="/l/ja/developers/extend/apps/getting-started/quick-start">
カスタマイズをコードとして構築する
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty は、ユーザー向けアプリでは認可コード + PKCE、サーバ
## OAuth を使用するタイミング
| シナリオ | 認証方法 |
| ---------------------- | ---------------------------------------------------------------- |
| 社内向けスクリプト、自動化 | [API キー](/l/ja/developers/extend/api#authentication) |
| ユーザーの代理として動作する外部アプリ | **OAuth — 認可コード** |
| サーバー間、ユーザーコンテキストなし | **OAuth — クライアントクレデンシャル** |
| UI 拡張機能を備えた Twenty アプリ | [アプリ](/l/ja/developers/extend/apps/getting-started)OAuth は自動で処理されます) |
| シナリオ | 認証方法 |
| ---------------------- | ---------------------------------------------------------------------------- |
| 社内向けスクリプト、自動化 | [API キー](/l/ja/developers/extend/api#authentication) |
| ユーザーの代理として動作する外部アプリ | **OAuth — 認可コード** |
| サーバー間、ユーザーコンテキストなし | **OAuth — クライアントクレデンシャル** |
| UI 拡張機能を備えた Twenty アプリ | [アプリ](/l/ja/developers/extend/apps/getting-started/quick-start)(OAuth は自動で処理されます) |
## クライアントを登録
@@ -6,7 +6,7 @@ description: アプリの構築、API の利用、セルフホスト、コード
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/ja/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/ja/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>アプリ</CardTitle>
カスタムオブジェクト、サーバーサイドロジック、UI コンポーネント、AI エージェントによって Twenty を拡張できます — これらはすべて TypeScript パッケージです。
</Card>
@@ -272,9 +272,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. **メール** セクションを見つけます
3. SMTP設定を構成:
<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
[アプリパスワード](https://support.google.com/accounts/answer/185833)を準備する必要があります。
* EMAIL_DRIVER=smtp
@@ -283,9 +283,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="Office365">
2FAを有効にしている場合、[アプリパスワード](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9)を準備する必要があります。
* EMAIL_DRIVER=smtp
@@ -294,9 +294,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev** は開発とテストのためのフェイクSMTPメールサーバーです。
* smtp4devイメージを実行: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -306,9 +306,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**環境専用モード:** `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` を設定した場合、これらの変数を `.env` ファイルに追加してください。
@@ -36,6 +36,6 @@ description: コードで Twenty を拡張しましょう。カスタムオブ
ローカル環境で TypeScript プロジェクトとしてアプリを作成します。 CLI がソースファイルを監視し、実行中の Twenty サーバーとライブ同期します — ファイルを編集すると、1 秒以内に UI に変更が反映されます。 スキーマが変更されると、型付き API クライアントは自動的に再生成されます。 準備ができたら、`yarn twenty app:publish --private` で本番サーバーにプッシュするか、`yarn twenty app:publish` でアプリを npm と Twenty マーケットプレイスに掲載します。
<Card title="最初のアプリを構築する" icon="arrow-right" href="/l/ja/developers/extend/apps/getting-started">
<Card title="最初のアプリを構築する" icon="arrow-right" href="/l/ja/developers/extend/apps/getting-started/quick-start">
3 フェーズのウォークスルー — 雛形の作成、ローカルサーバーの実行、変更内容の同期。
</Card>
@@ -41,8 +41,6 @@ description: リレーションフィールドを使用して、異なるオブ
多対多のリレーションでは、両側を接続する中間オブジェクトを用いる**ジャンクションオブジェクト**パターンを使用します。 ジャンクションリレーション機能により、Twenty は最終的にリンクされたレコードを直接表示し、中間オブジェクトを UI から隠します。
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**ベータ機能**: 使用前に **Settings → Community → Features** でジャンクションリレーションを有効化する必要があります。
</Warning>
@@ -44,7 +44,7 @@ AIは、「Settings → AI → Models」で、すべてのAIモデルをオフ
すべてのデータは、通信中および保存時の両方で暗号化されています。 テナントデータはテナントごとのスキーマ構成によって分離されており、暗号鍵は定期的にローテーションされています。
</Accordion>
<Accordion title="どのような目的で、どのような目的で、どのようにアクセスが承認され、ログされるのですか?">
Twentyのエンジニアリングチームおよびサポートチームがカスタマーのワークスペースアクセスできるのは、カスタマーが問題を報告し、「Settings → General → Security」からアクセスを許可した後のみです。
Twenty のエンジニアリングおよびサポートチームは、問題の調査および解決のために、お客様のワークスペースアクセスする場合があります。 ワークスペースの所有者がこれを管理します。サポートによるアクセスは、[Settings → General → Security]でいつでも無効化でき、一度オフにすると、再度オンにするまでオフのままです。
</Accordion>
<Accordion title="データに影響を与えるセキュリティインシデントが確認された後、インシデント通知プロセスとターゲット通知の期間はどのようなものですか?">
お客様のデータに影響を与えることが確認された個人データの侵害が発生した場合 我々は過度の遅延なしにあなたに通知しますし、いずれの場合でもそれを認識するようになってから48時間以内に。 当社の通知には、当時知られている範囲内での違反の性質が含まれます。 影響を受けるデータと個人のカテゴリーと概算の量、おそらく結果、そして取られるか計画された修復と緩和措置。 調査が進むにつれて、最新情報を提供します。
@@ -64,7 +64,7 @@ Twentyのエンジニアリングチームおよびサポートチームがカ
削除されたレコードは30日間バックアップに保持され、その後完全に削除されます。
</Accordion>
<Accordion title="ワークスペースが閉じられている、または完全な削除が要求される場合、プロダクションデータ、添付ファイル、ログ、およびバックアップにどのような正確なタイムラインが適用されますか?">
ワークスペースが削除されると、そのデータは稼働中のシステムから即座に削除されます。 バックアップは7日間保持され、そのすべてのデータ完全に削除されます。
ワークスペースが削除されると、そのデータは、サービス終了からおおよそ 90 日以内(通常はそれより早く)に本番環境のシステムから削除されます。 バックアップおよびアーカイブコピーは、その後さらに 90 日以内に上書きまたは消去され、その時点ですべてのデータ完全に削除されます。 これら両方の期間を通じて、データはすべての運用上の利用から隔離されています。 ご要望に応じて、パージ完了後に書面による証明書を提供できます。 完全な条件については、お客様のデータ処理契約書の第 4.9 条をご確認ください。
</Accordion>
<Accordion title="バックアップ保持期間中、運用アクセスから分離されたデータは削除され、使用されますか?">
はい、任意のバックアップ保持期間中に、削除されたデータは、運用中の使用から分離されます。
@@ -20,8 +20,6 @@ description: ブランチの仕組みと、どのパスが実行されるかの
3. 各 Filter に条件を設定し、そのブランチをいつ続行するかを決めます
4. Filter の条件を満たしたブランチだけが続行します
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### Filter の仕組み
* Filter の条件が**満たされた**場合:ブランチは実行を継続します
@@ -22,7 +22,7 @@ Twenty에 코드로 기여하는 첫 단계는 Pull Request(PR)입니다.
1. 관련 작업이 있는지 [기존 이슈](https://github.com/twentyhq/twenty/issues)를 확인하세요
2. 새 기능의 경우 먼저 이슈를 열어 논의하세요
3. 우리의 [행동 강령](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)을 검토하세요
3. 우리의 [행동 강령](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)을 검토하세요
### 포크하고 클론하기
@@ -25,7 +25,7 @@ Twenty는 오픈 소스로, 커뮤니티의 기여를 환영합니다. 버그를
<Card title="버그 보고 및 요청" icon="bug" href="/l/ko/developers/contribute/capabilities/bug-and-requests">
문제를 보고하거나 기능을 요청하세요
</Card>
<Card title="프론트엔드 개발" icon="browser" href="/l/ko/developers/contribute/capabilities/frontend-development">
<Card title="프론트엔드 개발" icon="browser" href="/l/ko/developers/contribute/capabilities/frontend-development/folder-architecture-front">
UI에 기여하세요
</Card>
</CardGroup>
@@ -201,4 +201,4 @@ export default defineApplicationRole({
* 스캐폴딩된 역할에서 시작한 다음 점진적으로 권한을 제한하세요. 기본 설정은 광범위한 읽기 액세스를 부여하는데, 이는 프로덕션 환경에서 원하는 경우가 거의 없습니다.
* `objectPermissions`와 `fieldPermissions`를 함수에 실제로 필요한 정확한 객체와 필드로 교체하세요.
* `permissionFlagUniversalIdentifiers`는 플랫폼 수준 기능에 대한 액세스를 제어합니다. 최소한으로 유지하세요.
* 동작 예제를 참조하세요: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* 동작 예제를 참조하세요: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### 배포된 앱 공유
<Warning>
워크스페이스 간에 비공개(타르볼) 앱을 공유하는 것은 **엔터프라이즈** 기능입니다. 워크스페이스에 유효한 엔터프라이즈 키가 있을 때까지 **Distribution** 탭에는 공유 컨트롤 대신 업그레이드 프롬프트가 표시됩니다. 이를 활성화하려면 [설정 > 관리자 패널 > 엔터프라이즈](/settings/admin-panel#enterprise)로 이동하세요.
</Warning>
타르볼 앱은 공개 마켓플레이스에 나열되지 않으므로, 동일한 서버의 다른 워크스페이스는 탐색만으로는 이를 찾을 수 없습니다. 워크스페이스가 Enterprise 플랜을 사용 중이면, 배포된 앱을 다음과 같이 공유할 수 있습니다:
타르볼 앱은 공개 마켓플레이스에 나열되지 않으므로, 동일한 서버의 다른 워크스페이스는 탐색만으로는 이를 찾을 수 없습니다. 배포된 앱을 공유하려면:
1. **설정 > 애플리케이션 > 등록**으로 이동하여 앱을 엽니다
2. **Distribution** 탭에서 **공유 링크 복사**를 클릭합니다
@@ -26,7 +26,7 @@ Twenty는 확장 가능하도록 설계되었습니다. 당사의 API, 웹훅
<Card title="웹훅" icon="bell" href="/l/ko/developers/extend/webhooks">
이벤트에 대한 실시간 알림을 받으세요
</Card>
<Card title="앱" icon="puzzle-piece" href="/l/ko/developers/extend/apps/getting-started">
<Card title="앱" icon="puzzle-piece" href="/빠른 시작(/developers/extend/apps/getting-started/quick-start">
코드로 사용자 지정을 구축하세요
</Card>
</CardGroup>
@@ -8,12 +8,12 @@ Twenty는 사용자 대상 앱에는 권한 부여 코드 + PKCE를, 서버 간
## OAuth 사용 시기
| 시나리오 | 인증 방식 |
| ------------------- | ---------------------------------------------------------------- |
| 내부 스크립트, 자동화 | [API 키](/l/ko/developers/extend/api#authentication) |
| 사용자를 대신하여 동작하는 외부 앱 | **OAuth — 권한 부여 코드** |
| 서버 간, 사용자 컨텍스트 없음 | **OAuth — 클라이언트 자격 증명** |
| UI 확장이 포함된 Twenty 앱 | [앱](/l/ko/developers/extend/apps/getting-started) (OAuth는 자동으로 처리됩니다) |
| 시나리오 | 인증 방식 |
| ------------------- | ---------------------------------------------------------------------------- |
| 내부 스크립트, 자동화 | [API 키](/l/ko/developers/extend/api#authentication) |
| 사용자를 대신하여 동작하는 외부 앱 | **OAuth — 권한 부여 코드** |
| 서버 간, 사용자 컨텍스트 없음 | **OAuth — 클라이언트 자격 증명** |
| UI 확장이 포함된 Twenty 앱 | [앱](/l/ko/developers/extend/apps/getting-started/quick-start) (OAuth는 자동으로 처리됩니다) |
## 클라이언트 등록
@@ -6,7 +6,7 @@ description: 앱을 개발하거나, API를 사용하거나, 자체 호스팅하
import { CardTitle } from "/snippets/card-title.mdx"
<CardGroup cols={3}>
<Card href="/l/ko/developers/extend/apps/getting-started" img="/images/user-guide/halftone/dev-apps.png">
<Card href="/l/ko/developers/extend/apps/getting-started/quick-start" img="/images/user-guide/halftone/dev-apps.png">
<CardTitle>앱</CardTitle>
커스텀 오브젝트, 서버 측 로직, UI 컴포넌트, AI 에이전트로 Twenty를 확장하세요 — 모두 TypeScript 패키지 형태입니다.
</Card>
@@ -271,9 +271,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
2. **이메일** 섹션을 찾으세요
3. SMTP 설정을 구성하세요:
<ArticleTabs label1="Gmail" label2="오피스365" label3="Smtp4dev">
<Tabs>
<ArticleTab>
<Tab title="Gmail">
[App Password](https://support.google.com/accounts/answer/185833)를 프로비저닝해야 합니다.
* EMAIL_DRIVER=smtp
@@ -282,9 +282,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=gmail_email_address
* EMAIL_SMTP_PASSWORD='gmail_app_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="오피스365">
2단계 인증을 사용 중인 경우, [앱 비밀번호](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9)를 발급받아야 합니다.
* EMAIL_DRIVER=smtp
@@ -293,9 +293,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_USER=office365_email_address
* EMAIL_SMTP_PASSWORD='office365_password'
</ArticleTab>
</Tab>
<ArticleTab>
<Tab title="smtp4dev">
**smtp4dev**는 개발 및 테스트를 위한 가상의 SMTP 이메일 서버입니다.
* smtp4dev 이미지를 실행하세요: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
@@ -305,9 +305,9 @@ yarn command:prod cron:workflow:automated-cron-trigger
* EMAIL_SMTP_HOST=localhost
* EMAIL_SMTP_PORT=2525
</ArticleTab>
</Tab>
</ArticleTabs>
</Tabs>
<Warning>
**환경 전용 모드:** `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`로 설정한 경우, `.env` 파일에 이러한 변수를 추가하세요.
@@ -36,6 +36,6 @@ description: 코드로 Twenty를 확장하세요 — 커스텀 오브젝트, 서
여러분은 로컬 머신에서 TypeScript 프로젝트로 앱을 작성합니다. CLI가 소스 파일을 감시하며 실행 중인 Twenty 서버와 실시간으로 동기화합니다. 파일을 수정하면 1초 안에 UI에서 변경 사항을 확인할 수 있습니다. 스키마가 변경되면 타입이 지정된 API 클라이언트가 자동으로 재생성됩니다. 준비가 되면 `yarn twenty app:publish --private`로 프로덕션 서버에 배포하거나, `yarn twenty app:publish`로 앱을 npm과 Twenty 마켓플레이스에 게시할 수 있습니다.
<Card title="첫 번째 앱 빌드하기" icon="arrow-right" href="/l/ko/developers/extend/apps/getting-started">
<Card title="첫 번째 앱 빌드하기" icon="arrow-right" href="/l/ko/developers/extend/apps/getting-started/quick-start">
3단계 워크스루 — 스캐폴딩, 로컬 서버 실행, 변경 사항 동기화.
</Card>
@@ -41,8 +41,6 @@ description: 관계 필드를 사용하여 서로 다른 객체의 레코드를
다대다 관계는 **연결 객체** 패턴을 사용합니다: 양쪽을 연결하는 중간 객체. 연결 관계 기능을 사용하면 Twenty는 중간 객체를 UI에서 숨기고 최종 연결된 레코드를 직접 표시합니다.
<img src="/images/user-guide/fields/junction-relation-diagram.png" style={{width:'100%'}} />
<Warning>
**베타 기능**: 사용하려면 **Settings → Community → Features**에서 연결 관계를 활성화해야 합니다.
</Warning>
@@ -44,7 +44,7 @@ Settings → AI → Models에서 모든 AI 모델을 끄면 AI 기능을 완전
모든 데이터는 전송 중 및 저장 중에 암호화됩니다. 테넌트 데이터는 테넌트별 스키마 구성(schema-per-tenant setup)을 통해 격리되며, 암호화 키는 주기적으로 순환(로테이션)됩니다.
</Accordion>
<Accordion title="어떤 Twenty 직원 또는 서브프로세서가 어떤 목적으로 고객 워크스페이스에 접근할 수 있으며, 해당 접근은 어떻게 승인 및 로그로 기록되나요?">
Twenty의 엔지니어링 및 지원 팀은 고객이 이슈를 보고하고 Settings → General → Security에서 워크스페이스 접근을 허용하는 데 동의한 경우에만 고객 워크스페이스에 접근할 수 있습니다.
Twenty의 엔지니어링 및 지원 팀은 문제를 조사하고 해결하기 위해 고객 워크스페이스에 액세스할 수 있습니다. 워크스페이스 소유자가 이를 제어합니다. 지원 액세스는 언제든지 Settings → General → Security에서 비활성화할 수 있으며, 다시 켤 때까지 비활성화 상태로 유지됩니다.
</Accordion>
<Accordion title="우리 데이터에 영향을 미치는 보안 사건이 확정된 후, 귀사의 인시던트 통지 프로세스와 목표 통지 시간은 어떻게 되나요?">
귀하의 데이터에 영향을 미치는 개인정보 침해가 확정된 경우, 우리는 부당한 지체 없이, 그리고 어떤 경우에도 이를 인지한 시점으로부터 48시간 이내에 귀하에게 통지합니다. 당사의 통지에는, 당시 파악된 범위 내에서, 침해의 성격, 영향받은 데이터 및 정보주체의 범주와 대략적인 규모, 발생 가능한 결과, 그리고 취해졌거나 계획 중인 시정 및 완화 조치가 포함됩니다. 조사가 진행되는 동안 추가 업데이트를 제공하겠습니다.
@@ -64,7 +64,7 @@ Twenty의 엔지니어링 및 지원 팀은 고객이 이슈를 보고하고 Set
삭제된 레코드는 30일 동안 백업에 남아 있으며, 이후 영구적으로 삭제됩니다.
</Accordion>
<Accordion title="워크스페이스가 닫히거나 전체 삭제가 요청되는 경우, 운영 데이터, 첨부 파일, 로그 및 백업에 어떤 구체적인 일정이 적용되나요?">
워크스페이스가 삭제되면 해당 워크스페이스의 데이터는 즉시 활성 시스템에서 제거됩니다. 백업은 7일 동안 보존되며, 이후 모든 데이터가 영구적으로 삭제됩니다.
워크스페이스가 삭제되면, 서비스 종료 후 약 90일 이내에(대부분은 그보다 훨씬 더 빨리) 실시간 시스템에서 해당 데이터가 제거됩니다. 그 후 백업 및 보관용 사본은 추가로 90일 이내에 덮어써지거나 삭제되며, 이 시점 이후에는 모든 데이터가 영구적으로 삭제됩니다. 이 두 기간 내내 데이터는 어떠한 운영상 용도로부터도 분리되어 있습니다. 요청 시, 삭제 작업이 완료되면 서면 인증서를 제공해 드릴 수 있습니다. 전체 약관은 귀하의 Data Processing Agreement 제 4.9조를 참조하십시오.
</Accordion>
<Accordion title="백업 보관 기간 동안, 삭제된 데이터는 운영상 접근 및 사용으로부터 격리되나요?">
네, 백업 보관 기간 동안 삭제된 데이터는 운영상 사용으로부터 격리됩니다.
@@ -20,8 +20,6 @@ description: 분기가 어떻게 작동하는지와 어떤 경로가 실행될
3. 각 필터에 조건을 설정하여 해당 분기를 언제 계속할지 결정하세요
4. 필터 조건을 충족하는 분기만 진행됩니다
<img src="/images/user-guide/workflows/branches-with-filters.png" style={{width:'100%'}} />
### 필터 작동 방식
* 필터 조건이 **충족되면**: 분기가 계속 실행됩니다
@@ -22,7 +22,7 @@ Contribuirea cu cod la Twenty începe cu un pull request (PR).
1. Verificați [problemele existente](https://github.com/twentyhq/twenty/issues) pentru lucrări conexe
2. Pentru funcționalități noi, deschideți mai întâi o problemă pentru a discuta
3. Consultați [Codul de conduită](https://github.com/twentyhq/twenty/blob/main/CODE_OF_CONDUCT.md)
3. Consultați [Codul de conduită](https://github.com/twentyhq/twenty/blob/main/.github/CODE_OF_CONDUCT.md)
### Faceți fork și clonați
@@ -25,7 +25,7 @@ Twenty este cu sursă deschisă și salută contribuțiile din partea comunită
<Card title="Raportări de erori și solicitări" icon="bug" href="/l/ro/developers/contribute/capabilities/bug-and-requests">
Raportați probleme sau solicitați funcționalități
</Card>
<Card title="Dezvoltare frontend" icon="browser" href="/l/ro/developers/contribute/capabilities/frontend-development">
<Card title="Dezvoltare frontend" icon="browser" href="/l/ro/developers/contribute/capabilities/frontend-development/folder-architecture-front">
Contribuiți la interfața de utilizator
</Card>
</CardGroup>
@@ -209,4 +209,4 @@ Notițe:
* Porniți de la rolul generat de scaffolding, apoi restrângeți-l progresiv — rolul implicit acordă acces larg la citire, ceea ce rareori este de dorit în producție.
* Înlocuiți `objectPermissions` și `fieldPermissions` cu obiectele și câmpurile de care au nevoie efectiv funcțiile dvs.
* `permissionFlagUniversalIdentifiers` controlează accesul la capabilități la nivelul platformei. Mențineți-le la minimum.
* Vedeți un exemplu funcțional: [`hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts).
* Vedeți un exemplu funcțional: [`examples/hello-world/src/roles/default-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/hello-world/src/roles/default-role.ts).
@@ -49,11 +49,7 @@ yarn twenty app:publish --private
### Partajarea unei aplicații implementate
<Warning>
Partajarea aplicațiilor private (tarball) între spații de lucru este o funcționalitate **Enterprise**. Fila **Distribuție** va afișa un mesaj de actualizare în locul controalelor de partajare până când spațiul tău de lucru are o cheie Enterprise validă. Mergi la [Setări > Panou de administrare > Enterprise](/settings/admin-panel#enterprise) pentru a o activa.
</Warning>
Aplicațiile tarball nu sunt listate în marketplace-ul public, astfel încât alte spații de lucru de pe același server nu le vor descoperi prin navigare. După ce spațiul tău de lucru este pe planul Enterprise, poți partaja o aplicație implementată astfel:
Aplicațiile tarball nu sunt listate în marketplace-ul public, astfel încât alte spații de lucru de pe același server nu le vor descoperi prin navigare. Pentru a partaja o aplicație implementată:
1. Mergi la **Setări > Aplicații > Înregistrări** și deschide aplicația ta
2. În fila **Distribuție**, fă clic pe **Copiază linkul de partajare**

Some files were not shown because too many files have changed in this diff Show More