SmartRules for sub-topics

JamesAK shared this question 2 years ago
Discussion Open

Given a map with parent topics at 1 level (A, B & C), can anyone tell me how to write SmartRules that apply only to each parent and their sub-topics?

So far, the only way in which I can have SmartRules apply to parent and sub-topics is to have each SmartRule set to Apply this Rule to: All Topics.

In a small map setting SmartRules to apply to All Topics is ok, but as the map gets bigger it becomes problematic with excessive speed costs.

The MindManager team has provided such inheritance in the triggers, so I do not understand why they've not done so with the actual SmartRules themselves. This feels like an oversight - I'd go as far as to call it a defect given the performance problems it leads to.

I have a map comprising of 394 topics:

  • 1 tree
  • 24 parent branches (static)
  • 209 sub-branches (static)
  • 161 leaves (dynamic - i.e. can be moved from branch-to-branch).

At the moment, I have 1 rule for each branch, 1 rule for each sub-branch and 18 worker routines, totalling 252 rules. Every rule is set for All Topics as it is the only way for branch and sub-branch rules to be applied to descendant leaves.

Each rule contains 2 triggers and 1 effect:

If trigger 1 (topic Belongs to Branch) and trigger 2 (tag A is TRUE), then effect X (mark topic with tag B).

When I make a change to any of my active SmartRules, MindManager hangs and is inoperable for 5+ mins. Task Manager shows MindManager as "Not responding" and uses up to 37% of the CPU before, eventually, 'calming-down" and returning control of the window.

Note: the performance hang only occurs when I make a change to 1 or more SmartRules. When I move, add or delete topic (leaves) to branches or sub-branches, or move, add or delete branches or sub-branches, SmartRules adds tags correctly without issue.

---