Indexing Tables in Kofax-Based Environments
We recently had a customer who needed to migrate off of an aging and highly customized Capture/indexing/workflow one-off solution. At the center of many of their form types in this system was a repeatable field collection object that functioned much like how you would expect a .NET DataTable control to function – values could be added horizontally to the current “row”, and at the end of it you could hit enter and a new “row” would be added. As you moved through, you also had the ability to validate the line item as a whole. In other words, nothing too out-of-the-ordinary.
Unfortunately, this stood out as a red flag for both myself and my coworker when we first saw it, since we were migrating the client to Kofax Capture. There’s nothing inherently wrong with Kofax’s flagship product, in fact it is an excellent tool for getting content where it needs to be, often in record time. One thing it doesn’t do well out-of-the-box, however, is table fields. Defining one looks normal enough, but when you actually get the chance to index them, each column ends up being a standard index field. Needless to say, turning the table 90 degrees counter-clockwise and forcing keyers to manually delimit values is not an ideal experience, especially when 99% of your form is tables that need to be indexed.
Tables in Kofax Capture: Definition vs. Reality
We got lucky in that we were able to get our customer access to the KTM for Forms license attribute just before it was discontinued. Kofax Transformation Modules (KTM), for those who are unaware, is Kofax’s take on the concept of advanced capture, and among other reasons that it lives up to the ‘advanced’ moniker, it includes a much more robust table object model that can still perfectly translate the data it captures back to a Kofax Capture table with little to no customization. However, this table was designed to display results pulled out of a document via OCR so it has its own out-of-the-box limitations, specifically:
• Table lines must be added manually unless results are pulled from a Table Locator
• Validation takes place on a per-cell basis, and cannot be performed on an entire line at once
Given the descriptions of their prior system, it was apparent that this was going to be a problem for us as well. I’ll spare you the multitude of lines of script it took to counteract these limitations, but suffice to say, through use of KTM Validation’s ValidationForm event handlers and some creative Validation rule scripting, we were able to provide the needed functionality, among many other things that Kofax Capture and KTM don’t readily do without heavy customization.
The overall message here is, uncustomized tables in the Kofax universe are designed for displaying OCR results at best and storing data behind the scenes at worst, and that manual indexing falls nowhere within this spectrum. However, if you absolutely must use Kofax tables for indexing purposes, there are ways to make it happen, (and if all else fails, there’s always full customization to fall back on).