Совместная разработка: блокировка атласа

Приветствую. На больших проектах бывает такое, что один и тот же атлас могут одновременно или последовательно править несколько человек.
Но Люкс одновременные правки не прощает. И правки остаются только того, кто был последним (Кто последний - тот и папа).

Предложение: разработать механизм блокировки атласа.

  1. Если пользователь нажимает гаечный ключ, то атлас блокируется для других пользователей.
  2. Как только пользователь нажимает кнопку “Сохранить”, то атлас разблокируется.
  3. Для флага установить время жизни (задаётся где-нибудь в настройках). На случай обрыва связи. Чтобы не было случаев, когда атлас заблокировали и пропали… (пропал интернет/свет/сам пользователь). По прошествии времени атлас автоматически разблокируется. Установить по умолчанию 10 минут. Время отсчёта автоматически обновлять по факту внесения пользователем настроек через Эдитор или нажатий кнопок “Apply” в JSON-конфиге. То есть сделал действие - таймер сбросился и опять пошли тикать 10 минут.
  4. Если иной пользователь также входит в редактирование атласа, но при этом его кто-то редактирует, то для этого иного выдаётся сообщение: Атлас заблокирован пользователем Ivan.Ivanov в 18.09.2024 14:20
  5. Для иного пользователя доступен просмотр параметров и JSON-конфигов, но исключительно в режиме read onlyю Кнопки “Сохранить” и “Apply” не доступны