Клиентский коннектор
Коннектор клиента можно установить на любом клиентском компьютере, которому требуется доступ к «раскрывающемуся списку» распространения файлов Pitram (т.е. синхронизированной папке). Как правило, производится множество установок клиентских коннекторов на мобильных устройствах и на офисных компьютерах, которые будут распространять файлы на другие устройства. Коннектор клиента использует одно TCP-соединение для подключения к серверу PFDS. Он не подключается ни к каким другим службам Pitram.
Коннектор клиента работает как приложение запуска. Если служба установлена на настольном или мобильном компьютере, на панели задач отображается специальный значок.
Статус
Значок в панели задач указывает на состояние коннектора. Это состояние также можно увидеть, наведя указатель мыши на значок, отобразив подсказку.
![]() |
Соединение установлено |
![]() |
Приостановлено |
![]() |
Синхронизация файлов |
![]() |
Отключено от сервера |
Если значок в панели задач не отображается, коннектор клиента не работает.
Запуск коннектора клиента
Коннектор клиента запускается автоматически при запуске Windows. В более новых версиях Windows (версии 8 и более поздних) коннектор можно включать и отключать в диспетчере задач. В более старых версиях Windows коннектор запускается с помощью команды msconfig из командной строки.
Нажав на значок в панели задач, вы получите следующие опции:
- Приостановить (Пауза) - прекращает синхронизацию после завершения любой текущей операции синхронизации. Файлы, добавленные в корневую папку синхронизации во время паузы, не будут синхронизироваться до тех пор, пока не будет возобновлена работа коннектора распространения файлов Pitram.
- Возобновить - отображается только в режиме паузы, возобновляет работу коннектора распространения файлов Pitram.
- О коннекторе - показывает номер версии коннектора распространения файлов Pitram.
- Выход - выход из коннектора распределения файлов Pitram.
Клиентский коннектор будет работать на всех компьютерах, которые хотят синхронизировать файлы. Он связывается с сервером через одно TCP-соединение (см. конфигурацию ниже) и требует, чтобы пользователь, выполняющий его, имел:
- Доступ к порту для связи с сервером (по умолчанию 830)
- Полный доступ для чтения / записи к расположению(-ям) корневой папки для синхронизации файлов
- Доступ к журналу событий для регистрации (права должны быть выданы установщиком)
- Доступ к файлу конфигурации PFDCConfiguration.xml (см. ниже)
- Для настройки Mobile - доступ к другим параметрам конфигурации:
Параметры реестра HKLM\SOFTWARE\Micromine Pty Ltd\Pitram\AppDataConfiguration и
MachineGlobalSettings.xml
Подробнее об этом ниже.
Конфигурация коннектора
В процессе установки создается и настраивается следующий файл:
Имя файла: PFDCConfiguration.xml
Этот файл конфигурации находится в папке <appdata>Micromine\PITRAM\Configuration\Machine
Поля конфигурации
Имя поля | Значение для примера | Описание |
---|---|---|
FileDistributionServer | MM-SRV123 | Адрес (Id для IP) сервера распространения файлов |
FileDistributionServerPort | 830 | Коммуникационный порт сервера распространения файлов. 830 является значением по умолчанию и никогда не должно меняться |
RuntimeInfoEndpointServer | + | Используемый адрес узла службы времени выполнения (чтобы открыть службу) |
RuntimeInfoEndpointServerPort | 831 | Порт времени выполнения |
TraceLevel | ВЫКЛ | Нет отслеживания |
Подробно (Verbose) | Предоставить подробную информацию о трассировке и диагностике. | |
Информация | Предоставить информацию трассировки для системных сообщений, предупреждений и ошибок. | |
Предупреждение | Предоставить информацию трассировки для предупреждений и ошибок. | |
Ошибка | Предоставить информацию трассировки для ошибок. | |
Culture | en-AU | Язык и региональные параметры |
RemoteBoxConfigMode | Рабочий стол | Режим «Рабочий стол» для запуска службы. |
Mobile | Режим "Mobile" для запуска службы. | |
RemoteBoxes (config section) | Список RemoteBoxes | |
RemoteBoxConfiguration (config section) | Набор свойств, которые интерпретируются в зависимости от RemoteBoxConfigMode | |
RootSyncFolder | C:\data | A root folder location for synchronised file. Служба должна иметь полный доступ для чтения / записи. |
RemoteBoxId | Carlson* | «Адрес» для периферийного блока. Как это интерпретировать, зависит от значения RemoteBoxConfigMode и объясняется ниже под подзаголовком:RemoteBoxId |
IsPrimaryBox | true | Определяет, является ли данный экземпляр периферийного блока основной целью. Основная цель означает, что обычно это цель для файла, как на мобильном устройстве |
UpdateLocationUrl | http://server.com/pfd ftp://server.com/pfd/updates/ \\network-server\pfdupdates\ |
Получает или задает сетевое расположение обновлений для приложения. Можно указать любое местоположение UNC, HTTP или FTP. Если оставить это поле пустым, клиентский коннектор не будет проверять наличие обновлений. |
CheckForUpdateSeconds | 600 | Количество секунд для опроса UpdateLocationUrl, чтобы проверить наличие новых обновлений. Смотрите: Обновления AppLife |
UpdateDownloadPath | C:\Updates\PFD | Путь к локальному файлу для загрузки обновлений. После того как обновления будут загружены, они будут применены только при повторном запуске клиентского коннектора. |
Режим конфигурации
Файл конфигурации будет выглядеть совершенно по-разному, в зависимости от того, работает ли эта служба на мобильном устройстве (целевой файл) или на настольном офисном компьютере, обычно производящем файлы для отправки на мобильное устройство (мы называем это режим Рабочего стола). В зависимости от этой конфигурации служба будет иметь два разных поведения и настройки "RemoteBoxes". Однако после настройки RemoteBox поведение синхронизации будет одинаковым как для настольного компьютера, так и для мобильного клиента (за исключением того, что с точки зрения внутренней структуры мобильный клиент получит одно дополнительное подтверждение «результата»).
Как обсуждалось выше, имеется два режима конфигурации:
- Рабочий стол
- Mobile
Режим конфигурации рабочего стола
Этот режим предназначен для настольного компьютера, который обычно передает файлы на многие мобильные устройства, поэтому здесь будет много "Периферийных блоков". Другими словами, у него будет папка наблюдения для каждого мобильного устройства, на котором работает клиентский коннектор PFDS. Эти периферийный блоки являются обнаруживаемыми, т.е. как только корневая папка наблюдения будет настроена, служба в «режиме рабочего стола» создаст папку наблюдения для каждого мобильного устройства, подключенного к серверу распространения файлов. Для этого клиентский коннектор запрашивает у сервера всех клиентов, которые были синхронизированы за последние 7 дней. Для этого сервер запросит таблицу базы данных RemoteBoxSyncRegister и вернет все записи, соответствующие следующим критериям:
- Значение IsPrimaryBox установлен на 1
- LastSyncTImeUtc - в течение последних 7 дней
Это значение в настоящее время не настраивается (установлено до 7 дней). Если клиент находится оффлайн дольше, как только он вернется в оперативный режим, блок будет снова добавлен в список (клиент постоянно ищет обновленный список, поэтому он также может отследить любых новых клиентов, подключенных к сети).
Ниже приведен пример режима Рабочего стола, который обсуждается далее:
Тег <RemoteBoxConfigMode> устанавливается на Рабочий стол.
Далее обратите внимание на RemoteBox, там может быть несколько разделов <RemoteBoxConfiguration>. Каждый из них может указывать на совершенно другую корневую папку для различного набора периферийных блоков (см. ниже). Для Carlson существует только одна конфигурация RemoteBoxConfiguration, однако этот пример показывает, что возможно иметь более одной конфигурации.
Пример конфигурации клиентского коннектора, настроенной в режиме Рабочего стола
<?xml version="1.0"?> <Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <FileDistributionServer>MM00851</FileDistributionServer> <FileDistributionServerPort>830</FileDistributionServerPort> <RuntimeInfoEndpointServer>http://+</RuntimeInfoEndpointServer> <RuntimeInfoEndpointServerPort>831</RuntimeInfoEndpointServerPort> <TraceLevel>Verbose</TraceLevel> <Culture>en-AU</Culture> <RemoteBoxConfigMode>Desktop</RemoteBoxConfigMode> <RemoteBoxes> <RemoteBoxConfiguration> <RootSyncFolder>h:\00\pfd</RootSyncFolder> <RemoteBoxId>carlson*</RemoteBoxId> <IsPrimaryBox>false</IsPrimaryBox> </RemoteBoxConfiguration> <RemoteBoxConfiguration> <RootSyncFolder>h:\00\pfd</RootSyncFolder> <RemoteBoxId>health*</RemoteBoxId> <IsPrimaryBox>false</IsPrimaryBox> </RemoteBoxConfiguration> </RemoteBoxes> </Configuration>
Давайте рассмотрим конфигурацию Desktop RemoteBox, которую мы будем использовать для Carlson:
<RemoteBoxConfiguration> <RootSyncFolder>h:\00\pfd</RootSyncFolder> <RemoteBoxId>carlson*</RemoteBoxId> <IsPrimaryBox>false</IsPrimaryBox> </RemoteBoxConfiguration>
RemoteBoxId
В режиме Рабочего стола клиентский коннектор автоматически создаст отдельную папку просмотра для всех других мобильных устройств, использующих систему, т.е. для любого устройства, у которого IsPrimaryBox имеет значение 1 и И соответствует регулярному выражению, установленному в RemoteBoxId (см. раздел Конфигурация коннектора Клиента). Клиент рабочего стола затем создаст подпапку в RootSyncFolder, используя каждый RemoteBoxId в качестве имени подпапки.
Итак, если у нас есть два мобильных устройства с RemoteIds, carlson1, carlson2, мы получим следующие папки:
Поэтому, как объясняется в разделе Режим конфигурации Mobile ниже, для получения соответствующей структуры папок для идентификаторов периферийных блоков можно использовать такую схему, как carlson\<equipment code>. Поскольку имеется разделитель пути, клиент рабочего стола будет создавать вложенные подпапки по мере необходимости.
Например:
Имеется два станка, Drill01, Drill 02, и у них есть RemoteboxIds carlson\Drill01 и carlson\Drill02, в Настольном клиенте будут созданы следующие папки:
Этот способ определения идентификаторов RemoteBox обеспечивает полную гибкость при создании папок и вложенных папок на настольном клиенте.
Например:
Если папки назывались <equipment code>\carlson, , то RemoteBoxIds можно было бы определить с помощью *\carlson.
Режим конфигурации Mobile
Помимо использования файла конфигурации PFD PFDCConfiguration.xml, мобильному устройству также потребуется получать информацию из двух других мест:
Папка с данными | Как и в случае с Pitram Mobile, папка данных для клиентского коннектора PFDS может не находиться в расположении Windows по умолчанию. Ранее заданный в файле AppDataConfiguration.xml Pitram Mobile, этот параметр теперь перемещен в глобальное расположение, к которому могут обращаться как Pitram Mobile, так и PFDS. При последующих установках этот параметр будет записан в реестр по адресу: HKLM\SOFTWARE\Micromine\Pitram\AppDataConfiguration. |
Код оборудования мобильного устройства | Ранее этот параметр также был определен в файле конфигурации для Pitram Mobile: MobileSettingsConfiguration.xml, но теперь он перемещен в глобально доступный файл: MachineGlobalSettings.xml (который существует вместе с другими файлами конфигурации Pitram в той же папке компьютерных данных). |
Ниже приведен пример настройки файла PFDCConfiguration.xml для мобильного устройства:
<RemoteBoxConfigMode>Mobile</RemoteBoxConfigMode> <RemoteBoxes> <RemoteBoxConfiguration> <RootSyncFolder>C:\Data</RootSyncFolder> <RemoteBoxId>carlson\@#equipment@</RemoteBoxId> <IsPrimaryBox>true</IsPrimaryBox> </RemoteBoxConfiguration> </RemoteBoxes>
Еще раз, существует несколько разделов RemoteBoxConfiguration (например, можно добавить еще один для Состояния). Обратите внимание на следующие отличия от примера, показанного для настольного клиента:
- <RemoteBoxConfigMode> теперь установлен на Mobile
- <RemoteBoxId> использует «переменную конфигурации» @#equipment@ (см. ниже)
- <IsPrimaryBox> имеет значение True
Переменные конфигурации
В настройках рабочего стола RemoteBoxId использовался для получения имени оборудования. Эти названия оборудования (коды) устанавливаются на мобильных устройствах с помощью «переменных конфигурации». Их форма:
@#<имя переменной>@
Другими словами, они имеют префикс '@#' и суффикс '@'. Эти переменные позволяют нам использовать «заполнители» в RemoteBoxId.
В настоящее время поддерживается только переменная Equipment: @#equipment@.
Клиентский коннектор PFDS прочтет вышеизложенное, и когда он увидит переменную @#equipment@, он найдет значение в файле MachineGlobalSettings.xml.
Например, учитывая следующее:
<?xml version="1.0"?> <MachineGlobalSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EquipmentCode>Drill01</EquipmentCode> </MachineGlobalSettings>
Идентификатор периферийного блока для этого устройства станет carlson\Drill01. Этот формат позволит службе Рабочий стол использовать RemoteBoxId в качестве пути к своим подпапкам.
Обновления AppLife
Обзор
Клиентский коннектор распространения файлов Pitram может автоматически обновлять себя, загружая обновления с сервера.
Конфигурация
Обновление конфигурации указывается в файле PFDCConfiguration.xml и первоначально устанавливается на шаге 4. Автоматическое обновление установщика клиентского коннектора. Смотрите раздел Конфигурация коннектора Клиента.
Допуски
Для пользователя, использующего коннектор клиента (в частности, FileDistributionConnectorTray.exe), требуются права локального администратора для автоматических обновлений, в противном случае обновления не будут применяться, хотя клиентский коннектор по-прежнему будет работать. Если у пользователя есть права локального администратора, он может получить приглашение UAC при запуске клиентского коннектора (что обычно происходит при входе пользователя в систему), на которое он должен ответить «Да», тогда обновления будут работать.
Если UAC выключен, как это обычно происходит на мобильных устройствах, приглашение UAC не будет отображаться, поэтому пользователю не нужно отвечать (и если у него есть локальные права администратора, обновления будут работать).
В целом: права локального администратора требуются для обновлений.
Применение обновлений
Пакеты обновлений AppLife помещаются на сервер (файл .ZIP и обновленный файл Director.xml), доступный по указанному UpdateLocationUrl на клиентах. Клиенты будут автоматически загружать обновления и применять их при следующем запуске.