Panorama X 0.9.002 Build 2567 Release Notes


Panorama X 0.9.002 is now available. You can download this new version from the web site, or you can simply launch your current version of Panorama X and let it automatically update. If Panorama X is already running, choose Check for Updates in the Panorama menu.

This release is primarily about smoothing the path for new users that are trying Panorama for the first time.

  • Implemented a new Panorama Video Training wizard (in the Help menu). This wizard brings all of the available Panorama training videos into one spot, including free and on-demand. There are 15 new Quick Start videos, 4 new videos about transitioning from Panorama 6 to X, a video about Panorama X pricing, and one introducing the Panorama X Intensive Training course. More videos will be released in the future.

    When a video is selected, the lower left hand corner of the window displays a list of help topics related to that video. You can double click any item in this list to open that topic in a new Help window (or single click on the link icon, as shown below).

    The size of of Panorama Video Training window is adjustable with a pop-up menu – Regular, Large or Extra Large. It will remember the size you set it to between uses. The first time it opens, it will be Extra Large. The sizes adjust to the size of the monitor available.

  • Made minor UI changes to the Panorama Database Exchange wizard. More importantly, fixed and documented the process for uploading example files to the exchange (see Uploading to the Panorama Database Exchange). At the time this is being written, there are 15 example files in the exchange, with more coming from both ProVUE and Panorama customers.

    A particular shoutout to Gary Yonaites for being the first Panorama user to upload databases to the exchange.

  • Added new let statements, which both create a variable and assign a value to it. There are five variations: Let, LetFileGlobal, LetPermanent, LetWindowGlobal and LetGlobal. For example, the statement

    let n=1

    Is identical to these two statements:

    local n

    Here at ProVUE, we expect the let statement (and its variations) to almost completely eliminate the use of local, fileglobal, etc.

  • Added a preference to set the default mode of new Text Display objects. The default mode is now Literal Text (it was Formula), but you can change the default in the Panorama preferences panel.

    This is a major change in the default behavior of new Text Display objects. We think this will be much simpler for beginner and intermediate users, but advanced users may wish to switch the preference back to Formula mode. If you have any programming code that creates Text Display objects with the newformobject statement, make sure that the code specifies the mode, since you can no longer rely on the default mode being Formula.

  • Holding down the Shift key when opening the Find/Select Dialog now causes to Panorama to re-open the previous search, even if the preferences are set to reset the search every time. This makes it easy to repeat the previous search, perhaps with some modifications.

    The Shift key has the same effect when opening the Summarize & Analyze Dialog.

  • Now when editing the name of a favorite (sort, search, etc.), the name updates immediately as you type. So you don’t have to remember to press the Return key to update the name before you press the Done button. This makes the process of creating a favorite much less error prone.

  • Panorama now honors the Page Setup scaling value, so you can print at 50% or 125% or whatever you want. This works both when you print or preview from the File menu and when using the printtopdf statement.

  • There are new info functions that return the current page setup settings for the current database: info(“pagesetupscale”), info(“pagesetuporientation”), info(“pagesetuppaperheight”) and info(“pagesetuppaperwidth”).

  • Fixed toolbar so that the items in the overflow menu work.

    This fix also allows the toolbar Text Only mode to work.

  • Added Import>New Database from Text file options to File menu when no database is open.

  • Upgraded Field>Morph>Fill with Value and Field>Morph>Fill with Formula to use a nice dialog sheet instead of plain-jane modal dialog.

  • In the Find/Select Dialog, the New Selection/Subset of Current Selection/Superset of Current Selection pop-up menu now immediately updates the search preview.

  • Added the Move Record Up and Move Record Down commands in the Records menu, with shortcuts of Command-Up Arrow and Command-Down Arrow.

  • Added new count( function, which is like the sum( function but counts up non-empty line item fields. Can be used with sum( to calculate the average of non-empty line item fields, for example 100*sum("Amount")/count("Amount").

  • Implemented the safefileerase statement, aka safefiletrash. Somehow this was documented but not actually implemented in previous releases.

  • Implemented the MakeFileSecret statement. It was already documented, so probably it had been implemented before but somehow the code got lost along the way.

  • Fixed Panorama Help so that when you switch to a different help realm, the first topic in the realm is automatically selected. Also, when opening the Tutorial from the Help menu, it automatically selects the Tutorial realm and starts with the tutorial table of contents page.

  • Text Label objects can no longer be resized. They always resized automatically, so any manual resize was cancelled as soon as you edited or changed the font, but now attempts to resize by dragging the handles are simply ignored. (The handles are still displayed, though.) A Text Label object can still be resized with the Measurement Panel, or if it is part of a group or multiple objects being resized. But as before, any resize will have only temporary effect.

  • If the title parameter of the StartDatabaseChange statement is omitted, the title now defaults to the name of of the procedure the statement is enclosed in. In practice, this will often mean that you can leave off this parameter.

  • The StartDatabaseChange statement now displays an error message if an unknown undo operation type is specified. Also, Panorama will remove white space from the undo operation type, so for example "current record" or "all records" are allowed.

  • Menu separator items in a custom menu now work correctly even if a non-standard font or size is used for the menu. (In previous versions the separator would appear as a dash instead of as a proper separator.)

  • New specialkey( function, can be used with menuitem( function to create command key equivalents for special keys like down arrow, up arrow, function keys, etc.

  • Fixed problem that caused nothing to print if the data tile was taller than the height of the printed page.

  • The fieldvalue( function (aka grabdata() now works correctly in database scanning statements like formulafill and select, even when accessing a field in the current database. This also means that using the superlookup( function with double chevron notation to reference fields in the current database will work when using these statements.

  • The import() function now works with the importtext statement.

  • The formulafill statement now works correctly with lookuplast( function that looks into the current database. There was also an unreported bug with superlookup( if the SkipCurrentRecord option was enabled in this situation, also fixed.

  • The lookupall( function now includes empty values in the results, just like it did in Panorama 6.

  • The lookupall( function now works properly when the key field has spaces or punctuation in it. You no longer need to both quote and add chevrons to the key field name to get it to work. (However, so that any databases you have adjusted for this bug will still work, it is still allowed to use both quotes and chevrons at the same time.)

  • Fixed five url related functions that would crash if a malformed URL was supplied (for example "hello%world.html" instead of "hello%20world.html". The fixed functions are urltask(, url(, loadurl(, openurl( and posturl(. The same problem was fixed in the OpenURL statement, and in the Web Browser Object.

  • The for statement now skips code in body of loop if initial loop index is greater than final loop value.

  • Now strips leading and trailing white space (inclucing line breaks) from field names when importing from Panorama 6.

  • There is now only one shortcut for Find Previous, and it is Command-Shift-G.

  • Changes made to reduce Panorama’s peak memory footprint when doing intensive long running tasks.

  • Corrected the statelookup( function documentation to indicate that it returns the original text if the state is not found.

  • The Site License wizard now correctly submits orders for 1 month.

  • Fixed cosmetic problem with Database Options dialog (double instances of objects in first pane when first opening dialog).

  • OpenWizard now allows a wizard’s _WizardInfo code to specify a width as well as height.

  • Incorporated documentation corrections submitted by multiple users, including David Thompson, John Bovenmyer, Michael Kellock and Craig McPherson. Thank you!


Great looking stuff in here and the documentation is looking superb but I have a couple of minor niggles.

I’m not so enthusiastic about the let statement - it leads to a scattering of variable declarations throughout the procedures rather than one or a few places.

The reaction to a CMD-F keystroke (and perhaps others) is still very slow - I continually find that the first three or four characters I’ve typed haven’t registered (compared with Panorama 6 where the process was effectively instantaneous).

It’s good that the Return key now triggers the highlighted buttons in this sort of dialogue but it’s bad that the Enter key doesn’t. I’ve always preferred to use the Enter key to avoid the possibility of adding another character to a multi-line data box and I’m likely not alone there. Is there a reason it can’t be used?

All that aside, Panorama X has come a very long way from my first encounter and it’s now a delight to use. I use Panorama 6 almost as much, mostly supporting a friend’s needs and I have no difficulty moving between them.

X out of X Jim!


If you like structure, as I do, you are free to Always put them at the top of the procedure. There is no one going to force you to put them lower. But even for us structured types, it will eliminate an assignment line

The reaction to a CMD-F keystroke (and perhaps others) is still very slow - I continually find that the first three or four characters I’ve typed haven’t registered (compared with Panorama 6 where the process was effectively instantaneous).

Agreed. A real pain. I’m wondering what is different that is causing this.

It’s good that the Return key now triggers the highlighted buttons in this sort of dialogue but it’s bad that the Enter key doesn’t. I’ve always preferred to use the Enter key to avoid the possibility of adding another character to a multi-line data box and I’m likely not alone there. Is there a reason it can’t be used?

I was noticing the lack of the Command-L and Command-M for the Within, and Additional.