Перейти до вмісту

Шаблони баз

Шаблон створює цілу базу одним клацанням: її таблиці та зв’язки між ними, рядки з прикладами, подання, інформаційну панель, автоматизації та поля, які ШІ заповнює самостійно. Галерея шаблонів показує ті, що пропонує basedb.

Нова база, потім Почати із шаблону або попросити ШІ: відкривається галерея.

Галерея шаблонів у застосунку

Кожен шаблон можна переглянути повністю, перш ніж використати, — його таблиці та їхні поля, подання, автоматизації та інструкцію кожного з його полів ШІ. Створити базу запитує її підпис і, якщо є поля ШІ, вашу згоду на те, щоб значення, на які вони посилаються, надсилалися постачальнику ШІ цього екземпляра. Без цієї згоди це звичайні поля, заповнені своїми значеннями з прикладів.

Завантажити приклади даних, позначена від початку, заповнює таблиці рядками з прикладами, щоб побачити базу в дії. Знята позначка лишає таблиці порожніми, готовими для ваших власних даних — подання, інформаційна панель і автоматизації все одно створюються.

Порожній проєкт також пропонує демонстраційну базу: невелика агенція, її клієнти, проєкти, завдання, рахунки та відгуки, яка показує всі грані basedb.

Офіційні шаблони читаються та створюються мовою екрана: таблиці, поля, варіанти вибору, рядки-приклади, подання, інформаційні панелі, автоматизації та інструкції для ШІ. Рядки-приклади переходять у свій світ разом із мовою: „Boulangerie Martin“ з Lyon стає «Пекарня Мартин» у Львові українською.

Шаблон, імпортований у ваш екземпляр, або збережений із бази, написаний кимось: він читається таким, яким його написано.

Угорі галереї опишіть свою потребу одним реченням — «облік скарг моїх клієнтів з аналізом тону». ШІ пропонує повну базу: таблиці, правдоподібні рядки з прикладами, подання, інформаційну панель і поля ШІ, коли це доречно. Ви переглядаєте її як шаблон, можете її доопрацювати («додай таблицю постачальників»), а потім створити. ШІ отримує лише ваше речення — жодних даних із жодної бази, — і нічого не створюється до вашого клацання.

Шаблон — це документ JSON. Ось його каркас:

{
"format": 1,
"key": "suivi-tickets",
"label": "Suivi de tickets",
"summary": "Une phrase pour la galerie.",
"category": "Produit et technique",
"icon": "bug",
"color": "#ef4444",
"tables": [
{
"key": "tickets",
"label": "Tickets",
"fields": [
{ "label": "Titre", "kind": "short_text" },
{ "label": "Statut", "kind": "select", "options": ["Nouveau", "En cours", "Résolu"] },
{ "label": "Ouvert le", "kind": "date" },
{ "label": "Description", "kind": "long_text" },
{ "label": "Catégorie", "kind": "select", "options": ["Bug", "Demande"],
"ai": { "prompt": "Classe ce ticket : {{Titre}} — {{Description}}" } },
{ "label": "Âge (jours)", "kind": "formula", "formula": "JOURS(AUJOURDHUI(); [Ouvert le])" }
]
},
{ "key": "produits", "label": "Produits", "fields": [{ "label": "Nom", "kind": "short_text" }] }
],
"links": [{ "from": "tickets", "label": "Produit", "to": "produits" }],
"rows": {
"produits": [{ "$key": "app", "Nom": "Application mobile" }],
"tickets": [{ "Titre": "Crash au démarrage", "Statut": "En cours", "Ouvert le": "-3d", "Produit": "@app" }]
},
"views": [
{ "table": "tickets", "label": "Tableau", "kind": "kanban", "spec": { "group_by": "Statut" } }
],
"dashboards": [
{ "label": "Vue d’ensemble", "blocks": [
{ "kind": "number", "title": "Ouverts", "table": "tickets", "filter": "[Statut] ne \"Résolu\"" },
{ "kind": "chart", "title": "Par catégorie", "table": "tickets", "group_by": "Catégorie", "style": "pie" }
] }
],
"automations": []
}

Основні правила:

  • На все посилаються за підписом: на поле в поданні, у фільтрі ([Statut] ne "Résolu"), у формулі ([Prix] * [Quantité]), в інструкції ШІ чи в повідомленні ({{Titre}}). Варіант вибору задається його підписом.
  • Перше поле таблиці — її поле відображення: текст, число, дата, адреса електронної пошти або вебадреса.
  • Зв’язок оголошується в links, ніколи не як поле; рядок посилається на інший через "@clé" — $key рядка цільової таблиці.
  • Дата може бути відносною до дня, коли застосовується шаблон: "today", "+3d", "-2w", "+1m"; дата з часом додає час, "+1d 14:30". Особа записується як "$moi".
  • Поле ШІ має "ai": { "prompt": "…" } і може отримати значення з прикладу, яке записується лише тоді, коли ШІ не використовується.
  • Шаблон ніколи не містить публікацій, дозволів, вебхуків, файлів чи осіб, крім "$moi": він інколи надходить ззовні, тож не повинен нічого відкривати.

Повний довідник — усі типи полів, усі ключі подань, обмеження — міститься в розділі 20 архітектурної документації в репозиторії.

Публікація шаблону для всіх екземплярів

Section titled “Публікація шаблону для всіх екземплярів”

Шаблони офіційної галереї — це файли з теки packages/templates/catalog репозиторію, один файл на шаблон, названий за його key. Публічний сайт створює з них галерею і публікує весь каталог за адресою /basedb/modeles/catalogue.json. Кожен екземпляр читає його, коли хтось відкриває галерею, і зберігає протягом години: щоб змінити галерею всіх екземплярів, досить змінити файл і знову опублікувати сайт.

Кожен шаблон перевіряється під час збирання сайту тим самим валідатором, що й на сервері: недійсний шаблон зриває збирання, замість того щоб потрапити до користувачів.

Офіційний шаблон пишеться один раз, французькою. Його тексти іншими мовами — це словник, packages/templates/i18n/<langue>/<clé>.json — французький текст, а потім його переклад, — який сайт публікує поряд із каталогом (/basedb/modeles/i18n/<langue>.json). Екземпляр підставляє в нього кожен текст і стежить за кожним підписом там, де на нього посилаються, — у формулах, фільтрах, поданнях, інструкціях, — а потім перечитує результат: словник, який зламав би шаблон, не використовується — французький шаблон використовується. Текст, якого немає в словнику, лишається французьким.

Екземпляр читає адресу BASEDB_TEMPLATES_URL — типово адресу публічного сайту. Спрямуйте її на власний каталог або встановіть off, щоб не читати жодного: тоді екземпляр пропонує шаблони, вбудовані в його версію.

Шаблони вашого екземпляра

Section titled “Шаблони вашого екземпляра”

Адміністратор може імпортувати шаблон JSON у свій екземпляр із галереї («Імпортувати JSON»): шаблон з’являється в галереї всіх користувачів екземпляра й замінює шаблон із тим самим ключем. Пропозицію ШІ можна додати туди одним клацанням.

Будь-яка база також може стати шаблоном: Зберегти як шаблон у меню бази, у розділі Інші дії. Її таблиці, поля, інструкції ШІ, зв’язки, спільні подання, інформаційні панелі та автоматизації — і, за бажанням, до 50 рядків на таблицю — завантажуються у форматі JSON, готові до включення в офіційний каталог або в каталог екземпляра. Автоматизація, яка шукає рядок, перебирає рядки, розгалужується на гілки чи посилається на попередній крок, поки що лишається поза шаблоном, і екран про це повідомляє.

basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.