Draft: Feature/skill memory gui
Merge request for @usnlf_albrecht
Todos: SkillExecutions TreeView:
-
Add context menu to skill executions (all elements of treeView) -
Context menu should have button to abort the execution of a skill ("Abort skill") if the skill is executing -
Context menu should have button to re-execute skill with similar parameters
-
-
Change "isConstructing", "isInitializing", ... to one column with current phase stringified -
Perhaps limit shown skills - Memory doesn't limit execution statuses anymore; limit to last hour or so
-
Sort skills according to their executor
SkillMemory TreeView:
-
implement search function
Other:
-
Profiles (needs further clarification/specification)
Optional/Ideas:
-
Context menu should have button to delete execution entry (see comment)
Merge request reports
Activity
requested review from @peller
assigned to @usnlf_albrecht
Todos: SkillExecutions TreeView:
-
Add context menu to skill executions (all elements of treeView)
- Context menu should have button to abort the execution of a skill ("Abort skill") if the skill is executing
- Context menu should have button to re-execute skill with similar parameters
- Change "isConstructing", "isInitializing", ... to one column with current phase stringified
- Perhaps limit shown skills
- Sort skills according to their executor
SkillMemory TreeView:
- implement search function
Edited by Fabian Tërnava-
Add context menu to skill executions (all elements of treeView)
Documentation:
Changelog:
-
new lifecycle of skills: The new lifecycle is as follows:
- a skill execution request is sent to the manager/provider with initial aron params
- a new skill object is constructed (update status:
CONSTRUCTING
) - set the initial parameters of a skill
- the skill gets initialized (update status:
INITIALIZING
) - the skill gets prepared (update status:
PREPARING
). Concurrently, the skill execution may receive more input parameters. The skill is preparing until all required input parameters are set. - the skill's main method gets executed (update status:
RUNNING
) - the skill finished the main method and exits (update status:
SUCCESS
/FAILURE
/ABORTED
) 8 the skill gets destroyed.
-
new way of adding skills to a skill provider. Legacy, you had to add a
std::uniqe_ptr<Skill>
to the provider. That object got called multiple times (if multiple times requested). Now, you have to add a factory, that creates astd::unique_ptr<Skill>
. That way, multiple instances of the skill class can be instantiated and executed in parallel. -
new base classes for skills: If you want to have the same behaviour as before (i.e. have a main method that gets the parameters as argument), please use
skills::SimpleSkill
.
-
- Resolved by Peter Albrecht
@peller I have implemented the toString function for the SkillExecutionID as follows: stringified_SkillID[executor@datetime] with the stringified SkillID already containing the prefix, if provided. I don't know if printing the "@" has bad implications. Is there a better way?
added 1 commit
- 41837245 - Changed skill execution status indicator in gui: state is now represented by only one column
added 1 commit
- 1e2b9b43 - Disabled the 'stop skill' prompt when skill has finished
Idea: the context menu could also show an option to delete a skill execution entry from the tree view (and later all subsequent executions). That way it would be possible to clean up the tree after e.g. accidentally starting a skill.
Should we give this option to users, or will this introduce more problems down the line?
- Resolved by Peter Albrecht
@peller to implement re-executing a skill with similar parameters we need to somehow map each SkillExecutionID to the parameters. The SkillExecutionID seems to only appear once an update occurs. Is there a way to also get the parameters of the executed skill from memory?
added 1 commit
- 8b4c8220 - Implemented re-running a Skill with similar parameters