Everything Else
The New ‘Save Changes Before…’ Dialog

Attempting to do certain actions* in a view that has an edited but not yet entered record on it brings up the Save Changes Before… dialog. Helix brings significant changes to this dialog in macOS.

  1. In Classic, the button choices are labeled Yes, No, & Cancel. In macOS the buttons are labeled Enter (or Replace), Don’t Save, & Cancel respectively.
  2. In Classic, the Yes (now the Enter or Replace button) is disabled if there is invalid data on the view that would prevent the record from being entered. However, no other information is given to indicate why the button is disabled; the user is expected to simply understand what the problem is. In macOS there are two significant changes that should help the user understand. First, the dialog box contains a paragraph letting the users know the record can not be saved in its current state. Second, the Enter/Replace button is no longer disabled. This provides two advantages: (1) it leaves all of the button choices enabled in a consistent manner and (2) if the user ignores the warning text and chooses it anyway, an additional dialog opens containing the Why? message for the error that is preventing the data entry.
  3. In Classic, the secondary dialog (which could occasionally be seen if you happened to do specific actions in a specific order) contains two buttons, one to abandon your invalid changes and proceed with the action, the other to cancel the action and return to the record in order to correct the invalid data.
    However the text in the buttons is not dynamic enough to adequately convey what will happen if the button is clicked in all situations. For example: whenever an existing record is in question, the button that discards the changes is labeled Revert, but when a new record is about to be discarded, the button always says Clear Form — even if that is not the command you chose. (Each button also has a short sentence next to it to clarify its meaning, but that non-standard interface device is often overlooked.)
    In macOS the buttons are labeled in a context-sensitive manner to help the user understand what happens when chosen.

These improvements will continue to protect against invalid data entry while providing the user with direct feedback as to what that invalid data is.

The Dialog, No Error, Creating a New Record

The dialog that now appears contains context-sensitive messages to better inform the user of the nature of the problem.

The Dialog, Error, Replacing an Existing Record

If there is an error that prevents record entry, the dialog gives you more information.

If You Try to Proceed

This is what the revised secondary dialog looks like.

The message below the title is the same as the Why? message you would see if you had tried a regular Enter or Replace, then checked the Why? message after Helix beeped at you.


The default button is always the one whose action results in no loss of data.

On a view that has a default button, choosing to Enter/Replace a record through this dialog does not trigger the default button. This ‘loophole’ can be avoided by setting user permissions for the view to prevent the dialog from appearing.

When You Might See This Dialog

*The Save Changes Before… dialog appears when you do any of these (and possibly other) actions:

  • closing the window
  • finding a record (Find First, etc.)
  • clearing the form
  • canceling a quick query
  • exporting records
  • importing records (including Paste Record)
  • printing records (Find and Print All)
  • updating documents
  • presetting posted values
  • quitting Helix (or closing the collection)
  • showing view setup (Design Mode only)
See Also

R6112: Printing Unentered Records (With Post On Print Caveats)