Visible and Real Context Trees
This section covers the difference between visible and real context tree.
It is very important to know that structure of context tree visible in the System Tree and similar components (such as Entity Selector) does not exactly match real structure of Iotellect Server context tree. For user convenience, nodes corresponding to a single server-side context may appear in two, three or even more locations of the System Tree.
For example, a single Device Context representing hardware device may simultaneously appear:
Under Devices node combining all Devices in the system (those context path is just
devices
)Under Devices node showing Devices of the active user (those context path is
users.<username>.devices
) where<username>
is the username of the device owner.And under one or more Device Group nodes (with context path like
users.<username>.devgroups.<group1>
)

The nodes indicated by arrows in the above picture all correspond to a single server-side context. Its absolute server path may be found out by holding mouse over System Tree node and checking its tooltip:

This difference may cause unexpected results when checking paths of contexts visible in the tree. Here is an example: the tree may show a Device ABC context under Root > Devices. However, the real server path of this context is users.Owner_Name.devices.deviceABC
where Owner_Name
is the Iotellect Server user owning the device. The server-side Devices context has no real children at all, as it is a so-called aggregation context.
![]() | Contexts may only be referenced directly by their absolute path. For example, the Example: Suppose the admin user has created a virtual device “virtual” and added the device to the device group “genericGroup”. In this case, note the following when referencing the virtual context:
|
Container Paths
Inexperienced Iotellect users sometimes mix "real" container contexts and the above aggregation contexts.
Most contexts in the root of System Tree are aggregation contexts. For example, if we hover a mouse over Devices node, we'll see that its context path is devices
:

If we expand this node and check a path of device context located right under it, we'll see that its path is users.admin.devices.virtual
:

It actually means that the real container of our device named virtual
is users.admin.devices
. It belongs to a system user called admin
. We can find this real container by going to Users => admin (Administrator) => Devices
:

![]() | Most container contexts in the root of visible system tree are aggregation contexts, e.g. However, Groups contexts located under container contexts are not aggregation contexts, e.g. |
Was this page helpful?