Skip to content
Snippets Groups Projects

Draft: Feature/skill memory gui

Closed Fabian Tërnava requested to merge feature/skillMemoryGUI into skills/dev

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)
Edited by Peter Albrecht

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Fabian Tërnava requested review from @peller

    requested review from @peller

  • Author Maintainer

    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
  • Author Maintainer

    Documentation:

    Changelog:

    • new lifecycle of skills: The new lifecycle is as follows:

      1. a skill execution request is sent to the manager/provider with initial aron params
      2. a new skill object is constructed (update status: CONSTRUCTING)
      3. set the initial parameters of a skill
      4. the skill gets initialized (update status: INITIALIZING)
      5. 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.
      6. the skill's main method gets executed (update status: RUNNING)
      7. 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 a std::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.

  • Author Maintainer

    Achso nochwas: Ich bin auf gcc11 (ubuntu22). Ich habs noch nicht auf Ub18 mit gcc9 getestet. Evtl bauts da noch nicht

  • Peter Albrecht added 1 commit

    added 1 commit

    • e719476f - Added right click signal/slot

    Compare with previous version

    • 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?

  • Peter Albrecht added 3 commits

    added 3 commits

    • 181c3aa0 - Connected stop action to stopSkill
    • 56789608 - Implemented tracking of selected SkillExecutionID in SelectedSkill
    • 8f33a7f5 - Implemented toString for SkillExecutionID

    Compare with previous version

  • Peter Albrecht added 1 commit

    added 1 commit

    • 41837245 - Changed skill execution status indicator in gui: state is now represented by only one column

    Compare with previous version

  • Peter Albrecht resolved all threads

    resolved all threads

  • Peter Albrecht added 1 commit

    added 1 commit

    • 1e2b9b43 - Disabled the 'stop skill' prompt when skill has finished

    Compare with previous version

  • 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?

  • Peter Albrecht resolved all threads

    resolved all threads

  • Peter Albrecht added 1 commit

    added 1 commit

    • 8b4c8220 - Implemented re-running a Skill with similar parameters

    Compare with previous version

  • Peter Albrecht changed the description

    changed the description

  • Peter Albrecht added 1 commit

    added 1 commit

    Compare with previous version

  • Peter Albrecht marked the checklist item implement search function as completed

    marked the checklist item implement search function as completed

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading