FileMaker Script Debugging And Analysis

From Dwayne Wright PMP, PMI-ACP, CSM
Certified FileMaker Developer

WEB: www.dwaynewright.com
EMAIL: info@dwaynewright.com
TWITTER: dwaynewright
YOUTUBE: FileMakerThoughts

Have you ever created a script and it fails? Have you ever created a script that worked perfectly but now is giving you errors? Ever created a FileMaker solution, came back to it months / years later, look at the scripts and say " What in the world is going on here?" Finally, have you ever inherited a FileMaker database that is as organized as a soccer riot?

In a series of upcoming posts, we are going to discuss bugs that can be found in some FileMaker scripts ( preventing, finding and fixing). We also will cover tools that can help provide analysis for your scripts. Sometimes you inherit a database that has been under development by at least a half dozen developers. Sometimes it’s a database that has always been designed on the fly. So not that much documentation is available about the solution. Here we will talk about ways to get out of trouble ... and ... learn more about your databases!

WHAT CAN GO WRONG WITH DESIGNING ON THE FLY
You have probably heard the quote that some folks spend more time on planning a vacation than they do planning for their retirement. You might even be saying to yourself, "I do that!" Well, I’m not going to write a guide about retirement planning but I will tell you a little about the woes you can get when designing a FileMaker solution on the fly.

Can you imagine building a house on the fly? Forget about those blueprints, they are simply a waste of time! You are about through building the house, when you realize that you need a basement. You realize that the pipes for the hot water are running into the den and the bathroom has no electricity.

In the database world, you may realize that your data will not relate to other key files to meet your users needs. You have to do major deconstruction and reconstruction to get it to work. Since it was all on the fly, you might or might not be able to remember exactly what fields, calculations, scripts, relationships and layout do exactly what. You are paralyzed with fear that if you delete something, it may very well break another aspect of the database solution.

Don't get me started on those FileMaker database solutions that have been worked on the fly by multiple developers, over many years and with literally no documentation. These are commonly called Winchester Mansion databases.

NOTE: The Winchester Mansion was built by the widow of the original maker of Winchester rifles. She built the mansion with fake doors, stairways the went nowhere and the like. The idea was to confuse the vengeful ghosts of those killed with those rifles. From what I understand, additions to the mansion are ongoing and they still are designing it to the original specifications of confusing the ghosts. So you can see how we can make the connection of a staircase that doesn't go anywhere to a FileMaker script or relationship that is never called upon.

EVERYONE WANTS TO GO TO HEAVEN, NO ONE WANTS TO DIE
Much the same can be said for perfect FileMaker scripts. Everyone wants their scripts to be perfect but no one wants to spend the time planning, documenting and debugging them. As we are talking about debugging, we should say there are many levels. In most cases, the bug notification information comes in after the product has been rolled out and is in use.

Some of us, think we run pretty tight scripts. Some of us can get by just dandy with the "at the moment testing" and fix it on the fly routines. In some cases, the tight code we write doesn’t mean anything because we are working on someone else's database.

As we all know " the devil is in the details", debugging is a very important part of the design process. In fact, some believe that debugging is a very under rated skill. If you have 10 programmers at a somewhat competitive level, the best debugger is the best of the bunch.

=
More info about the author and FileMaker in general, contact me at info@dwaynewright.com.

© 2008 - Dwayne Wright - dwaynewright.com

The material on this document is offered AS IS. There is NO REPRESENTATION OR WARRANTY, expressed or implied, nor does any other contributor to this document. WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED. Consequential and incidental damages are expressly excluded. FileMaker Pro is the registered trademark of FileMaker Inc.