Category: знаменитости

Category was added automatically. Read all entries about "знаменитости".

Один проект/блок сценариев и два режима

Где-то ранее я говоил, что мой проект поддерживает несколько режимов подключения клиента.
Среди них есть режим прямого подключения через контроллер и облачный режим.

В режиме прямого подключения через контроллер можно редактировать как сам проект, так и сценарии.
Однако, понятно, что одновременно есть проект в облаке, который также можно редактировать(в том числе и его сценарии).
И возможно мы одновременно имеем два клиента, которые находятся в разных режимах одновременно и имеют отношение к одному и тому же контроллеру.



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

Аналгичное действо будет происходить и для сценариев. Баста.