Don Reynolds - Simple Survival Guide for Template Upgrades

By George Cobaugh

Posted September 1 1997

Printer-friendly version

Well, here I am at TopSpeed Corporation's DevCon 97. After the rousing reception last night (Mardi Gras is always special, even out of season and out of state) I found myself in the first breakout session of the conference. I chose this particular session because it was on a subject that has always caused hours of frustration for me (and possibly many of you) in the past -- template upgrade. This session wasn't about announcing an upgrade, but how to survive one. There is sure to be a need for it in the very near future.

Don Reynolds, President of World Class Consulting Group, pointed out the problems that I'm sure most of you can relate to. (I know I can.) As Mr. Reynolds pointed out, upgrades are a way of life, existing to fix bugs, add new features, or shift a paradigm. Historically we, as CW users, have reported bugs or requested new features. He put it best when he said: " We put on one hat and don't want them to ever change. We put on the other hat and request the changes. Then we ask TopSpeed Corporation to handle it ". After that, we sometimes groan when we have to apply the upgrades to our existing Apps. Here is a brief overview of Don Reynolds' presentation.

The Introduction

There are different types of templates that we may, or may not, use. Standard CW templates that ship with CW, Third Party template sets, and custom (in house) templates, for example. Templates are the reason most of us use CW. We like to reap the benefits, like consistent code generation, faster development, fewer errors, and more time for the design phase and problem solving.

The Problem

Template variables sometimes change, Embed Points are moved or removed, and new reserved words can be added. If you are like me, then we have embed points that we use frequently, and sometimes reference template variables. For instance, I sometimes find the need to reference the variables associated with a queue in a browse procedure. These things can cause our existing apps to break. Even if we register the new templates and get a clean compile (sometimes we just stop here and say 'it works'), the behavior of the app may change in some procedures. We may have dozens (or more) of apps that we will have to move to the new version. Then the fun starts. We have to identify the changes to our apps from the new templates. The template variable changes and new reserved words are easy to find, the compiler will point these out as soon as we compile. Even if we got a clean compile, we may have orphaned embeds caused by moved or removed embed points. These are harder to trace and find. This is where the real frustration comes in. Mr. Reynolds was nice enough to point out some solutions for these problems in his session.

The solution

There are two ways to relieve the strain on these changes. The first one is to search through the code and identify our embedded code in all of our apps. This is very time consuming and prone to errors caused by missing some of them. The second is to write a template to scan our code and create a list of the embed points that we use, and where we use them. The latter would be considerably faster.

Ok, so you're not a template code expert (neither am I). Luckily, he pointed out that there is hope for us. His company, the World Class Consulting Group, has a template available that does just this. When run against an app, it created a database listing the embed points you used, and the procs that used them. This, coupled with a good benchmark app, was demonstrated for us at DevCon. It worked wonderfully. The template generated database pointed out exactly where we will have to check for any changes. His benchmark app (with embedded code in his most frequently used embed points) showed and checked the behavior. Information on this template can be found on their web page: http://www.xmission.com/~wrldclss

In conclusion, I would just like to say that I am glad someone who has experienced the problems I have encountered in template upgrades, has created a method to make the transition easier and faster. And after all, these are also some of the reasons I chose Clarion to be my first (and usually last) choice for application development. Isn't it ironic that a tool to help us survive new template upgrades is -- a new template??!!

Article comments

Post a comment

You must be logged on to post comments.

Clarion Roadmap

Try the roadmap (beta)

Search ClarionMag

 

Advanced search

From the archives

Superfiles and NAME

9/14/2009 12:00:00 AM

Having covered Superfiles in the previous episode, Steve Parker tackles the intricacies of how to set arbitrary names for the tables inside Superfiles.