Швидке поліпшення координації ваших заходів за допомогою Airtable та no-code
Наша команда розробників зіткнулася з необхідністю знайти no-code або low-code рішення, яке допомогло б мінімізувати ризики та оптимізувати процес планування виступів спікерів в EdTech компанії. Ми виявили, що стандартні інструменти та методи управління не завжди здатні впоратися з поставленим завданням, особливо коли справа доходить до складності та динамічності змін у розкладі заходів. Це призвело до розробки власного рішення, заснованого на технології no/low-code платформи Airtable і програмуванні на JavaScript.
У цій статті ми поділимося нашим досвідом вирішення проблеми перетину розкладів спікерів, розповімо про виклики, з якими ми зіткнулися, та опишемо, як технологічний low-code підхід дозволив нам створити ефективну систему для управління заходами. Також ми розповімо як саме користуватися Airtable в рамках цойго завдання так що таки Airtable та йоги скрипти та автоматизації у порівнянні.
Поліпшення координації заходів: автоматизація розкладу спікерів за допомогою Airtable та JavaScript
Куратори курсів наших курсів періодично стикалися з ситуацією, коли одному й тому ж спікеру призначалися лекції або івенти на той самий день. Часто ця проблема виявлялася вже в останній момент, що змушувало негайно переплановувати заходи.
Корінь проблеми полягав у тому, що при плануванні заходів ми не враховували можливості участі одного спікера у різних сесіях, які проводяться одночасно. Це означало, що без належного контролю та координації ми ризикували опинитися в ситуації, коли спікер фізично не міг бути присутнім у двох місцях одночасно. На практиці це призводило до необхідності останній момент змінювати розклад, що могло негативно вплинути на враження учасників та загальне сприйняття організації заходу.
#1. Головне завдання – уникнення конфліктів розкладу спікерів
Вирішення проблеми вимагало від нас впровадження no-code системи, яка б дозволила уникнути подібних перетинів у розкладі. Ми усвідомлювали, що для ефективного управління часом спікерів необхідний комплексний підхід, який включав як ретельне планування, так і можливість гнучкого реагування на зміни в розкладі.
#2. Розробка рішення: автоматизація за допомогою Airtable та власних скриптів, тобто no-code + low-code
Для вирішення проблеми з перетином розкладів ми визначили, що ключ до успіху лежить в автоматизації процесів управління часом спікерів. Початковою точкою нашого шляху ефективного рішення стала база даних, розміщена Airtable. Airtable надав нам зручну платформу для зберігання та управління даними про заходи, включаючи інформацію про спікерів та їх розклади. Ця система була обрана за її гнучкість та можливість інтеграції з різними автоматизованими процесами.
Однак незабаром стало ясно, що стандартні засоби no-code автоматизації, доступні в Airtable, не здатні повністю вирішити наше завдання. Вони не змогли забезпечити достатню глибину аналізу і не надавали необхідну гнучкість для обробки специфічних сценаріїв, з якими ми стикалися. В результаті було прийнято рішення про розробку власного скрипту, який був би спеціально налаштований під наші унікальні вимоги.
Розроблений нами скрипт використовує JavaScript та взаємодіє безпосередньо з базою даних в Airtable. Він автоматично запускається під час кожного оновлення інформації про спікерів, проводячи детальний аналіз майбутніх заходів.
Скрипт перевіряє наявність перетинів у розкладах та, у разі їх виявлення, фіксує дані ситуації для подальшого коригування. Такий підхід дозволив нам не лише своєчасно виявляти потенційні конфлікти у розкладі, а й значно спростити процес їхнього вирішення.
Скрипт написаний JavaScript і автоматично запускає no-code автоматизацію, коли змінюється інформація у полі спікера.
Вбудована автоматизація не підійшла, бо має обмежені можливості. Тобто ми можемо, наприклад, або лише if-else перевіряти, або проводити перебір записів. Тобто одночасно в автоматизації робити і перебір і перевірку на if-else неможливо. Саме тому ми звернули увагу на скрипти як наступний крок переходу з повного no-code рішення на low-code.
#3. Принцип роботи рішення: деталізація механізму
Давайте докладніше розберемо який принцип роботи скрипта:
- Аналіз та фільтрація подій
Наша система розпочинає роботу з аналізу майбутніх подій. Основна увага приділяється датам проведення, що дозволяє нам зосередитись виключно на майбутніх заходах та уникнути непотрібної обробки минулих івентів. Це значно прискорює роботу скрипта, що критично важливо з огляду на обмеження часу виконання операцій в Airtable, що становить 30 секунд.
- Звіряння розкладів спікерів
Далі система переходить до звірки розкладів спікерів. Ми беремо інформацію про кожного спікера, призначеного на подію, та перевіряємо, чи не заплановані на той же день інші заходи за його участю. У випадку, якщо спікерів кілька, процес повторюється для кожного з них, забезпечуючи ретельну перевірку та запобігання можливим перетинам у розкладі.
- Обробка помилок та повідомлення щодо конфліктів
Ключовим аспектом нашого рішення є не лише виявлення конфліктів у розкладі, а й ефективне керування помилками. Помилки записуються в спеціальне поле no-code бази даних, що полегшує їхню візуалізацію та подальше вирішення проблем. У разі виправлення помилки, пов'язаної з певним спікером та подією, інформація про помилку видаляється. Таким чином, вся команда має доступ до актуального статусу завдань і може оперативно реагувати на проблеми, що виникають.
- Поліпшення та перспективи
Наше рішення активно використовується командою, задля эффективного розпізнавання типів конфліктів вони налаштували собі також кастомізоване за допомогою no-code функцій Airtable колірне рішення. Це дозволяє швидко ідентифікувати та виправляти проблеми, що виникають, значно спрощуючи процес управління заходами та розкладом спікерів.
#4. Що допомогло розробити скрипт: корисні посилання
У процесі роботи над проєктом особливо цінними виявилися знання, пов'язані з роботою з об'єктами в Airtable та застосуванням методів JavaScript для перебору та фільтрації даних. Використання методів map та filter дозволило нам ефективно обробляти великі обсяги інформації, спрощуючи та прискорюючи роботу скрипту. Такий підхід демонструє міць програмування та автоматизації у вирішенні конкретних завдань управління та планування.
Для розробки та оптимізації нашого рішення ми спиралися на різні джерела інформації, включаючи документацію та навчальні матеріали з Airtable та JavaScript. Статті та посібники, такі як "Working with Objects", "Airtable Basics", та ресурси за методами JavaScript, виявилися неоціненними у процесі навчання та розробки нашого скрипту.
У самому редакторі AirTable є приклади коду об'єктів:
#5. Філософія вирішення проблем
Важливим аспектом нашого підходу до вирішення проблем є фокус на запобігання їх повторному виникненню. Ця філософія допомагає нам залишатися зосередженими на постійному покращенні процесів та систем, а також нагадує про те, що для будь-якої проблеми існує рішення.
Відлуння цієї думки знаходимо в словах Альберта Ейнштейна:
«Якби я мав лише одну годину, щоб врятувати світ, я б витратив п'ятдесят п'ять хвилин, щоб визначити проблему, і тільки п'ять хвилин, щоб знайти рішення».
Цей принцип нагадує нам про значення глибокого розуміння проблеми перед тим, як розпочинати її вирішення. Особливо коли ви намагаєтесь зрозуміти чи потрібен вам шлях до no-code, або до low-code, бо кожне невірне рішення - це ваш час.
ВИСНОВКИ
Підсумуємо, що у процесі роботи з проблемою перетинів у розкладі лекторів ми виявили, що стандартні інструменти не підходять для вирішення проблеми. Найбільш підходящим інструментом рішення виявилася платформа Airtable.
Щоб спростити роботу з заходами, що перетинаються, ми створили власний скрипт, який не тільки спростив роботу команди, але й виявився доступним для подальших поліпшень та може бути використаний на інших проєктах та продуктах наших клієнтів. зіткнулася з необхідністю знайти рішення, яке допомогло б мінімізувати ризики та оптимізувати процес планування виступів спікерів в EdTech компанії.
Ми виявили, що стандартні інструменти та методи управління не завжди здатні впоратися з поставленим завданням, особливо коли справа доходить до складності та динамічності змін у розкладі заходів. Це призвело до розробки власного рішення, заснованого на технології Airtable і low-code програмуванні на JavaScript.