Hi,In b.wft, I want to reuse a.wft. I tried the following two approaches:1) in b.wft, I created a nested workflow task calling a.wft. results: b.wft worked fine untill it transited to the nested workflow. It stoped at a.wft. The start task of a.wft was not executed at all.
Hi,2) Instead of using the nested workflow task, I used the starttask of a.wft and changed the external task attributes start from Yes to No. (for testing purpose, I didn't put the whole a.wft into b.wft)results: b.wft worked very well and didn't stop at the start task of a.wft.
Hi,"Workflow tasks can either be specified with a path to a job specification file or to a workflow template file (.wft). In the case of a job specification file, upon activation of the workflow task, TeamSite compiles and instantiates a new job using the specification file. In the case of a workflow template file, the task owner must manually start the task using the New Job window to input job variables and subsequently initiate the job."
You have reached the correct lines of the doc... every workflow needs some parameterised values to inittate the job. In case of nested workflow.. if all the required values are with the workflow.. then it would start immidiately....else it will wait for the user to start manually.As you have written.. that a.wft is working all well as standalone... please check if the start task has immediate=t or f.
Do you see the nested workflow a.wft in TeamSite Workflow tab? Yes, I saw the description of a.wft and nothing else in a.wft happend. It supposed to execute the start task of a.wft, but it didn't.You can have only one START task in a workflow. You can't copy the full a.wft into b.wft it does not work. You need to use wftask to tie two different workflows. My workflow (using the nested workflow approach) passed the workflowbuilder validation. The following are the snippet of b.wft: <wftask name = "Publishing" owner = "__INSERT__($iw_user);" start = "f" description = "Continue on publishing workflow"> <areavpath v = "__INSERT__($iw_workarea);"/> <successors> <successorset description = "Go to EndTask"> <succ v = "EndTask"/> </successorset> </successors> <wftfile v = "e:\iw-home\local\config\wft\Publishing.wft"/> <activation> <or> <pred v = "DeploytoProdServer"/> </or> </activation> </wftask>
You can have only one START task in a workflow. You can't copy the full a.wft into b.wft it does not work. You need to use wftask to tie two different workflows.
I didn't find where to put this attribute in workflowbuilder and I didn't set this attribute in my workflow template either. Are u talking about start="t"? I've set start="t" for the start tasks of a.wft and b.wft both. As in the snippet, I put the full path to reference the nested workflow as well.
It wftask looks ok to me, try using forward slash insted of backward slash in specifying the wftfile location.
Using TS 6.5 sol.[...]<wftfile v = "e:\iw-home\local\config\wft\Publishing.wft"/>
Thanks for all of you. Your replies are very helpful. I have made the following changes based on your suggestions: <wftask name = "Publishing" owner = "__INSERT__($iw_user);" start = "f" background = "t" description = "Continue on publishing workflow"> <!-- ... --> <wftfile v = "e:\iw-home\local\config\wft\Publishing.wft"/> <!-- ... --> </wftask>I didn't modify the wftfile path because I am using WINDOWS O.S. The problem is still here. Under TeamSite Workflow tab, I can see that the Task Description is "Continue on publishing workflow", however, it didn't execute any line of the start task of Publishing.wft.[...]
Hi, I have got a question using this "background" attribute. How can we implement this in a configurable WFs. I have the wftask as shown below:declare_task("subWF", name => $subWF_task_name, description => $subWF_task_desc, type => wftask, owner => $iw_user, areavpath => $subWF_WA, wftfile => $iwconfigs/wft/solutions/subWF.wft, background => "t", variables => { "author" => __VALUE__('iw_contributor'), "editor" => $iw_user, } ); I am not sure here how to use the "background" thing to get my nested job to start automatically. Right now with the above set-up, I need to manually start the nested job. By the way, I am calling a .wft file for creating the sub WF. Can someone please throw some light on this? Thanks in advance.Environment: TS 6.5 on Windows.
Thanks Ghoti for your suggestions. I am wondering whether there's an easy way to achieve this. If anyone has implemented this, sharing your idea will be highly appreciated. Thank you.
declare_task('Nested_Job', name => 'Nested_Job', type => 'usertask', owner => $iw_user, areavpath => "YourArea",);my $nestedWFXML = qq( <wftask name="Nested_Job" owner="$iw_user" description="Your Description"> <areavpath v="YourArea"/> <successors> ... </successors> <wftfile v="$iwconfigs/wft/YourPath/YourWFT.wft" background="t"/> </wftask>);# and then...# Not sure what you use, print or INSERT. Reagrdless, comment it out# print get_job_spec();# __INSERT__(get_job_spec());# Instead:my $temp = get_job_spec();$temp =~ s|<usertask name="Nested_Job".+?</usertask>|$nestedWFXML|is;__INSERT__($temp);
It is actually not that hard to *inject* traditional XML Fragment into WFConstructor generated code. Sure enough,none of that is documented or supported by IWOV.[...]Comprende?
That worked excellent!!! Thank You soo much ISCBorisB.