Product
Support
Everything Else
Europa 6.2b8 (5767) Companion TLW
A Note About Icon Names

Helix has always allowed the collection developer complete freedom in icon naming. That remains true in Europa, but there is one are where this can cause trouble: if you have more than one of an icon type with the same name, it may become more difficult for Helix to identify the correct one in the future. As this is not a very wise practice, we encourage all Helix collection designers to check for and correct this situation.

Existing Helix collections with duplicate named icons will continue to function correctly. This is simply a warning that, going forward, duplicate names should be avoided.

The Search for Duplicate Names script on the Sample AppleScripts page searches a collection for icons with identical names, which might lead to ambiguity when addressed via scripting. Only identically named instances of the same icon class within a parent are reported, as that is the only ambiguity; that is: two abaci named ‘true’ in two different relations would not be reported, but two abaci named ‘true’ in the same relation would.

What’s changed since 6.1b7 (5758)

Click each section header to show or hide that section.

New Features

  • Abacus Expression Language

    The Abacus Expression Language (abbreviated: AEL) is a radical new method of creating and modifying abaci. AEL is pure text representation of a Helix abacus. The contents of any abacus — including the underlying abacus that is built for a form query or power query — can be created or modified using simple naming rules.

    AEL is not a replacement for the Classic method of abacus construction. It is a supplemental method that can be used to create new abaci without the time-consuming process of manually dragging tiles, or of creating complex AppleScript code to navigate the tile structure.

    The expression property in the abacus, form query and power query returns the AEL expression that represents the abacus construction.

    The Abacus Expression Exporter script on the Sample AppleScripts page creates a text file containing every abacus (including form query and power query statements) in Abacus Expression Language (AEL) format. This file shows how existing abaci appear in AEL. Examining the output will help you begin to see how you can create a complete abacus via this text-based language.

    AEL Updates:

    R7365: AEL is Write-Enabled: The expression property is now write-enabled for the abacus. The construction (tiles, constants, icons) of an abacus can now be created by using an AppleScript set expression to… statement.

    Write-enabling AEL for the form query and power query would be a major new feature, and is not yet scheduled.

    A technote containing the complete technical documentation for AEL has been added to the support section of this website.

    R7365: Identify Template by ID: When generating an AEL expression, a template in a Use/From tile is now identified by its ID, not its name. Because the template can be in a different relation from where the abacus resides, it is impossible to guarantee that the correct template would be linked during a write event, were it referred to strictly by name. Although this makes it more difficult to read the output, it assures that re-writing the statement will work as expected.

  • List Page Caching: Lists now cache more pages, reducing redraws when scrolling.

    Previously, list views cached only what was necessary to display the currently visible pages. By default, Helix now caches one page before and one page after the currently visible pages, making the next or previous page appear instantaneously and greatly reducing the times the user will see the ‘data pending’ checkerboard pattern. However, when a cached page is first displayed, the busy indicator may appear while additional pages are cached.

    A new preference (HxListPageCacheSize) allows the user to control the number of pages a list view caches. The Editing Preferences page contains a link to the current Helix Preference Editor script for those who want assistance setting this preference.

    Warning: Adding pages to the view cache has an increasingly detrimental effect on performance. A more powerful computer can handle more pages, but even on a very fast Mac, values above 20 are essentially unusable.

  • R7327: A new preference (HxSCAlwaysDoMaintenance) allows the structure checker to do minor maintenance even when uncorrectable problems have been found. This may, on rare occasion, enable collection repair via Helix Utility or a subsequent pass of the structure checker.

