Everything Else
Welcome To Helix 5.1

2003.04.21--The path to Helix 6, like the path from 5.0.2 to 5.1, is littered with little discoveries. Many of these are quite unwelcome as they almost always stand somewhere in the way of progress. Some, while seemingly somewhat off the beaten path, smooth the way to the future.

While working on the code this winter, we encountered something that seemed to explain some occasionally odd and unexpected behavior in Helix that have been around for quite some time. As a result, we are today issuing an update to Helix 5.1, called Helix 5.1.1.

Bug Fixes In This Release

This minor update corrects three defects:
1) A code error existed that could cause RADE to crash when setting the format of an entry rectangle to the default value.
2) A code error that could (in rare instances) cause Helix to crash when a view with a subform with a summary operation was open in the background and a post occurred that caused the background summary to reevaluate.
3) A code error that could (in rare instances) cause Helix to lose track of a process, resulting in an apparently random crash.

A few notes on this version
1. If you working in Helix 4.5.5 or later and are not experiencing such problems as are described above, there is no pressing need for you to upgrade to this version.
2) If you believe you could benefit from using 5.1.1, you have to options
a. You can get it on our download page, where it replaces the current 5.1 products and effectively becomes the current version of Helix, or
b. You can download the patch and apply it to the programs you already have installed.

Patching notes
1) There are two patches:
(a) One patches an installed and enabled copy of Helix 5.1.
(b) The other patches an uninstalled, not-enabled copy of Helix 5.1.

The patcher will ask you where each application in the Helix family is on your computer and applies to each one in turn. Thus, you may patch the one you are using or you may install a fresh copy from a CD or from a download and patch it prior to enabling it.

2) When patching is complete, your Helix folder will contain two icons for each Helix application. The patcher appends a " 5.1" suffix to each of the pre-patched applications. These may be thrown away at your discretion.

5.1 Release Announcement

2002.12.20--Helix Technologies announces the immediate availability of Helix version 5.1. This version includes new features and addresses specific bugs in Helix 5.0.2 and earlier. The primary focus of the version 5.1 release is making the Design Mode (formerly known as Full Mode) environment more conducive to rapid development, but a few of the changes also result in an improved User Mode (formerly Custom Mode) experience.Helix 5.1 is a free update for all owners of previous Helix 5 products. Owners of previous Helix versions who wish to use Helix 5.1 with their collections will have to purchase the Helix 5.1 upgrade.Thank you,

The Helix Recovery Team

About This Release

Helix 5.1 is the first update release of the Helix 5 product family. This release adds new features and addresses bugs found in Helix 5.0.2 and earlier.

  1. Helix 5.1 Requires Collection Update: Collections must be updated before they can be opened with Helix 5.1. Collections updated to work with Helix 5.1 can be reverted to work with Helix 5.0.2, provided certain rules are followed. Should you find yourself in a situation that requires you to revert to Helix 5.0.2, please contact Helix Technical Support for instructions.
  2. Memory Management:If you are upgrading from a prior version of Helix, particularly if you are using Helix 5 with RAMJet or customized caches, make sure you set the memory allocations before launching these versions. Our technote on memory settings can help you make the most of Helix 5's memory management options.
  3. Technical Support and Bug Reporting: If you require technical support for Helix 5.1, please visit the support section of this web site to find the support option that will best help resolve your problem
Here's what's new in Helix 5.1
Terminology Changes

