<$action-sendmessage $message="tm-new-tiddler" $param="_templateTask" title={{$:/_opTaskStore!!taskname}} shorttext={{$:/_opTaskStore!!description}} tmap.id={{{ [[]make[%uuid%]] }}} assignedto={{$:/_opTaskStore!!assignedto}} caption={{$:/_opTaskStore!!description}} tags="[[Task]]" color={{$:/_opTaskStore!!color}} />{{$:/_opTaskStore!!taskname}}{{{ [[]make[%uuid%]] }}}final = {{$:/_opTaskStore!!taskname}} + " (" + {{{ [[]make[%uuid%]] }}} + ")"<$action-sendmessage $message="tm-new-tiddler" $param="_templateTask" title=<<final>> shorttext={{$:/_opTaskStore!!description}} tmap.id={{{ [[]make[%uuid%]] }}} assignedto={{$:/_opTaskStore!!assignedto}} caption={{$:/_opTaskStore!!description}} tags="[[Task]]" color={{$:/_opTaskStore!!color}} />\define final()
{{$:/_opTaskStore!!taskname}} - ({{{ [[]make[%uuid%]] }}})
\end
And then call it where you need it with;
<<final>>
The uuid part may give problems. Sometimes it's necessary to wikify a calculation to render it correctly. If so define final as above then put
<$wikify name="myfinal" text=<<final>> >
Your code here.
</$wikify>
Hope that works, somebody will correct me if not I hope. Lie down in a darkened room and get your strength up before you look up wikify in the docs!
I expect you need to learn this youself, but this is how I see it.
Concatenating can be necessary when there is no practical way left to delineate replaceable parameters to form a new parameter. This is not so obvious because tiddlywiki goes out of its way reduce the need for delimiters by using those already available to it.
Although there are exceptions, one way to look at it is when you are passing a macro or widget a parameter, you need to delimit the beginning and end of the value eg parm="value" parm=<<varname>> parm={{!!title}} these will be replaced if simple but you should not expect compound values, ie concatination to be "evaluated" eg; parm={{!!title}}/subtiddlers because you are assuming this will occur before it is used as the parm value.
A simple rule is don't try and do too much in your parameters to a macro or widget. Keep the values to parameters simple in the widget and when concatenation is required do it before such as the example given. Define the concatenation elsewhere and reference that and macros are the most versatile. Wikifi and the Tripple braces and Evans mushroom brackets (= something evaluated =) are kind of exceptions but wikify is also a widget and only its text field is special by definition.
Unlike set and wikify, macro definitions do not need opening and closing so they are often the best way to concatenate, unless you can do it inside a filter in cases where the macro or widget accepts a filter.
I expect with the new filter string operators in 5.1.20 we will all start using the triple braces a lot more for this.
Eg
parm={{{ [{!!title}addsuffix[/subtiddlers]] }}}
Regards
Tony
parm={{{ [{!!title}addsuffix[/subtiddlers]] }}}