CHT Auto-Backup Configurator Now Provides .APP/.DCT Restore Features
Both the C6 and C7 installs have provided for the last couple of months the source and precompiled versions of an application called HNDBACKUPCONFIG.APP (for C6) and HNDBACKUPCONFIGC7.APP (for C7). Application interface below:

There's a new button on the toolbar illustrated in the screen snapshot below, that automatically zips all .DCT and .APP files presently located in your auto-backup directory into a date/time stamped zip file. Click this button and several steps outlined below take place in a single pass.

First, the new button automatically drops a filter into the query control as follows: NAME ENDSWITH .DCT OR NAME ENDSWITH .APP followed by another automatic push of the standard zip button. Then it performs a select-all to select ll files matching the file query inserted. Finally, a zip pass of all selected files is made.

When that zip process completes, there's a message informing how many files were zipped followed by a question asking whether to delete the source files just zipped. May as well say yes, since those files are now archived into a new date/time stamped zip file placed into your backup directory. Any time later, should you need to, you can re-locate that zip file with a date/time/name targeted query.

Finally the backup directory listing is refreshed, and a re-sortable listing of previously created zip containers is displayed. This functionality as described so far has existed for a couple of months prior to today's update.
How The .APP/.DCT Restore Features Work
First, use the query control to find a zip container in the date/time range by entering a query to delimit the list of zip containers (see example illustration below).

Once you have the date range narrowed down, right click any zip container to see the files inside. You do this by first selecting a single container, followed by a mouse right click. That opens the selected zip container and displays a searchable list of .APP and .DCT files inside the zip container as in the illustration below.

In the illustration that follows, we've entered "04-17" in the file query to delimit the list to applications and dictionaries to those from April 17. It's important to complete the "Restore Folder" field on this dialog if you haven't done so. This is the folder into which any restored applications and dictionaries are going to be placed.
Even if this were set by accident to your normal working app-development folder, there's no chance your present .APP and .DCT files will be overwritten since the file names of all restored files are unique due to the incorporated date stamp.
With the restore folder set, select one file, a range of files or specific files, using standard MS Windows record-marking keys (Click, Ctrl-Click, Shift-Click and so on) followed by a right click. A message then popus up reminding you how many files will be restored and into which directory they are going to be placed. Click YES and in an instant your files are back in standard .APP and .DCT format ready to be opened.

The idea, in principle, is to get one or more files restored into a working folder where you can open them and perhaps recover work removed or compare the prior version of an application with it's present version. Or, if you wish to recover a specific application, to open it with your Clarion IDE in the restore folder and performing a "Save As" to your working folder. The same steps could apply to a dictionary as well.
Bulk Field Import Feature Added To QueryParsingFilterControl
At the request of a subcriber (Drew Bourrut) we've added a bulk "hot" field import feature to QueryParsingFilterControl - see illustration.

Many of you who use this control with ExplorerBrowse, HandyMarkerBrowse and LocatorOverRideControl probably don't even bother to complete this "hot" field dialog since it's not necessary to add fields which are already populated on browses created with those CHT browse extensions. This dialog is intended for situations where you want to query data view fields which do not appear in your browse, or to use QueryParsingFilterControl with raw ABC browses, Reports and Processes.
You've always been able to individually select fields and add friendly query names to them as well as to import fields from a fields list created by an instance of this template on another procedure. Here are some things you should know about how this works:
• Field friendly names are auto-assigned with the colon replaced by an underscore and upper cased so that REC:MyField becomes REC_MYFIELD as seen in CHT Query Builder.
• Field settings can be edited after import and even exported to be used elsewhere in your application.
• Group structure names are not imported. Fields inside these groups are imported.
• Only the date and time fields from an SQL date stamp are imported. The date string @s8 and the group OVER this string are skipped. These are not needed. The CHT query system figures out what to send to your SQL data base to make date queries work without you needing to think about these Clarion-induced complications.
In the past, we've always let you establish field order in this dialog in an order determined by you - so that the fields could appear in CHT Query Builder in your own order of priority. That still applies, but with this additional feature, we've added an optional "Sort Fields In CHT Query Builder?" switch (shown above) which causes your query field names to appear in CHT Query Builder in ascending alpha order - see illustration below.

Query Builder Column Width Adjustments Made
The feature explained above tends to produce fairly long friendly field names since they incorporate the prefix and an underscore. In this update we've made some adjustments to the standard column widths provided in the data "Column" area. While you could always - and still can - adjust the widths yourself, this change is
a convenience for CHT Query Builder users.
Data With Query Only And Opening Query - On CHT Browse Extensions
This functionality now works with all CHT browse extension templates: LocatorOverRideControl, ExplorerBrowse and HandyMarkerBrowse, regardless of whether - in the case of the latter two templates - your browse incorporates a QueryParsingFilterControl or not. Further, the Data With Query Only feature works independently of or in combination with the Opening Query feature.
Further still, the Opening Query can be entered in the form of a hard coded constant such as "CITY = LONDON" or as a variable like !MyQuery - with the leading exclamation point indicating that you've entered a variable. When using a variable just make sure it's initialized before the CHT template calls SELF.PostQuer(MyQyery) in the HBRWx.AutoInit()method that initializes our browse extension template.

CHT Video Education Default Port Changed HTTP Port 80
In prior releases, this application was set to default to connection port 23. We've changed this to port 80 since port 23 is blocked in some corporate environments.

The video index is assembled by a CHT data server from a data table available to this server. The actual video is played from a rented, high-speed server. The video index looks like this:

Local Variable In First Column Of HandyMarkerBrowse
We fixed an issue found by one of our developers (Piotr Heidak) having to do with populating a local variable in the first browse column of a HanyMarkerBrowse-extended browse. On all other browse columns but the first, this worked correctly in the past, now it works as expected on all columns. We've inserted an example of this into one of the existing browse examples in HND3.APP - see screen shot below.

While on this topic let us point out a feature available on CHT browse extensions that lets you populate local variables to your browse and still have them sort with a header-click as if the local were a real data table variable. The trick is to use the Forced Sorts dialog on our template to insert a proxy data table variable
(or variables) to stand in for the local. When you do this, even in SQL tables, the query sent to the data base incorporates the proxy variable in the ORDER BY clause. In our example pictured above, we've created a local variable called CityState and by formula we've concatenated the back end values from the City and State fields. Then on the Forced Sorts dialog we've configured as in the screen snapshot below with a primary sort on PEO:City and a subsort on PEO:State.

New, Powerful Features In CHT Installation Tuner
In a previous update last month, we announced that all C7 containers have been re-organized with C7 specific subdirectories incorporated. With that change, CHT Installation Tuner was reworked to work exactly like the C6 version, fully able
to restore all CHT installation files to their installation state and to report any that have changed, are missing or have been touched.
In this update we've added two right-click features that provide installation fine-tuning features. With a right click on the CHT Installation Tuner browse - the installation index - you can perform two new functionalities: Open Selected
Object's HZO Container and Extract Selected Object(s) To Installation Folders.

• The first menu item opens the selected object's installation container. CHT Installation Containerizer is then started to open the .HZO container in which that installation object is stored. Installation containers are named in the HZOName column to the right of the object Name column. This menu item requires you to select only One item from the index, since two adjacent index items may be located in different containers.
• The second menu item permits single or multi-select on the index. It can be used to restore specific items from the installation container to the installation directory - i.e. the folder to which that item would normally install
depending on which Clarion version is in use.
Cheers...
Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
support@cwhandy.com
May 1, 2009