views:

164

answers:

1

I want to track my custom activities' property values in my own tracking service, .i.e. I don't need it in the built in SQL tracking service. I have been successful in reproducing the SQL tracking service in that I can see the worklfow and activity states etc. but I want to see property values also.

We are writing many workflows for a document management system (DMS) using its own workflow engine that is based on MS WF. I can therefore not change the workflow runtime (if it was needed). The solution has to work with the embedded functionality of the underlying Microsoft workflow runtime.

Our workflows typically do database lookups through custom activities we write. These lookup values are then passed on to other activities for program flow or for persistence into the DMS. It would be great if we can see what these lookup values are at runtime and in fact the values of the DMS own activities' properties.

A: 

From my (admittedly limited) knowledge of MS's Workflow, the correct approach is to publish updates to your tracking service from within the workflow -- ie, if your workflow does some step, it should go to the tracking service and say "I did X". Your tracking service can record this information to answer any subsequent queries about what the workflow did (and what the various property values were at the time).

The essential point is that the WF engine is useful for running workflows - but is not very good at reporting on the progress of those workflows.

If you do have some control over the WF engine (you say its "based on MS WF") then one option may be to make your WF Engine publish such updates for all workflows. That may allow you to forgo explicit updates within your actual workflow definitions. However, if you really can't make any changes to the engine, then this won't work.

Nader Shirazie
Thank you for your answer. Within the limitations of the workflow engine host our activities have to run I guess reporting on the state of activity properties have to be done by us - although less ideal.
Gerhard
I remember something like this coming up in a podcast I heard by Brian Noyes on deepfriedbytes (http://deepfriedbytes.com/). There are 2 parts to it. The specific comment I'm thinking about is 27 minutes into part 1...
Nader Shirazie