We’ve nearly completed a legacy platform conversion project — by this I mean creating a new application using K2 to replace an older one.

One of the final steps in completing this project will be importing the legacy data into a relational database, and to update each record with data provided by a workflow process instance.

My challenge was to find an efficient way to run all of these records through the workflow.

Continue reading

Did you know that there’s a database operation that occurs with each activity in a K2 blackpearl workflow process?

In short, the more activities you have in a process, the more database writes occur within each running instance of the process.

For better performing process instances, try to limit the number of activities you have within them.

When investigating some problems related to a Service Broker, a team wanted to isolate a single K2 server of a farm to perform some troubleshooting. Their intention was to temporarily disable workflow execution while still allowing access to SmartObject execution. But how?

Technically, you won’t find the answer in Program Files (x86)\K2 blackpearl\Host Server\Bin\Hosted Servers.

KO.dll is responsible for workflow execution. If that library file is moved out of Program Files (x86)\K2 blackpearl\Host Server\Bin\Hosted Servers (not just renamed) and the K2 Server Service restarted, you will effectively disable workflow execution on the server, while retaining its other capabilities. Consider moving the DLL to a backup location, from which it may be easily restored.


K2 establishes their general guidelines for environment and application software support in their K2 blackpearl 4.6 Compatibility Matrix, under their Microsoft Product Support Plan.

Continue reading