I am chiefly a K2 blackpearl Workflow technologies developer, certified in K2 blackpearl Core, K2 SmartForms, and K2 blackpearl Extensions technologies.

See project history details and my interactive resume for more about how I've used K2 blackpearl.

I maintain a blog called START RULE which serves as a resource for others working in K2 blackpearl technologies. Recent posts are listed below:

How to Draw a Line From and To the same Workflow Activity

I’m okay with this sounding dumb. But drawing a line that points back to the same activity where it came from isn’t an easy thing to do in K2 Studio. … unless you know the trick. Here’s how to do it: Draw an activity on the K2 Studio canvas. We’ll call this the first activity. […]

K2 SmartForms’ View Filters

Given a list view with several columns: ID, First Name, and Last Name. Let’s say the “ID” column shows an ID number as a hyperlink that points to another form. The list view’s filter only shows options for filtering on the First Name and Last Name columns. Why can’t I filter on ID too? Taking […]

Ever Wondered How Developers are Authenticated in K2 Designer?

I hadn’t. Not really. Until today. I’ve a client who’s forcing me to learn — my main contact isn’t familiar at all with K2, so I’m getting asked lots of questions. Today, he wanted to give a person access to the K2 Designer. I had no idea how to do it, but I offered to […]

Configure Working Hours in K2 blackpearl 4.7: A Strategy

Adding a working hours configuration in the K2 Workspace is trickier than you’d think. I have a client who has made email reminders across all of his applications a high priority. Yesterday I discovered that the systems so configured were escalating events over the weekend, so people with multiple instances of a process were greeted […]

Call Your E-mail Metadata Capture SmartObject Right From Your Outgoing Message

I have a client who wants to track all outgoing messaging from all of their K2 applications to assist in troubleshooting if someone says they didn’t receive a notification. Normally, no big deal; create a database table or two, a database view and an insert and a list proc, turn those procs into methods in […]

“The given key was not present in the dictionary” error

I’m working on re-creating a SmartForms application for a client — which was already in progress when I took over for another engineer — when I bumped into the exception described in the the title. This application was deployed from another environment. Where’s the problem? Here’s the exception I saw when attempting to correct an […]

How to discover the URL for the K2 Workspace (because your client changed it)

You wouldn’t think this would be a thing. I’ve a new client running K2 4.7 who has changed the URL for the K2 Workspace. The person I took the client over from could only guess at the correct URL. How did I find it? Here are the steps I followed to discover the modified K2 […]

Rule-based Validation of a Single K2 SmartForms Control

K2 SmartForms controls are validated in two ways: One is immediate, and the other is rule-based. But the rule-based validation applies to an entire form, not to a specific control. But does it have to be that way? As I mentioned above, K2 SmartForms controls are validated in two ways. The first is by setting […]

Using Client-Side Scripting to Access REST Services in SharePoint or Project Online from K2 for SharePoint

Given source and target systems within a company’s intranet. The source system is a SharePoint server, though which K2 is surfaced. The target system is also a SharePoint server, through which Microsoft Project Online is surfaced. The challenge: to access the data on the target system through the use of REST services only — without […]

A Word About Upgrading to K2 SmartForms 4.7

It’s over. The upgrade evolution across four environments and two months is finally complete. And I learned something about the process I want to share: Thanos doesn’t come to visit. My client has a series of environments, beginning with Development (“DEV”). For this upgrade, another was created: Functional Test (“FTE”). This new environment was copied […]

(older entries)