Открытие файлов/каталогов с помощью клиента

Общая формулировка требования: клиент должен предоставлять возможность открыть файл в ассоциированном с данным типом файла приложении. Если пользователь изменяет файл во внешнем приложении на сервере должна быть сохранена новая версия файла.

Так как множество программ для Windows и Linux не имеют поддержки открытия и сохранения документов через сеть, то реализация этого требования должна быть осуществлена таким образом, что приложение, редактирующее файл из Arta Synergy, работало своим штатным способом — открытием файла с диска. Следовательно, требуется реализация следующей схемы работы открытия файлов:

  1. Пользователь выполняет действие «Открытие» в клиенте Synergy («Файл → Открыть»).

  2. Клиент загружает (операция копирования) нужный файл с сервера Synergy во временный каталог и запускает приложение, ассоциированное в ОС с данным mime-типом либо расширением файла. Клиент отслеживает состояние процесса приложения и наличие изменений в открытом временном файле.

  3. При получении сигнала об изменении файла (инициированное, например, нажатием кнопки «Сохранить» в редактирующем приложении) на сервер Synergy отправляется новая версия этого файла.

  4. При получении сигнала о прекращении работы редактирующего приложения мониторинг изменений прекращается.

Открытие каталогов возможно как по выделению элемента в дерева каталогов, так и по двойному нажатию по папке в основной рабочей области.

Возможные исключительные ситуации: