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
- Sidebar: a sidebar is available to monitor the status of the strategies' engine. Status can be: