The only way of discovering the limits of the possible is to venture a little way past them into the impossible.

— Arthur C. Clarke               

Inside Time Matters: Database Integrity

All things considered, the Professional version of Time Matters has held up very well. Especially considering the database technology it’s built on. The TopSpeed database driver was architected and subsequently released by TopSpeed Corporation in the early 1990s. In general, it’s an awesome multi-user database originally developed as a royalty free database to ship with the Clarion Development system. Similar to other non client-server databases (Access, dBase III/IV and FoxPro), the TopSpeed database becomes moderately vulnerable in multi-user environments. Most notably when using Windows based servers. Problems seem less prevalent on Novell file servers but that was another era.

One of the more common approaches to improving the integrity of TopSpeed files in a mult-user environment has been to disable opportunistic locking.

As per Microsoft:
Opportunistic locking allows clients lock files and locally cache information without the risk of another user changing the file.  

That was fine until Windows Vista introduced a new type of offline file synching functionality. Offline file synching will not function correctly when opportunistic locking is disabled (see mskb 296264). So now we have a real-world paradox. Sites are finding themselves unknowingly “ping ponging” between non-functioning offline file synchronization and/or corrupting database tables. Consider the following process flow.

Customer calls Time Matters technical support about TopSpeed (tps) file corruption in professional. Technical support advises to disable opportunistic locking.

Soon thereafter, Windows Vista offline file synching stops working. Another person in the firms finds article 296264 on the Microsoft Knowledge base indicating that opportunistic locking must be enabled for this to work. So they turn it back on, seems simple enough…. Right?

So who’s fault is this? Unless the capabilities have been overstated, you really cannot blame Time Matters or the TopSpeed file system. In a single-user environment the TopSpeed file system is fine. On a network with solid hardware and stable hardware drivers, the TopSpeed file system is fine. The bottom line is that we cannot rely on the required optimal network topology in today’s low cost networking environment.  

I do not anticipate that Time Matters will be able to continue to offer the Professional version running on the TopSpeed file system. It has been my long-standing opinion that all versions of Time Matters should be running on a client-server database. It is very common to see local applications installing and running on SQL Server Express. At some point you have to make a decision to err on the side of stability and integrity. I know the arguments in favor of the TPS file system but I can counter each of them with an appropriate solution in client-server. This really boils down to LexisNexis, Practice Management business and marketing strategy. The technology advice has been, for quite some time, to make the shift to client-server.