Project

General

Profile

Настройка структуры данных отправляемых в SAYMON

Настройка параметров узлов SAYMON и преобразования структуры данных осуществляется с помощью файла конфигурации, находящийся по адресу "%DJinDir%/PluginConfigs/SaymonConfig/IntegrationConfig.json". Данный файл не предполагает редактирования конечным пользователем.

Пример конфигурации:

{
  "Configs": {
    "\\DJin\\players": { "ClassId": 21, "SendInterval": 5 },
    "\\DJin\\players\\*": {
      "ClassId": 21,
      "SortPropName": "name",
      "SortDesc": false
    },
    "\\DJin\\players\\*\\player_elems": { "ClassId": 21 },
    "\\DJin\\connects": { "ClassId": 21, "SendInterval": 5 },
    "\\DDB\\connects\\*": { "ClassId": 21 }
  },
  "Maps": {
    "\\playback\\players": {
      "Type": 1,
      "DstPath": "\\DJin\\players",
      "PropName": "player"
    },
    "\\playback\\player_elems": {
      "Type": 2,
      "DstPath": "\\DJin\\players",
      "PropName": "player",
      "ChildClassName": "player_elems"
    },
    "\\playback": { "Type": 3 },
    "\\ddb\\connects": {
      "Type": 1,
      "DstPath": "\\DDB\\connects",
      "PropName": "name"
    },
    "\\ddb": { "Type": 3 },
    "\\ddb\\common": { "Type": 3 }
  }
}
 
 

Конфигурация узлов в SAYMON

Словарь Configs файла IntegrationConfig.json позволяет определить специфичные параметры для узлов в SAYMON. Ключом словаря Configs является адрес узла SAYMON, значение определяет параметры узла SAYMON.

Путь может содержать символы '*' для указания обобщенного пути. Например, "\\DJin\\players" задаёт параметры для одного узла "players", "\\DJin\\players\\*" задаёт параметры для всех детей узла "players", "\\DJin\\players\\*\\player_elems" задает параметры для узла "player_elems" у всех детей "players". 

Для узлов можно задать следующие параметры:

  • ClassId (string) - идентификатор класса SAYMON, с которым будет создан узел SAYMON. По умолчанию берётся из настроек плагина.
  • SendInterval (int) - интервал отправки данных в SAYMON в секундах. По умолчанию 10 секунд.
  • SortPropName (string) - имя колонки для сортировки данных. По умолчанию без сортировки.
  • SortDesc (bool) - сортировка по убыванию. По умолчанию выключена (false).
 
 

Настройка преобразования данных WMI для SAYMON

По умолчанию, плагин интеграции с SAYMON отправляет данные на сервер со структурой, аналогичной структуре данных WMI интеграции. Это не всегда приемлемо с точки зрения логики обработки данных в SAYMON. Словарь Maps файла IntegrationConfig.json позволяет преобразовать данные для SAYMON для определённых узлов. Ключом словаря Maps является адрес узла WMI, значение определяет параметры преобразования.

 

Реализованы следующий типы преобразования узлов:

Normal ("Type": 0). Позволяет отобразить узел WMI в SAYMON по другому адресу.

Требуемые параметры:

  • DstPath - новый адрес узла в SAYMON

MapToProps (Type": 1)  Позволяет развернуть узел-таблицу WMI по значению его свойства, как ключу. 

Например, WMI узел-таблица '\playback\players' разворачивается на узлы '\players\НАЗВАНИЕ_ПЛЕЕРА', где в объекте 'НАЗВАНИЕ_ПЛЕЕРА' буду данные о плеере (строчка из таблицы WMI). 

Требуемые параметры:

  • DstPath - адрес корневого узла в SAYMON
  • PropName - название колонки в узле-таблице WMI

MapToItems (Type": 2) Позволяет развернуть узел-таблицу WMI по значению PropName с дочерним элементом. 

Например, WMI узел-таблица '\playback\player_elems' разворачивается в '\players\НАЗВАНИЕ_ПЛЕЕРА\player_elems'. В узел 'player_elems' буду записываться данные о проигрываемых элементах (строчка из таблицы WMI).

Требуемые параметры:

  • DstPath - адрес корневого узла в SAYMON,
  • PropName - название колонки в WMI узле (фактически название первого дочернего узла) 
  • ChildClassName - название второго дочернего узла (статическое)

Skip ("Type": 3) Позволяет скрыть узел WMI в SAYMON

 

 
 
 
 
 

Add picture from clipboard (Maximum size: 742 MB)