Мова: Українська
CUID (стійкий до колізій унікальний ідентифікатор) — це 16-символьний буквено-цифровий рядок, який використовується для ідентифікації ресурсів на платформі ActivityInfo. Ці ідентифікатори є критично важливими для використання у формулах, API ActivityInfo та пакеті R, оскільки вони залишаються незмінними, навіть якщо назва ресурсу, що відображається, змінюється.
Ключові характеристики
- Формат: CUID складаються з 16 символів, що використовують малі літери (a-z) та цифри (0-9).
- Структура: Кожен CUID повинен починатися з літери (наприклад, cw0qkvfkq6jnlx3r).
- Постійність: На відміну від міток чи назв, CUID є незмінним після присвоєння ресурсу.
Ієрархія та область застосування унікальності
CUID генеруються на основі певної ієрархії. Їхня унікальність є або глобальною для всього сервера, або обмеженою батьківським "контейнером".
1. Глобально унікальні ідентифікатори
Наступним ресурсам присвоюються CUID, які є унікальними для одного сервера ActivityInfo:
- Бази даних: Контейнер верхнього рівня для всіх форм та даних.
- Форми: Стандартні форми, що використовуються для збору даних.
- Звіти: Аналітичні результати, такі як зведені таблиці або інформаційні панелі.
2. Ідентифікатори, обмежені контейнером
Певні ресурси вимагають унікальності лише в межах свого безпосереднього батьківського контейнера. Це означає, що один і той самий CUID може потенційно існувати в різних місцях на одному сервері без конфліктів:
- Поля: Унікальні лише в межах своєї конкретної форми. Дві різні форми можуть мати поля з однаковими CUID.
- Параметри вибору: Параметри в полях Одиночний вибір або Множинний вибір є унікальними лише в межах свого конкретного поля.
- Записи: Унікальні лише в межах своєї конкретної форми. Ідентифікатор запису у "Формі А" може бути ідентичним ідентифікатору запису у "Формі Б".
- Папки: Структурні контейнери, що використовуються для організації форм. CUID форми є унікальним лише в межах бази даних. Дві різні папки можуть мати однакові CUID у різних базах даних.
Практичне застосування
API та інтеграції
При використанні API для запиту даних або оновлення схем, CUID є основним способом звернення до ресурсів. Наприклад, щоб отримати записи з певної форми, ви повинні надати CUID цієї форми (formId) для отримання записів форми.
Формули
CUID використовуються у формулах для посилання на конкретні поля або форми, гарантуючи, що формула не зламається, якщо поле буде перейменовано.
Пакет R
Пакет R для ActivityInfo використовує CUID майже для всіх функцій для посилання на конкретні ресурси під час отримання схем, запиту даних та виконання операцій із записами, таких як додавання, редагування та видалення.
Пошук CUID
- Пакет R для ActivityInfo: Ви можете використовувати функцію getDatabaseTree, щоб отримати список доступних ресурсів та їхніх CUID.
- API ActivityInfo: Ви можете отримати список ресурсів (папок, форм та підформ) та їхніх CUID у базі даних.
- У браузері: CUID часто видно в URL-адресі під час перегляду певної бази даних або форми у веб-інтерфейсі ActivityInfo. У прикладі нижче CUID форми Beneficiary Registry видно в адресному рядку.
- CUID записів: Ви можете переглянути CUID запису у формі або підформі в інтерактивній таблиці, натиснувши «Перегляди», а потім «Виберіть стовпці».
Позначте опцію «Ідентифікатор запису» у розділі «Доступні колонки», щоб показати CUID записів.
- CUID полів: Ви можете переглянути CUID полів у формі, відкривши форму, натиснувши «Налаштування форми» у верхньому правому куті екрана, а потім вибравши «Експортувати поля».
Це завантажить CSV-файл, що містить усі CUID для полів у формі.
Генерація CUID
Під час надсилання запиту через API ActivityInfo для додавання нової бази даних, папки, форми тощо, вам потрібно буде згенерувати ідентифікатор нового ресурсу.
Проєкт Collision-resistant ids (CUID2) має бібліотеки для багатьох мов програмування для генерації ідентифікаторів, які будуть прийняті ActivityInfo.