Как использовать Option sets в Bubble
Я замечаю, что многие практики разработки, которые давно стали для меня обыденностью, являются непознанными для других разработчиков. Скорее всего и я упускаю какие-то best practice, которые бы помогли мне в работе. С этой целью я буду потихоньку разбирать различные части рабочих инструментов и приглашаю вас к обсуждению и обмену опытом.
Начнем с теории, которую вы можете найти в официальной документации:
1. Данные из Option sets подгружаются на сторону пользователя вместе с загрузкой страницы, а значит там не стоит хранить чувствительную информацию.
2. Хоть эти данные и сохраняются в кэше пользователя до следующего деплоя, не стоит держать там длинных списков, чтобы не замедлять загрузку страницы.
3. Однако, даже если вы и захотите загрузить туда большой список, вам придется постараться, так как записи загружаются туда по одной вручную из панели разработчика, что делает этот функционал непригодным для типа данных, который может изменяться пользователями.
4. Как и в БД, к основной колонке Display вы можете добавить дополнительные аттрибуты (колонки). Их возможно поменять только открыв детали конкретной записи.
5. Аттрибут может иметь один из стандартных типов данных либо являться ссылкой на другой Option set. Ссылаться на таблицы из БД нельзя. Сам Options set может быть выбран как тип данных в API и SQL connector’ах, backend workflows и БД.
6. Значения Display могут быть неуникальными, поэтому нужно быть осторожным при создании списка и проверять на дубликаты.
7. Для изменения списка в Live потребуется деплой.
А вот что я успел понять об Option sets:
1. Иногда требуется загрузить длинный список значений (области страны). Для bulk загрузки можно использовать плагин, но работает он не совсем стабильно и не имеет возможности загружать аттрибуты.
2. Основные кейсы, когда я использую Option sets - статусы, опции для dropdown (области, должности, категории и тд), страницы приложения (menu, submenu), алерты.
3. Аттрибуты я использовал для перевода статусов на русский (в БД всегда англ), для сохранения порядкового номера (и дальнейшей сортировке на фронте), для динамических цветов тега.
4. Почему то так сложилось, что моя нейминговая конвенция для Options sets - start case (каждое слово с большой буквы).
А как вы используете Option sets?
___
Не забывайте ставить лайк и подписываться на канал, это мотивирует меня делать больше интересного контента
Post #95
926
- 👍 13