Оновлення 3.21
Версія: 3.21
Потрібна версія: 3.12 і вище
Кілька слів від автора
- Виконано архітектурний перехід від числових ідентифікаторів об'єктів (ID) до рядкових ідентифікаторів (UUID). Для багатьох типів об'єктів старий ID залишився для зручності (наприклад, "Завдання №7562" зручніше, ніж "Завдання №ae4ae420-7643-4572-a752-9ecfdbeca371"). Усередині бази та ядра прив'язка тепер виконується за UUID. Крім іншого, це дає можливість пізніше зробити наступний крок: за потреби об'єднати кілька систем в одну. Дуже важливо: оскільки така міграція ID/UUID зачіпає практично всю базу (і часто неодноразово), після завершення оновлення потрібно виконати FULL VACUUM. Без цього кроку система працюватиме дуже повільно. Також слід врахувати, що на великій базі оновлення/міграція може тривати години.
- Проведено глибокий рефакторинг та оновлення UI/UX. Окрему "мобільну версію" як таку вилучено, а акцент зроблено на зручному вигляді на мобільних пристроях.
- У схемі комутації перероблено механіку: відображення пришвидшено у 2-10 разів, а комутація у схемі більше не перезавантажує сторінку. Також нагадаємо, що доступні гарячі клавіші, які ще більше пришвидшують роботу.
- З'явилася/перероблена/задокументована подієва система Internal API v2. Версія v1 (custom_api.php) поки підтримується, але поступово переходьте на v2.
- Оновлення. Рекомендую мати два інстанси системи: окремо робочий і окремо тестовий. На тестовому інстансі ви можете періодично оновлювати базу даних із робочої системи та виконувати оновлення, переконуючись, що все працює, ознайомитися з нововведеннями або виявити моменти, які у вас перестали працювати.
- Наша група в Telegram для взаємного спілкування клієнтів між собою: https://t.me/usersideeu і канал для новин: https://t.me/userside
Особливості проведення оновлення
- Якщо ви оновлюєтеся з версії 3.10, ознайомтеся зі сторінкою: Оновлення 3.11
- Якщо ви оновлюєтеся з версії 3.11 і раніше, ознайомтеся зі сторінкою: Оновлення 3.12
- Якщо ви оновлюєтеся з версії 3.12 і раніше, ознайомтеся зі сторінкою: Оновлення 3.13
- Якщо ви оновлюєтеся з версії 3.13 і раніше, ознайомтеся зі сторінкою: Оновлення 3.14
- Якщо ви оновлюєтеся з версії 3.14 і раніше, ознайомтеся зі сторінкою: Оновлення 3.15
- Якщо ви оновлюєтеся з версії 3.15 і раніше, ознайомтеся зі сторінкою: Оновлення 3.16
- Якщо ви оновлюєтеся з версії 3.16 і раніше, ознайомтеся зі сторінкою: Оновлення 3.17
- Якщо ви оновлюєтеся з версії 3.17 і раніше, ознайомтеся зі сторінкою: Оновлення 3.18
- Якщо ви оновлюєтеся з версії 3.18 і раніше, ознайомтеся зі сторінкою: Оновлення 3.19
- Якщо ви оновлюєтеся з версії 3.19 і раніше, ознайомтеся зі сторінкою: Оновлення 3.20
- Якщо ви використовуєте кастомізацію, перенесіть файли за новим шляхом.
- Перенесіть/видаліть сторонні файли, каталоги та інше з директорії userside. Там мають бути лише дистрибутивні файли самої системи та файли, які система створює під час своєї роботи. Модулі userside (usm) також не повинні там зберігатися. Використовуйте для них окремі каталоги, наприклад `/opt/userside`. Сторонні файли з директорії userside можуть бути видалені під час оновлення.
- Версія 3.21 потребує PHP 8.4. Інші вимоги залишаються такими самими, як для версії 3.20.
- За допомогою автоматичного інсталятора виконайте оновлення:
curl -fsSL https://my.userside.eu/install.sh | sudo -u www-data bash sudo -u www-data ./installer install
- Обов'язково виконайте VACUUM FULL + ANALYZE після оновлення:
sudo -u postgres vacuumdb --full --analyze userside
або ту саму операцію через SQL-запит:
sudo -u postgres psql -d userside -c "vacuum full analyze"
- Не забудьте оновити всі модулі до їхніх свіжих версій.
- Частина збережених користувацьких фільтрів може скинутися (у списку абонентів, завдань тощо), оскільки змінилися ID/UUID і значно розширилися можливості фільтрації. Їх потрібно буде налаштувати заново.
- Тепер усі API-запити на запис/зміну даних виконуються через POST. За потреби доопрацюйте свої скрипти.
Список змін: переглянути
Проведення оновлення: інструкція