Graphic User Interface

  • Miscellaneous Improvements:
    • RADE no longer displays the no anomalies detected dialog after a save. (Minor Maintenance and Not Corrected dialogs are still displayed.)
    • Icons that are pasted in from memory or from clippings are no longer positioned in the lower left corner of the icon field. ({-32700, -32700} on the coordinate plane.) They are now positioned at {0, -200} or {0, -400} depending on how they are added. This should position them in the visible area — or at least in the general vicinity of other icons — when the window is opened in icon mode.
    • R7363: Static Popup items are now separated by a comma in the Inspector display.

      Also tweaked the Inspector’s Static Popup editor dialog to more logically use the current selection when (+) is clicked to insert a new item.

    • R7378: The Copy File & Move File dialogs now have a title to make the action more obvious.
    • R7386: The NSI count error that prevents icons from being selected, deselected, deleted, opened, etc. in a collection or relation window now has a workaround.

      When an icon can not be selected or deselected, it is because of an error in an internal optimization table, known as the NSI (Number of Selected Icons) table. This is an old bug that has existed in Helix for years.

      Because existing collections may have incorrect NSI tables, we chose to implement a simple two-step process to correct them:

      1. With the window open, choose Select All Rows from the ‘Edit’ menu. The keyboard shortcut for this is CMD-A.
      2. Choose Clear Selection from the ‘Edit’ menu. A keyboard shortcut has been added to this menu item: CMD-Option-A.
    • The Classic ‘zoom’ effect that appears when a window opens and closes is removed.
    • A new HxTcpUsePort preference can be used to specify Client/Server port assignment. Takes precedence over the old PORT resource, which can still be used to handle multiple Servers on one Mac.
    • All references to Query should now be seen as Form Query (as opposed to Power Query).
    • Copyright data updated to 2012.
  • Bug Fixes:
    • R7391: Major Fix! Helix RADE now automatically rebuilds the internal icon tracking tables.

      An ancient bug exists in Helix would cause some internal icon tracking tables to get out of sync when changing the construction of an abacus. This happened most often when structure replacing existing abaci was pasted into a collection, but could happen at other times. This bug is described in greater detail in our web site knowledgebase: TS1042: Deleting an Icon Can Result in Reported Collection Damage.

      The key to this bug was that the damage was not reported when it occurred; instead the ‘out of sync’ table went undetected until some future date, when a change to the collection — most often the deleting of an icon — caused the table to fail catastrophically. At that point Update Collection would report that the collection was ‘not corrected’ with a diagnostic code of 30 or 36.

      Helix RADE 6.2b8 (5767) addresses this bug by clearing all of the backlink (and related SUL) tables when a collection is opened. Because of the speed of current Macs, this takes only a few seconds; you won’t even know when it happens.

      However, those tables are not rebuilt until the first time you open a view. Therefore when you open a collection with Helix RADE 6.2b8 or later, you must open at least one view before saving and quitting if you are going to reopen that collection with any Helix 6.0 or 6.1 product.

      Because of the very real possibility that this bug has existed for years and that damage caused by it may exist in any collection, it is our strong recommendation that all collections be updated to Helix 6.x and opened with RADE 6.2b8 or later. Once the collection is open, go into any relation and open one view. This will rebuild those tables, eliminating the possibility of this bug being able to affect you in the future.

      Many Helix users have icons that are marked “Do not delete” to work around this bug. After opening those collections with Helix RADE 6.2b8 or later, those icons can be deleted without fear. The collection can then be used in any Helix 6.x product with confidence that the potential for a ‘not corrected’ result when deleting icons has been eliminated.

    • R7361: Changing the query of a dynamic popup (through posting) no longer triggers a 7302 error.
    • R7367: When a new template is created, the default size is no longer {0, 0, 0, 0}.

      If Helix can not determine the system default page size, a default page rectangle of 8" by 10" is used.

    • R7368: The error message sequence property has been changed to avoid a terminology conflict with the system’s error message.
    • R7372: Attempting to edit a second Static Popup would actually edit the first one again, unless the Inspector was closed and reopened. This has been fixed.
    • R7373: Re-editing a Dynamic Popup in the Inspector no longer triggers a random error. (5516, 7501, etc.)
    • R7380: RADE no longer crashes when opening a collection that previously crashed in a ‘fragile’ state.
    • R7381: All bugs reported in the Paste Structure dialog have been fixed.
    • Correctly determine the result type of the Styled Text tile. (This is an ancient bug, but possibly harmless.)
    • Changing a dynamic popup via the Inspector no longer results in minor maintenance.

