Tab the PC detail page and add panel groups to the ADR-010 contract
This commit is contained in:
@@ -370,8 +370,23 @@ class BasePlugin(ABC):
|
||||
# ('list' takes a 'map' of title/badge/meta
|
||||
# keys, rendered generically - see warranty)
|
||||
'position': int, # order among panels
|
||||
'group': str, # OPTIONAL. Which tab on the detail page:
|
||||
# 'details' | 'software' | 'metrics'
|
||||
# | 'actions' | 'activity'. Omitted means
|
||||
# 'details'.
|
||||
}
|
||||
|
||||
ON 'group'. The detail pages are tabbed, and a panel says which tab it
|
||||
belongs to rather than the page listing panels by id - a page that knew
|
||||
its plugins' panels by name would defeat the point of the hook.
|
||||
|
||||
Omitting it is the correct answer for most panels and keeps every
|
||||
existing plugin working untouched: an unknown or absent group resolves
|
||||
to 'details', which is the tab that holds what an asset IS. Reach for
|
||||
another group only when the panel is the thing that tab exists for -
|
||||
an inventory listing, live telemetry, controls that act on the machine,
|
||||
or a history feed.
|
||||
|
||||
Consumed by GET /api/pluginui/asset-panels?assetid=<id>, which returns
|
||||
the panels matching that asset's type. Disabled plugins
|
||||
are skipped; a broken plugin is isolated in prod, re-raised in dev/test.
|
||||
|
||||
Reference in New Issue
Block a user