A number of terms used in Helix have been changed, either to bring Helix into line with industry standard terms, to make Helix terminology more natural to new users, or to conform to terminology Helix users find more natural.

  1. Design Mode & User Mode: Because the terms "Full Mode" & "Custom Mode" were unclear (particularly to new users) they have been changed to better reflect the operations performed in each mode. Full Mode is now called Design Mode and Custom Mode is now called User Mode.
  2. Import & Export: Due to overwhelming end user response, the terms "Dump" and "Load" have been replaced by the industry-standard terms "Import" and "Export."
    Note: Because of this change, the posting hint (seen next to a view when a relation is displayed in list view) for 'on export' has been changed from 'D' to 'X.' (It was not changed to "E" in order to avoid ambiguity with 'on entry'.
  3. In the Import/Export and Copy/Paste Record Options dialogs, the HT and CR entries have been renamed Tab and Return. Functionality is unchanged.
  4. Conditional Color has been renamed Conditional Style, as this more accurately describes the options available.
  5. The Command Rectangle Option that was labeled "Disappear" is now named "Make Button Invisible." This was done to clear up the command key equivalent confusion and to make it grammatically consistent with the other commands. CMD-D is Dim and CMD-I is Invisible.
  6. Keyword List Item Removal: Previously labeled "Remove," the button that removes an item from the keyword exception list is now "Delete." This was done primarily to clear up command key equivalent confusion; CMD-R is Revert (the whole list) and CMD-D is Delete (the selected item).
  7. Renamed Command: The command "Export Collection (or Relation) Info" is now "Export Collection (or Relation) Details."
    • The default name of the file created by this command is changed from "Info report-1" to "Helix Detail Export."
  8. OS Terminology: References to older MacOS items (e.g., Alarm Clock DA) updated.
New Features

Helix 5.1 includes 9 new features, all of which are considered minor feature enhancements

  1. Windows menu: There is now a "Windows" menu. Open windows are listed in alphabetical order and selecting an item in the menu brings it forward.
    • Available in Design Mode: The Windows menu appears as the last menu in the menu bar.
    • Available in User Mode: You can also place this command in a menu or a submenu in the user editor for use in User Mode. Like the Fonts menu, the Windows menu must have its own menu on the menu bar or be the only item in a hierarchical menu.
  2. Power Query support for Defined/Undefined Operators: You can now specify the "Defined" or "Undefined" operator in a power query search.
    • When Defined or Undefined are selected, the third column remains active, but meaningless. Typing in the query field has no effect on the query results.
  3. 'kind' Resource Support: The Finder's "kind" information (visible in the Get Info window or in most list views) will provide more specific details about the type of Helix file. For example, instead of describing a structure file as a "Helix Client document" it will be described as "Helix Client Structure file." Chipped and cracked collections are now reported as "Helix RADE Collection w/Data damage" or "Helix RADE Collection w/Structure damage."
    Note that if you have an older version of Helix installed on your computer, you may have to rebuild your desktop to see this change.
  4. Pictures in Command Rectangles: You can now specify an abacus that determines whether to make the command rectangle active, dim, or invisible. A previous bug in the Helix code allowed you to specify settings first, then paste the picture in, and it would work in a limited fashion. This is now a fully supported feature.
  5. Usability Improvements:
    1. Get Info References: The list of icons that refer to the selected icon now indicates the relation a referred icon is from if it is from a different relation. For example, an abacus named "Lookup Name" will now list as "Lookup Name {in Invoices}," thereby relieving you of the necessity of doing a second Get Info to find out in which relation the referencing icon is found.
    2. Appearance Manager Compliance: Helix now uses the colors designated in the Appearance Control Panel to highlight items.
    3. Template Editing Improvements
      • Rectangle Resizing: The Command-Arrow and Option-Command-Arrow keyboard equivalents used to move and resize template rectangles now repeat if you hold them down.
      • Type Selection: The template slot machines now respond to keyboard type-selection, unless you are editing a text label on the template.
    4. Design Mode Command Keys: Helix now sports a wide range of Command key equivalents in design mode, including shift, option, and shift-option commands.
      • Be aware that many command key equivalents have changed, and that some relearning will be necessary.
    5. Dialog Box Restructuring: The majority of Helix's dialog boxes were designed when many people still used 'Classic' Macs with 9" black and white displays. Consequently, they fail to take advantage of today's larger displays. In Helix 5.1, many Helix dialog boxes have been redesigned with a 640x480 display as the baseline.The document "Dialog Box Changes in Helix 5.1" illustrates the before and after versions of each dialog in Helix.
      1. Dialog Centering: Helix has always centered dialog boxes on the main screen. This made sense when screen size was limited, but with the widespread use of large displays and multiple monitor setups, dialogs should now appear centered over the window from which they are invoked. This has been done for all Helix dialog boxes where it makes sense, and readies Helix to incorporate the 'sheets' model used in macOS.
      2. Wider Selection Lists: Selection lists (aka 'slot machines') were universally too narrow to show full icon names. Helix has always supported icon names up to 255 characters long, but most designers resort to shorthand naming conventions in order to make selection in dialog boxes meaningful. Most dialog boxes have been widened to display at least twice as much information as before.
      3. Redesigned Dialog Box Layouts: Some dialogs did not lend themselves to a simple widening. In these cases, the dialogs were redesigned accordingly.
      4. Consistent Button Placement: Buttons are now found in the lower right corner of every dialog, and they are arranged in the proper right to left order as per Apple's specification.
      5. The Escape key now functions as a "Cancel" button in dialogs boxes, as per Apple's specification.
      6. Dangerous Button De-emphasis: Interface guidelines specify that a 'destructive' choice is never presented as the default button. Consequently, buttons that ask the user to confirm data deletion are no longer the default. (Keyboard oriented users can use CMD-D to select the "Delete" button.)
      7. Font Selection Lists: Font lists previously displayed in the 12 point system font. They now display in 9 point Geneva, allowing more of each font's name to be displayed.
      8. Item Selection by Keyboard: All dialog boxes now support tabbing to, and keyboard selection within, selectable lists. Previously, some dialogs only partially supported this feature and others (Styled Text, Border Rectangle, and Repeat Rectangle) did not support it at all.
      9. Command Keys:An effort was made to make sure that all dialog boxes respond to command key equivalents and that the key equivalents are logical, complete, and consistent.
      10. The List Selectors at the top of the lists now space themselves out proportionally across the width of the list.
    6. The Word Wrap command now appears under the Check menu. Previously the only way to set the Word Wrap attribute was to go into each data rectangle individually. Because the Word Wrap feature is a relatively late addition to the Helix feature set, and because Word Wrap is on by default on all newly created data rectangles, most collections that have existed for any length of time have Word Wrap turned on for the majority of the data rectangles. For designers wishing to modify multiple rectangles on templates, this will save a great deal of time.
    7. The Default Size of new collections, relations, sequences, abaci, templates, views, and posts is larger. Items that previously started life tight to the menu bar now start a little lower.
    8. Template Preview of picture fields now displays a color image
    9. Color has been added to a few places in Design Mode for improved appearance.
    10. When editing user menus, the size of the new (empty) menu rectangle is now twice as large.
  6. Option-Click Close: You can now option-click in a close box to close all open windows. In User Mode, Helix checks to make sure Close All is available on the user's menus before executing Close All. If it isn't found, a regular close is done.
  7. Extended Keyboard Support: You can now assign keys F13-F15 to menu commands when editing users.
  8. AppleScript Quit: You can now use AppleScript (or Apple events) to tell Helix RADE, Server, Client, and Engine how to quit. Previously, sending a Quit event to a Helix application resulted in the "Do you want to save changes before Quitting?" dialog appearing, requiring user interaction before the Quit was completed. Now you can tell any of the Helix applications to Quit with or without saving the changes.
    Sample AppleScripts included with Helix 5.1 demonstrate shutting down a Helix Server and how to remotely quit Helix Clients on the network.
    Because of a bug in Helix's Save dialog boxes, Helix must be the frontmost application when the Save dialog box is presented. For this reason, you should always include an 'activate' command just prior to issuing a 'quit with saving' command for all applications except Helix Server and Engine (which cannot create new files). The proper technique is shown in the sample scripts included with Helix. The following commands will all execute as expected in Helix 5.1:
    1. Tell application "Helix RADE" to quit
      Dialog asking if you want to save changes is presented.
    2. Tell application "Helix RADE" to quit with saving
      Application quits and collection or structure is saved in its present state.
      If the collection or structure has never been saved before, the save dialog is presented.
    3. Tell application "Helix RADE" to quit without saving
      Application quits and collection or structure is reverted in its last saved state.
  9. Unsupported Features: These features are "partial" features, lacking a proper interface, and are not fully supported. They work as expected, and are not buggy or unreliable, but since they have no interface, they are not considered part of the official Helix feature set. The future of these hidden features will depend on feedback we receive about them.
    1. Picture Scaling Options: In Helix, the option to "Scale Picture" has always been interpreted as "scale this picture proportionally, filling at least one dimension of the data rectangle". Sometimes this is not desirable, so two new scaling options were added to the code. However, because the scope of this release precludes collection structure changes, the new options are presented in 'easter egg' fashion: the implementation is subject to change without notice, may disappear in future versions of Helix, and should not be relied on as an integral part of your Helix solution.
      Note that these options are in effect only while the key(s) are being held down.
      • Non-Proportional Scaling: Helix has always maintained proportional scaling of pictures. Now, if you hold the Control key down while the picture is being drawn, the picture will be scaled so that it fills the data rectangle both vertically and horizontally, disregarding proportionality.
      • Only Scale Down: Helix has always scaled pictures so that at least one dimension is filled. Now, if you hold the Shift key down while the picture is being drawn, the picture will only be scaled (down) if it is too large to fit in the data rectangle. In other words, pictures will only be scaled if necessary to show the entire picture. You can keep small pictures from being enlarged when that is not desirable.
      • Force Scale Picture: The option to scale a picture has always been strictly under the designer's control, with no alternative for the Custom Mode, Client, or Engine user. Now, if a rectangle is not set to Scale Picture, and the user holds the Option key down while the picture is being drawn, the picture will be scaled, and the new Shift and Control key options will be honored.
    2. Missing Font Substitution: In Helix versions 5.0.2 and earlier, the Geneva font is always used as a substitute when a font used in Design Mode cannot be found on the Mac. Control of the substitute font is now available.
      • In previous versions of Helix, (undocumented) 5 HFAC resources were used to control the default font for Data rectangles, Label rectangles, Command rectangles, as well as the large and small fonts used in various design mode dialogs and windows. These 5 resources are now labelled: if you wish to change any of these behaviors, you can open your copy of the Helix application with a resource editor and tweak away.
      • Helix 5.1 adds a 6th HFAC resouce that is used to determine which font to use if a font selected by the collection designer is not available. Although the HFAC resource specifies font, style, and size, only the font info is used; style and size are taken from the template rectangle where the substitution is occuring.
      • The HFAC resource is defined as follows:
          WORD: FontID
          WORD: Style
          WORD: Size
      • Note: Changing any of the HFAC recources constitutes a hack and is not supported by QSA ToolWorks. If you experiment with these resources and things go wrong, reinstall Helix from the original installer.
      • Note 2: If the above information is not enough to guide you, do not contact QSA ToolWorks for assistance. This capability is not part of the official Helix feature set and we will not provide support for it. In other words, if you don't implicitly understand what to do with this information, ignore it.
Functionality Changes

Eight functionality changes improve the usability of Helix, but do not quite qualify as new features.

  1. Launching Helix RADE: In all previous versions of Helix RADE, a bug existed that would result in Helix hanging if you launched it and then managed to put it in the background before it had time to put up its "open/new" dialog. We "fixed" this bug by removing that dialog altogether. So be aware that now when you launch Helix RADE, it will not present the old "Open/New/Cancel" dialog.
  2. Dialog Centering: Helix has always centered dialog boxes on the main screen. This made sense when screen size was limited, but with the widespread use of large displays and multiple monitor setups, dialogs should now appear centered over the window that they are invoked from. This has been done for all Helix dialog boxes where it makes sense, and readies Helix to incorporate the 'sheets' model used in macOS.
  3. Get Info Abacus Access: In previous versions of Helix, if you open an abacus by double clicking in the list of references in a Get Info window, the referenced icon was highlighted and brought "front and center" in the window. Although this made sense when screen size was limited, it is more of an annoyance than a feature on a larger screen, as your previously set positioning is often disrupted in order to center the referenced icon.
    In Helix 5.1, the highlighting remains, but the centering has been turned off.
  4. Pause Command Improved: Previously, when a Pause was inserted in a Helix sequence, Helix would 'take over' the computer while the pause was executing. Pause now allows background tasks to execute, including suspend/resume events. You can now bring another application forward (e.g. via a previously issued Open Document command) during the pause interval. As always, When Helix is in the background, the executing sequence will wait until Helix is brought back to the front before continuing on with the next step.
  5. New User Changes: When you drag a new user icon from the icon well, the following defaults are new: (These changes do not affect previously created users, and can be changed if you prefer a different behavior.)
    • Open (CMD-O), Close (CMD-W), and Close All are placed at the top of the File menu.
    • Close Collection is placed just above Quit.
    • Design Mode and User Mode default to F1 and F2, respectively.
    • Quick Query and Open Query default to F9 and F10, respectively. macOS reserves Command-H for the "Hide" command, and Helix will support that option when a macOS native version is released. Consequently, the old Command-G and Command-H key equivalents are being phased out.
    • The Delete command no longer has a default command key equivalent.
    • The Publish and Subscribe items are no longer added by default. Apple is not supporting Publish and Subscribe in macOS, so these command need to be deemphasized.
  6. Import/Export Options: The "OK" button is now the default choice.
  7. The text of a few dialogs and alerts was changed for clarity.
  • Of special note is the Why? message that appears when a deleted record remains on a list. It used to simply say "The selected record has been deleted". It has been expanded to suggest running running Helix Utility if the problem persists.
  1. Other Minor Changes:
    • Free space, etc. figures now display in MB instead of KB in places where volume size is reported.
    • The Server Information screen's "Dump Info" files are now saved as BBEdit text files.
Bug Fixes

RADE User Mode & Helix Client

  1. 128 Page Printing Bug: In previous versions, Helix print jobs with more than 128 pages would only print the first 128 pages when printing via the PowerPrint drivers. Long print jobs should now work in all cases.
  2. Power Query crash: A bug existing in Helix products back to (at least) Helix Express 4.5.1 has been fixed. This bug caused Helix to crash with a Type 2 error when opening a power query if, when the power query was last opened, the user had clicked on the zoom box and then did not further resize the window before closing the window.
  3. Power Query Zoom: Clicking the zoom box in a Power Query window no longer sizes the window incorrectly.
  4. Background Picture Redraw: Fixed a bug where background label rectangles behind an invisible button (either text or picture) were not drawn under the button itself if a condition caused the button to become invisible while the view was in use.
  5. Insertion Point Retained: A long-standing bug in Helix has been addressed. Previously if you switched from one view to another while the cursor was in a data rectangle, the insertion point was lost when you switched back to that view. The insertion point should now be remembered.
  6. Disappearing Insertion Point: When holding down the left or right arrow key in text, the insertion point would disappear until you released the arrow key, leaving you to guess at how far the insertion point had advanced. It now flashes after every cursor point movement.
  7. Unsupported Version Warning: The warning dialog that appears if you attempt to run Helix on an unsupported version of the Mac OS now appears for all versions less than OS 8.1. (In Helix 5.0.x it was incorrectly set to OS 6.0.5.)

RADE Design Mode

  1. Dialog Appearance: In the initial Helix 5.0 release, an attempt was made to make Helix dialog boxes Appearance Manager compliant. Unfortunately, most default buttons responded by refusing to display their outline, thus making it difficult to know which choice would be made when the Enter key was pressed. This was caught during the 5.0 beta cycle, but time constraints forced the developers to remove appearance compliance for many dialogs and to leave others with cosmetic problems. This has been fixed in all dialogs boxes.
    Note that in product registration dialogs, pressing the Return or Enter key moves the cursor to the next field. These dialogs require the user to click the OK button to finalize the installation.
  2. Changing Template Item Colors: Setting data rectangle colors by opening the "Set Rectangle Colors" dialog directly from the template now sets the template's changed status, correctly enabling the "Save/Revert" options.
  3. Custom Error Message in Sequences: When editing a sequence's custom Why? message dialog, text in the message editor dialog is now visible.
  4. Field Format: The field format dialog (accessed via the field window and the data rectange/custom icon option) now draws correctly when used under macOS (Classic mode).
  5. Show Setup Subform Template Access: You can now double click (and command-double click) a subform template in a view's Show Setup mode to directly open (or Get Info) on the template.
  6. Edit Word List Dialog: A keyword field's edit word list dialog now responds properly to command key equivalents for the buttons when the word list is active.
  7. Scrolling Speed: In a collection or relation window, clicking in the scroll bar area now scrolls the window at a reasonable speed. (It was previously too fast to be controllable.) Drag-scrolling in relation, template, and abacus window is slower and more manageable as well.
  8. 3 and 4 Hole Lookup Dialogs: Fixed bug in 3 or 4 hole slot machines that caused it to say "Source Key contains a tile" when first opening whether it held a tile or a constant.

Helix Server

  1. Helix Server no longer allows the incorrect version of Helix Client to visit via TCP/IP.

Helix Client

  1. "About Helix Client" Dialogs: The Helix Client splash screen and "About Helix Client" dialog no longer display meaningless serial number information.
  2. Helix Client Preferences: The Preferences command (for setting RAMJet prefs) can be put on User menus (for use with RADE User Mode and Engine) but it is meaningless in Helix Client. It is now properly dimmed when the application is Helix Client.

Helix Engine and Runtime Converter

  1. Engine Form Compiling: Previously, if you worked on a collection in RADE and neglected to compile forms, the Engine user was forced to work with uncompiled forms. This would cause collection performance to be degraded and Apple event calls to collections opened with Engine to fail (error 120). Helix Engine now automatically compiles forms if necessary before it opens a collection, just like Server.
  2. Runtime Converter Version Number: Runtime Converter no longer reports itself as version 5.0.1.
Known Problems
  1. Undo Causes Crash: Making a format change (e.g. Bold) in a field rectangle followed immediately by an Undo will sometimes result in a crash.
  2. CPU Usage in Classic Mode: When Helix is running in Classic mode under macOS, and is the foreground application, the CPU utilization of the TrueBlueEnvironment (e.g. Classic Mode) jumps to about 50%. In other words, Helix is a CPU hog. This is not a new issue, but it is an issue when running under macOS, so it is documented here.
Known Problems with Workarounds
  1. Problem: If you open the field or data rectangle format dialog, switch to the Dynamic Popup panel, and drag the dialog to another location, the screen does not redraw properly.
    Workaround: Toggle to another style, then back to dynamic popup.
  2. Problem: One beta tester reported that a collection created via "Save As" was saved in a damaged state. This could not be reproduced, but we felt it was serious enough that it should be documented here.
    Workaround: Do not use Save As; Close the collection and use the Finder to duplicate it.
  3. Problem: Color icons in user menus: All of the color swatches in the color menus of newly created collections include a 1 pixel black border to make it easier to distinguish light shades against the grayscale dialog and menu background. However collections created in Helix 5.0.2 or earlier will not show this border because the cicn resources already exist in the collection and writing code to alter them is impractical at this time.
    Workaround: If you want the borders to appear in your collections, you have two options...
    1. Open the collection with a resource editor and delete the cicn resource. The next time you open the collection, the cicn resource will be rebuilt by Helix with the 1 pixel black border around the swatches. Important: if you have defined any custom colors for your collection, you will have to redefine them.
    2. Open the collection with a resource editor, open the cicn resource, and manually draw a black border around each color swatch that appears in your color menu.
Known Cosmetic Problems
  1. Import/Export Dialog Options Command Key: In an import or export dialog, CMD-O is the keyboard equivalent for the "Options" button, If you select a folder in the directory list, the "Import" or "Export" button changes to read "Open" as it should. Pressing CMD-O while the button reads "Open" flashes both the Options and the Open buttons, even though only the Options command is executed. This is a cosmetic problem that existed in earlier versions as well, and will remain for the time being.
  2. Delete Data Dialog when Subforms are Involved: The delete data confirmation dialog that appears when a form with subforms is used does not center over the parent window as it should.
  3. Dragging in Sequence Window: Dragging a step up and down in a sequence list leaves some harmless visual artifacts.
  4. Appearance Manager Compliance: The Open dialog can't be made appearance compliant. It will be replaced with a Navagation Services style dialog in the macOS release.