AppleScript

  • Miscellaneous Improvements:
    • Previously, when a template was changed, any open views that use that template would close and reopen to show the change. The changes are now applied without needing to close/reopen the view.
    • Previously, when a property was changed for an open view, the view would close and reopen to show the change. It is no longer necessary to close and reopen the view.

      Note: the exception to this is the location property: the view must be closed to change the location property, or the current location will be stored when the view is closed, just as it would be if the view were relocated via mouse. This would have the effect of nullifying the change.

    • More abacus summarization flags are now available:
      • includes from tile
      • includes today tile
      • includes form time tile
      • includes post time tile
      • includes unique tile
      • includes user name tile
    • R7263: Changing user’s menu items while in User Mode now updates the menus immediately.
    • R7298: More Nirvana: you can now get item x of a list property in a single statement.
    • R7326: The posting setup of a view is now handled as a set of four properties (each posting type is returned as a list of post icons) instead of as elements.
    • R7335/R7364: Where Used windows now support the selection property.
    • R7351: It is now easier to work with the no index option in a view’s selectable indexes property.
    • R7366: The text of a label rectangle can now be set using the with contents (with data) parameter.
    • R7371: Some changes were made to the handling of variables used to track the ‘sequence nesting level’ in yet another attempt to resolve this bug.
  • Bug Fixes:
    • R7330: Winnowing a Power Query no longer erases the completed search statement, and no longer triggers a crash.
    • R7346: The format property of a template rectangle was previously undefined. It is now correctly returned.
    • R7352: Resetting a view with a subform no longer leaves the collection unstable.
    • R7374: Changing an abacus expression was not updating list contents.
    • R7382: Creating a list view no longer creates changes that can’t be committed.
    • R7384: Attempting to work directly with the used by property no longer triggers a crash.
    • R7397: A potential crash when creating a new index has been resolved.
    • The icon of a where used window is now returned correctly.
  • Terminology Updates: The repetitive use of certain Helix terms (e.g. view, template, query…) for AppleScript commands and properties can cause conflicts when attempting to compile AppleScript code. To resolve this, some terms have changed. If a previous script no longer runs, you may have to recompile it or modify some of the terms used.
    • elements edit posts, et. al. are now properties edit posts
    • record font -> font style
    • font style property text color -> color
    • font style run font info -> font
    • record font color run -> font style run
    • styled rectangle font information -> font
    • styled tile text color -> color
    • view properties … post -> … posts (edit, export, demand, print)
    • power query properties … item -> … items (searchable, reference, permanent)
    • enumeration sequence error message options -> sequence message options
    • field property ignore -> keywords to ignore
    • view property position known -> showing record
    • element sequence item -> sequence step
    • sequence property error message -> message option
    • sequence property open why message -> display message
    • plural of class helix icon was icons -> helix icons
    • structure check result property value -> diagnostic data
  • Event Code Updates: The following Apple event codes have changed.
    • font style run font property: from Hfnt to Tfnt)
    • subform linkage deletes records property: from Mndl to Fndl to avoid conflict with view’s delete host record property
    • command set color index property color: from colr to Tfcl
    • sequence message property: from Qmsg to msgV (system code for ‘message’)
  • Dictionary Updates: The following terms have improved or corrected dictionary entries.
    • All helix icon elements (taken largely from The Helix Reference)
    • window element
    • abacus element (typically a tile)
    • add command
    • add command parameters: direct parameter, after, at
    • helix icon property position
    • view property showing record
    • class sequence
    • element sequence step
    • sequence properties: show dialogs, message option, display message, message
    • enumeration sequence message options
    • Added synonym alignment for justification property in styled rectangle class
    • Added cross references from template to normalize template & check rectangle overlap
    • Other minor changes
Backward Compatibility

Europa remains backwards compatible with all versions of RADE from 6.0 forward.

Previous Updates

Release Notes for Prior Preliminary Releases

Find Next