Version 10.2.0 b31 (released January 16, 2023)

The big news in this release is a major makeover for the Help window. Be sure to visit the revised Panorama Help Wizard help page to see what’s new. This release also includes a major change to the Web Browser Object (which is used by Help, Video Training, Charts, and Check for Updates), several changes to help manage a Panorama X Server, and of course a variety of small bug fixes and enhancements.

- The Help window has a major makeover in this release. Each page now has an interactive table of contents that makes it easy to jump directly to any section, even for very long help topics. You can also search within the content of a help page to find a word or phrase. It’s now possible to use a full formula search to filter the topic list to find the exact help page you need. To accommodate long formulas, the search area can be expanded to the full width of the page. The Help window also now displays estimated page counts of the selected help topics, to help you judge whether you need to further filter the topic list.
- The Video Training wizard now plays back video correctly when running macOS 13 Ventura.
- The Web Browser Object now supports Apple’s modern WKWebView framework when Panorama is running on a version of macOS that supports that framework. This enables faster web browsing, and protects Panorama itself from malformed web content (Panorama won’t crash even if the web browser does). Note: This change to WKWebView fixed the video playback issue and also enabled several of the new features in the Help window.)
- The Web Browser Object now supports enhanced customization and bridging between Panorama and JavaScript. The Panorama/JavaScript bridge is now fully documented, please see the new Web Browser Programming help page.
- Use of the objectaction statement with Text Editor, Text List and Matrix objects is now fully documented. See the help pages for Text Editor Programming, Text List Programming and Matrix Programming.
- The new containsword operator checks for the existence of a word. This is similar to the contains operator but only matches complete (not partial) words.
- A form object with no Data item specified no longer creates an empty fileglobal variable. This would cause assigning to `«»` to fail.
- The Preferences window has a new Favorites panel. This provides an alternate way to modify the favorites, and also allows you to copy and save the favorites as text (for backup).
- Panorama X Server now includes a built in jsonstatus url that is designed for use with a monitoring service like UptimeRobot. See the Installing and Launching Panorama Server help page to learn more.
- The Site License Payment panel now has a Current Account Usage button that displays a dialog showing the usage of Panorama during the current period, including server usage. This can help with predicting when a payment is needed to replenish your Panorama X account.
- Panorama X Server now has a 3 day grace period for web publishing. If the account balance falls to or below zero, web publishing will continue to work for an additional 3 days.
- Web developers can now customize the error pages that appear when various types of errors occur. This includes code errors as well as problems with the Panorama account (low balance, etc.) See the Web Error Pages help page for details.
- The new function serverstatus( returns a dictionary describing the current status of Panorama X Server. The status includes the up time, server name, and account status (whether or not a payment is required). The intended use for this function is to create a custom monitoring URL.
- The Join statement is now allowed in a shared database if serverupdate is set to OFF.
- Text List objects have a new NoFocusRing option. When this option is enabled, no focus ring will appear around the Text List object when it is active for keyboard input.
- The new tweakobject statement modifies the dimensions of an object (or multiple objects).
- The new FormulaTokenCount( function returns the number of tokens in a formula (or zero if there is a syntax error).
- Panorama will never create a variable with an empty name. Previous versions would do this, in particular if the field/variable associated with a form object wasn’t specified. The symptom was that «»=value assignments would not work, nor would the cell statement.
- The sum( function now works correctly in arraybuild, formulafill, select, etc.
- Fixed use of ENTER as a hot key. This also fixes the ENTER key in dialogs.
- Fixed the ability to change the font size in GetSuperText dialog.
- Fixed SuperGetText so that it will correctly terminate when the Return key is pressed if the text area is 1 line height.
- Fixed the SuperGetText vertical scroll bar option.
- MatrixClick no longer bounces out with an error if you click on a matrix that is not in a foreground window.
- New info(“activeobjectid”) function (does the same thing as the info(“focusobjectid”) function.
- The selectreverse statement now sets info(“empty”) to true if the database had all records selected.
- The menu( and submenu( functions no longer output extraneous tabs and ¬ characters.
- Updated the list of Panorama 6 statements and functions that are not implemented in Panorama X.
- Documentation corrections from Peter Newble, David Thompson and Jim Cook.