docs(galaxy): retire alias/SystemPlatform model — Galaxy tags are standard equipment tags

This commit is contained in:
Joseph Doherty
2026-06-12 21:17:30 -04:00
parent 499c9b9165
commit 47cb5725a9
2 changed files with 41 additions and 73 deletions
+15 -44
View File
@@ -74,7 +74,7 @@ changed by editing the area's cluster in the Area modal, which moves the
whole branch. There is no separate "served-by" concept and no migration —
it is simply `UnsArea.ClusterId`.
### Tags vs. Galaxy / SystemPlatform tags
### Tags
Tags created on the equipment page are **equipment-bound** and require a driver
instance. The driver list on the Tags tab is scoped to the equipment's cluster
@@ -82,11 +82,11 @@ and to drivers on an **Equipment-kind** namespace, so a driver-less equipment
shows no eligible drivers until you bind one (edit the equipment on the Details
tab and pick a driver).
**Galaxy / AVEVA System Platform tags are not shown in this tree.** They hang
off the driver's folder path and are auto-materialised from the Galaxy
browse rather than being equipment-bound, so they stay on the **Drivers** tab
of their cluster (`/clusters/{id}/drivers`), where the address picker browses
the live Galaxy hierarchy.
**Galaxy / AVEVA System Platform points are ordinary equipment tags** bound to
a `GalaxyMxGateway` driver instance. Author them on the Tags tab using the
standard Tag modal; the Galaxy address picker browses the live Galaxy hierarchy
so you can select the attribute and set `TagConfig.FullName`. There is no
separate alias concept or `SystemPlatform`-kind namespace.
### Virtual tags
@@ -95,45 +95,16 @@ Add and edit virtual tags on the equipment page's **Virtual Tags** tab; the
data type is chosen from the standard OPC UA type list and the Monaco script
editor is available inline.
### Alias tags
### Galaxy tags
An **alias tag** surfaces a Galaxy attribute under a friendly UNS name without
requiring a Roslyn script. It is an ordinary equipment `Tag` bound to the
`GalaxyMxGateway` driver; the Galaxy reference is stored in `TagConfig` as
`{"FullName":"tag_name.AttributeName"}`. Because the value comes from a direct
driver subscription — not a script relay — quality and timestamp are native MX,
and there is no Roslyn overhead.
**Adding an alias:** on the equipment **Tags** tab, click **Add alias (browse
Galaxy)**. A live Galaxy browse picker opens; navigate to the attribute you
want. After selecting it, set the tag **Name**, **DataType**, and **AccessLevel**
(default: read-only; opt in to write-through at your own discretion — writes go
through the Galaxy driver's security). The button is disabled when the
equipment's cluster has no `GalaxyMxGateway` driver instance.
In the Tags list, alias tags show an **alias** badge and their Source as
`galaxy:<tag_name.AttributeName>`. There is no new entity type or schema
migration — the alias is just a `Tag` row with `DriverType = GalaxyMxGateway`
and the `FullName` field in its JSON config.
**Relay → alias converter:** if you have existing "relay" virtual tags whose
scripts are nothing but `return ctx.GetTag("X").Value;`, a converter can
rewrite them as alias tags automatically:
- **Per-equipment** — a toolbar action on the Tags tab opens a dry-run preview
(lists what will be converted and what will be skipped), then a confirm-apply
step.
- **Fleet-wide** — `/uns/convert-relays` (FleetAdmin-gated) runs the same
dry-run + apply across all equipment in the fleet.
The converter skips and reports items it cannot safely migrate:
- virtual tags whose body is not a pure single-value relay
- virtual tags that are historized
- equipment whose cluster has no Galaxy gateway
- relay references containing `{{equip}}` tokens that cannot be resolved
The converter edits the **draft config only** — deploy normally afterward to
activate the changes.
`GalaxyMxGateway` is an **Equipment-kind driver** — Galaxy points are ordinary
equipment tags authored through the standard Tag modal, exactly like Modbus or
S7 tags. The Galaxy reference is stored as `TagConfig.FullName`
(`tag_name.AttributeName`). The Galaxy address picker on the Tags tab lets you
browse the live Galaxy hierarchy to select an attribute; after selecting, set
the tag **Name**, **DataType**, and **AccessLevel** (default: read-only). There
is no alias concept, no `SystemPlatform`-kind namespace, and no relay→alias
converter.
## Bulk import