Видимое и действительное дерево контекстов
Данный раздел посвящен объяснению различия между видимым Деревом контекстов и серверным Деревом контекстов.
Необходимо знать, что структура дерева контекстов, видимого в Системном дереве и подобных компонентах (таких как Селектор объектов) не совпадает полностью со структурой дерева контекстов AggreGate Server. Для удобства пользования, узлы, которые относятся к одному серверному контексту, могут появиться в двух, трех и более местах Системного дерева.
Например, один контекст устройства, представляющий аппаратное устройство, может появиться одновременно:
Под узлом Устройства, объединяющим все устройства в системе (контекстный путь — просто
devices)Под узлом Устройства, показывающим устройства активного пользователя (контекстный путь —
users.<username>.devices), где<username>— имя пользователя владельца устройства.И под одним или несколькими узлами Группа устройств (контекстный путь —
users.<username>.devgroups.<group1>)

На приведенном выше рисунке, узлы, на которые указывают стрелки, относятся к одному серверному контексту. При наведении курсора мыши на узел Системного дерева, появится всплывающая подсказка, в которой указан его абсолютный серверный путь:

Данное различие может стать причиной неожиданных результатов при проверке путей контекстов, видимых в дереве. Например, дерево может включать в себя контекст Устройство ABC, который расположен в Корень > Устройства. Однако, настоящий серверный путь к данному контексту является users.Owner_Name.devices.deviceABC, где Owner_Name - пользователь AggreGate Server, которому принадлежит устройство. Серверный контекст Устройства не имеет действительных потомков, т.к. он является так называемым отображенным контекстом.
![]() | На контексты можно ссылаться только напрямую по их абсолютному пути. Например, аргумент Пример: предположим, что пользователь-администратор создал виртуальное устройство «virtual» и добавил его в группу устройств «genericGroup». В этом случае при ссылке на контекст virtual обратите внимание на следующее:
|
Пути контейнеров
Неопытные пользователи AggreGate иногда путают "действительные" и "отображаемые" контексты контейнеров.
Большинство контекстов в корне системного дерева отображаемые. Например, если вы наведете мышку на узел Устройства, вы увидите, что его путь контекста - это devices:

Если вы развернете этот узел и проверите путь контекста устройства, расположенного прямо под ним, вы увидите, что его путь users.admin.devices.virtual:

Это означает, что действительный контейнер нашего устройства под названием virtual - это users.admin.devices. Он принадлежит пользователю системы с именем admin. Мы можем найти этот действительный контейнер, пройдя путь Users => admin (Administrator) => Devices:

![]() | Большинство контекстов контейнеров в корне видимого системного дерева отображаемые, т.е. узел Однако контексты групп, расположенные в контекстах этих контейнеров, не отображаемые, т.е. узел |
Was this page helpful?
