K2 Process Logging for reporting requirements

  • 13 April 2009
  • 3 replies
  • 1 view

Badge +3

Our customer has some "interesting" reporting / application requirements.

We need to be able to report on the following information:

- Process Start/End date
- Activity Start/End dates
- Actions selected (through out the process life cycle)
- Users who executed these actions with date and times

Is there a better way to get the above information from K2 without resorting to implementing our own logging infrastructure on each activity (see picture below).

Referring to the below diagram and given our application architecture, each "Log Start", "Log End", "Log Process End" event calls an external DLL that calls a centralised WCF service to log this information into a seperate database we can report off.

Is there a better way of doing this? Any recommendations would be appreciated.

K2 Process Logging

 

Thanks,
Bib


3 replies

Badge +3
Also forgot to add we would like to report on the Outcome and some specific DataFields.
Badge +11
Your approach would certainly work, but is there a reason you chose this method rather than the OOTB workflow reporting functionality?
Badge +3

I guess I'm trying to satisfy the reporting requirements as well as the application requirements (user interface) and the OOTB reporting probably will not suffice.

With reporting, we need to report on K2 process information as well as linked customer information (names, addresses etc based on a dataField CustomerID)

With the UI we need to show the history of Processes, Activities, Actions and associated users and dates for each in a GRID, also including linked data like customer etc.

Also, to find specific work list items, they have fairly complicated filtering requirements that utilised linked customer data.

What I would like to do is make my own Wizard control by extending the default "Client Event" to include the "Log Start" and "Log End" events. I have read the "Create you own Wizard" PDF but don't know if it will be a trivial task to re-create the Client Event functionality? Or perhaps I can do something clever with smart object and utilise the Dynamic WCF service?

Reply