Strategy
Summary
A Strategy is a workflow made of blocks that can be executed to automate every task such as:
Add and set components to create or enhance logic
Set parameters
Create px views
Add some widgets in views
Invoke actions
Process alarms
Process histories
...
A strategy is triggered based on changes in the model and a source (a component that contains an InfoSource). When you create/edit/delete a Node, one or more strategies can be executed to automate some tasks (create a view on a building for example).
Strategies can also be used in a macro style to handle repetitive operations when you record a set of operations and replay the sequence on other targets (organize a wiresheet, create logics inside devices already deployed...)
Implementation
Drag and drop a strategy from the palette or create a new one via the manager on the strategies folder (BtibService > StrategyFolder)
Some details about the components always present in a strategy
LogExt: Used to override the strategies folder LogExt (that will be used by default for all strategies)
Trigger: To define the strategy execution (automatically, at regular intervals, manually...)
Start: The first block of the process. Other blocks should be added after this one. Only one Start block is allowed
End: The last block of the process. Every chain of blocks should be linked to this block to be executed. Only one End block is allowed
Properties
Enabled: Enables or disables the strategy.
CreatesTraces: Enables or disables the creation of traces. Traces are used in some block to undo the done task.
Creation
Trigger Choose the trigger according to your needs:
AutomaticTrigger: to execute automatically strategies on Node and InfoSource's actions (initialize, disable and clean)
MacroTrigger: to execute macros manually from a selection. This trigger is actually automatically added when a macro is recorded.
Blocks Every block has one action and one topic:
The "executed" topic should be linked to one or more "execute" actions to create a workflow. Blocks will be executed in the blocks order
All chains have to be linked from Start to End
Undo
Some blocks have the possibility to undo the task previously done (in the documentation, those blocks have a "Behavior: UNDO" section)
The Undo in a block will be triggered if:
the selection is changed
the strategy is disabled or removed
the link going from the executed slot in the start block is removed and the strategy is triggered
an if block is added before the block
Common issues
My strategy is not executed after an initialization of a node or InfoSource
Trigger: ensure that an automatic trigger is linked to the start block
Selection: ensure that the selection is active and selects the targeted node or InfoSource
Logs: logs can be checked (Workbench > Logs Console) to see errors
Cache: some caches can be manually refreshed
Selection: BtibService > SelectionFolder > inoke action "RefreshCache"
Strategy: BtibService > StrategyFolder > invoke action "RefreshCache"
My block has not been executed
Execute/Executed: ensure that executed topic from previous block is linked to execute of your block
Start/End: ensure that the flow including your block is correctly linked to start and end
Logs: you can check through logs if your block has actually been executed or not
My block doesn't work as expected
I don't know if my strategy is still running
Sidebar: a sidebar is available to monitor the status of the strategies' engine. Status can be:
Idle: all the strategies have been executed
Running: some strategies are still processing
Sidebar can be displayed via Workbench > Window > Side Bars > Monitor