Tinderbox Forum

Agent changing $MyOutlineString order of original notes

I’m using an agent to collect tasks which are children of a meeting note and I want the task note’s alias to retain the parent’s original $MyOutlineString value ( see code in prototype ) so I can trackback to the original meeting - the agent’s children ( the task aliases ) have a new OutlineOrder but this changes the main notes $MyOutlineString
I’m attaching a small file that has similar code and structure to my real one to illustrate and I think I have found a workaround (disabling edicts in alias as an action of the agent ) in it but was wondering about the code use of ‘parent’, or ‘original’ to solve it - many thanks in advance
outline_sibling_inheritence_request.tbx (127.9 KB)

As a simple point, for an alias, parent is the parent (container) of the alias. But parent(original) is the parent of the alias’ original note.

Personally, I would not use $MyOutlineString for this. What your looking to take is the meeting associated with this task, not the outline. Also, the sample you provided does not make sense to me. This seems to be an outline for a book or article, not a meeting and tasks. I would expect there to be two different prototypes, a meeting prototype, and a task prototype.

I would grab the parent meeting’s $ID in another user-generated attribute, e.g.$CrossRef. This is a guaranteed reference to the meeting. If you then want to reproduce the path of this meeting you could use $Path(x), x=the $ID of the target meeting, and you’ll get the path to the meeting.

There are some nice nuances here:

  • See the body of the tasks. See how you can pull in the name and path of the associated meeting.
  • The task can move around without losing association with this meeting.
  • The meeting on add sets things up

See attached example.
TBX L - Meeting Notes & Tasks Example.tbx (120.6 KB)

1 Like

Michael, thank you

My real file was as you imagined but I just wanted to illustrate the behaviour. However, I was complicating something that had a (yours) more elegant solution.

I do find I have a temptation to do that in Tinderbox and consequently my learning curve has a sawtooth upward curve as a result ( ie progress and then a dip ) - I enjoy the tinkering, however :slight_smile:

I’ve tinkered a little with your meetings onAdd action so that all tasks have a name that includes your prefix and the name of its parent and a 1 - 59 added to create a reasonable chance of a unique note name

$Prototype|="pTask";$CrossRef|=$ID(parent);if($Name="untitled"){$Name="Tsk- from "+$Name(parent)+" - "+$Created.format(s)};

My current job has entered a period of complexity and I’m using tinderbox daily to keep track of a myriad of interactions. I’m at the point of introducing a little incremental structure and the $crossRef idea has been very helpful - many thanks

1 Like