Reference Workflow Activity bug?
Hi,
I'm using the new "Reference Workflow" activity to modify some existing workflows. Just modularizing the code for efficiency. Anyhow it seems to me there is a bug. That is, the parent workflow (the WF which calls or references another WF) does not recognize changes to the child WF. When I make changes to the child WF, they are ignored.
I can work around this with the following, very tedious techinque. Intentionally break the child WF. I delete the connector from the start node to the new activity and save it. This is then reflected by the parent WF with a red exclamation mark. Then go back and fix the child WF and save it. Then go back to parent WF and save, at which point the error indicator goes away and the current version of child WF is referenced.
The behaviour is sort of like the parent WF is caching a version of the referenced WF and just using that instead of referencing the actual WF.
We are at current version. I'm using HTML5 viewer.
Anyone else experiencing this?
Thanks
-
I've been frustrated by the same behaviour. I couldn't figure out why my changes weren't reflected in the parent workflow. I just started renaming the referenced workflows and updated the parent workflow with the new names to get mine to work. It seems your solution is just as painful. Haven't found any other solution as of yet. Glad to hear I'm not the only one that has experienced this. Using current version and silverlight viewer.
0 -
I'll add my voice to the list. I just had this problem with a Reference Workflow. Even with a clearing of the cache on my browser, I still couldn't make it recognize changes to the referenced workflow. However, after a day of not tinkering with it, no changes of names or anything else, it eventually seemed to fix itself. I'd like to know why, or how we can make it so changes are recognized right away.
0 -
Agreed. I think I have seen this same behavior, where after some time period the changes are recognized. Pretty weird.
0 -
Hi All,
There is server side caching that happens inside the Essentials REST API with workflows. When Essentials runs a workflow it loads the Xaml file, turns it into a live object that it will use for the actual execution, and caches the object in memory for reuse. When you run that workflow again it checks if it has a cached copy and will use a cached version unless it detects that the original Xaml file has been modified. It does not check if referenced Xaml files have changed.
If you edit the parent workflow it modifies the main Xaml file and the change is detected immediately.
If you edit a referenced workflow the changes aren't noticed.
If you make a change to a child workflow you will need to "poke" the parent Xaml file. The simplest way to do this is to open the parent workflow in Workflow Designer and click Save.
This caching happens server side so clearing your browser cache will have no effect.
This is an in memory cache so it resets when the application pool restarts. This explains why the change will eventually be detected after a period of time.
--Ryan
0 -
Thanks for the info Ryan. I'm away from the office this week so can't test it, but I think I found that it needs more of a "poke" than just saving the parent workflow. At least, that did not resolve the issue for me. I had the parent open already and then saved it, but it did not clear the cache...
0 -
i am having trouble getting my reference workflow to execute: i am getting the message that my two variables do not exist in the reference workflow? but i have set them.
so here is the actual physical location on the server:
C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\Resources\Workflows\REF_get_featureset_fields.xaml
so when i refer to this path in the parent workflow and in the reference workflow activity should it be this:
"C:\\Program Files (x86)\\Latitude Geographics\\Geocortex Essentials\\Default\\REST Elements\\Sites\\Resources\\Workflows\\REF_get_featureset_fields.xaml"
i am not getting an error that states it cannot find the reference workflow.
instead is states the it my two variables featureset and featureset_fields do not exist, so i have an error.
But I have set two variables in this workflow:
featureset
featureset_fields
so i don't really get how this is supposed to work. does anyone have a working sample of the reference workflow activity? parent and child workflows? or some suggestions?
Jeff
0 -
Essentials 4.2.2 HTML Viewer 2.3.3
I'm also having trouble getting the path to the child XAML to validate in the Reference Workflow Activity . I've used a full UNC path \\coacortexdev.coacd.org\d$\Program Files(x86)\..\child.xaml that shows as valid in the Designer dialog, but then throws an error at runtime that says the Activity could not be loaded from that path.
I tried using a local server path D:\Program Files (x86)\..\child.xaml, but I can't get that path to validate in the Designer.
I want to have a workflow that shows a selection of workflows for the user to run. I can't use the WorkflowListView because I don't want to display ALL the workflows from the site, just a selection of certain workfows.
What is the magic-super-secret-Clutch-Cargo-decoder-ring value that makes this activity work?
0
Please sign in to leave a comment.
Comments
7 comments