Общая формулировка требования: клиент должен предоставлять возможность открыть файл в ассоциированном с данным типом файла приложении. Если пользователь изменяет файл во внешнем приложении на сервере должна быть сохранена новая версия файла.
Так как множество программ для Windows и Linux не имеют поддержки открытия и сохранения документов через сеть, то реализация этого требования должна быть осуществлена таким образом, что приложение, редактирующее файл из Arta Synergy, работало своим штатным способом — открытием файла с диска. Следовательно, требуется реализация следующей схемы работы открытия файлов:
Пользователь выполняет действие «Открытие» в клиенте Synergy («Файл → Открыть»).
Клиент загружает (операция копирования) нужный файл с сервера Synergy во временный каталог и запускает приложение, ассоциированное в ОС с данным mime-типом либо расширением файла. Клиент отслеживает состояние процесса приложения и наличие изменений в открытом временном файле.
При получении сигнала об изменении файла (инициированное, например, нажатием кнопки «Сохранить» в редактирующем приложении) на сервер Synergy отправляется новая версия этого файла.
При получении сигнала о прекращении работы редактирующего приложения мониторинг изменений прекращается.
Открытие каталогов возможно как по выделению элемента в дерева каталогов, так и по двойному нажатию по папке в основной рабочей области.
Возможные исключительные ситуации:
Нет доступа к открываемой папке — ошибки не выдаются, содержимое каталога для авторизованного пользователя - пусто.