Panorama X 10.2.0 b17+b18 Build 3745 Release Notes

This release note actually covers both b18 and b17 (b17 was not previously released or documented publicly).

There’s a new way to download this release – no more downloading with a web browser. Instead, you’ll use the Download Assistant which is available in the Panorama X Database Exchange. Follow these steps to install this new version.

  • Open your current copy of Panorama
  • Open the Database Exchange (from the Help menu) and search for “Download”.

  • Download the PanoramaXDownloadAssistant database, then open it.
  • Press the Download button (note this screenshot shows an old name for this database).

  • Next, press the Reveal in Finder button.

  • Quit Panorama
  • Drag the new Panorama application from the Downloads folder to the Applications folder (or wherever you want to keep it). You may also rename the application if you want.
  • The new Panorama is now ready to launch (unlike previous beta releases, you don’t have to perform any special steps the first time you launch it).

You’ll only need the Download Assistant this one time. From now forward, Panorama X will automatically check for updates each time you launch it (read more about this in the release notes below).

To update Panorama X Server:

  • Start by updating PanoramaX.app (using the steps described above)
  • Launch Panorama X
  • Open the Preferences dialog, switch to the Server pane
  • If Panorama X Server is running, stop it
  • Start Panorama X Server. It will automatically update before launching.

Here is the combined list of changes in the b17 and b18 releases. This update has taken a while to get out but it includes 47 documented changes.

  • Panorama X now has an all new update manager, so from now on there will be no more need to manually download updates! Panorama automatically checks for new available updates each time it launches, but also allows you to review the descriptions of previous updates (and you can even download older updates). In addition to automatically updating production versions, the new update manager can also automatically update beta versions.
  • The Server Preferences panel has a new Master Computer option. This option allows any client computer to be designated as the “blessed” computer for uploading new databases and new database generations to the server. If a master computer has been designated, no other computer will be able to upload databases or design changes to the server.
  • Added two methods for detecting damage to a database: integrity seals and data structure corruption tests. This system is designed to let you know if a hardware problem (disk or RAM) has damaged your database. If a problem occurs in RAM, Panorama will not save the database in place, ensuring that the last guaranteed valid copy of the data on disk is not overwritten.
  • To ensure good performance, Panorama now limits the number of visible columns in the data sheet. The default limit is 150, but can be adjusted in the Preferences:Advanced panel. If there are additional undisplayed fields, the last column of the data sheet shows +nn (the number of additional fields). This extra column doesn’t display data and cannot be clicked or tabbed into.
  • Text List and Matrix objects now update when data in the current record is updated (if the Database Navigator option is enabled). This was a much requested feature!

  • New alwayskeepopen database option. If enabled, the database won’t close when all its windows are closed, but will stay open secretly in memory. This can be enabled in the Database Options>General panel, or with the setdatabaseinfo statement (and observed with the dbinfo( function).

  • The Relations panel now detects if any fields used in a relation have been renamed or deleted, and indicates that to the user so that the problem can be corrected. This change and the steps needed to fix a relation after a field name change have been documented (see the bottom of the Relational Database Management page).

  • When printing the Data Sheet, Panorama now uses the text size selected for the Data Sheet window instead of always printing using 12 point text.

  • Data entry of days of the week (Sun, Mon, Tue etc.) now respects the system setting for the first day of the week. So if the system settings say the first day of the week is Monday, data entry of “Sunday” will refer to the upcoming Sunday, not the previous one.

  • Fixed dragging of columns in a text list. In particular, this showed up in the Text Import wizard.

  • Clicks in the header of a Text List object now work even if the list columns are resizable. Clicking in the header will trigger the code associated with the procedure, unless the click is between columns in which case it initiates the process of resizing the column. This issue manifested as an inability to drag using the column headers in the Text Import window.

  • Client auto-unlock no longer causes hang if Panorama is not the frontmost application when unlock is triggered. In other words, it’s now safe to use the Auto-Unlock option in shared databases.

  • The server Auto Lock Timeout feature now works properly even if a client has simultaneously locked records in multiple records (of course only 1 record per database can be locked at a time).

  • The Upload Data menu command (and UploadRecord statement) now adds the record back into the server if it has been deleted by another user. So if multiple users are editing a database, and one of them deletes a record, any of the others can upload it back (as long as they do so before synchronizing).

  • The Lock Record menu command now displays a proper error message if the record is missing on the server (has been deleted by another user). Also the lockrecord statement now throws an error in this situation.

  • The DeleteRecord statement now reports an error if the record can’t be deleted, instead of just beeping. For example if the record can’t be deleted because it is locked by another user, that fact will be reported.

  • The ImportText statement ADDFIELDS option now defaults to NO when working with shared databases. This also allows the OpenTextFile statement to work with shared databases.

  • New dbinfo(“lockstatus” option, returns LOCKED, BUSY or ERROR. This is designed to be used after the lockcurrentrecord( function if you need to differentiate between an ordinary locked record and some sort of server error.

  • The View and Action menus now update immediately when a database is synchronized (for example if a new form or procedure was added or removed due to the synchronization).

  • Better reporting of locked records and/or server errors when using assign statements, as well as the set, gettextdialog, gettextokcancel, importjsonline, immportline, joineonerecord, popup, and popupbynumber statements, and the lockcurrentrecord( function.

  • Fixed edge case that in the past could sometimes cause newly entered text to be lost if you simultaneously edited with multiple Text Editor objects at once (this is possible if multiple form windows are open for the same database).

  • The objectaction “open” statement now works with shared databases, even if the record has not been locked yet.

  • Fixed multiple problems with the Channels panel of the Settings window.

  • The min and max statements and the aggregate( function now work with 64 bit values outside of the 32 bit range.

  • If a View Organizer window is already open, choosing View>View Organizer will open a second organizer window for the database that was already being organized (instead of an organizer window for the View Organizer itself).

  • Fixed databaseexportcsv, databaseexporttsv and databaseexportjson so that they work with paths starting with ~/.

  • New blindposixscript( function allows Panorama code to run a UNIX script in the background. The UNIX script can even continue running after Panorama quits (this function is used by the new update manager).

  • New functions info(“processname”) and info(“processidentifier”) return information about the running copy of Panorama for use in UNIX scripts.

  • New zipuncompress statement, properly unzip’s compressed files created by the Finder and by the zipcompress statement.

  • New function jsonscriptstring( facilitates the creation of JSON literal strings.

  • New ErrorMessage button added to Error wizard, when clicked it displays the full error message.

  • The ImportDatabase statement no longer leaves a “hanging” progress window for small uploads if the toolbar is hidden. Also, the new statement CLOSEALLASYNCPROGRESSWINDOWS makes it easy to close any “stuck” progress windows. Hopefully this will never be needed.

  • The PostToRelated statement has improved error reporting if the database isn’t open or if there is no relation to the specified database.

  • Fixed the errortext( function – it was leaving the error token on the operand stack so it didn’t work when the value was passed into another function or operator.

  • Panorama dates are now restricted to below <10000 A.D. If data was corrupted, random large date values could cause Panorama to rainbow, now they simply are interpreted as 1/1/0000.

  • Find & Replace dialog now allows clicking in the Replace text to edit that text.

  • The measuretext( function now works when used with font names containing a dash (-).

  • The uniqueid( function now correctly produces an error if handed a root defined by a field or variable that does not exist.

  • The aggregates( function now reports the database name instead of (null) if the the specified database is not open.

  • Recording the importdatabase dialog now produces correct code (the ExistingData option is now “Replace” or “Append” instead of true/false),

  • Fixed the stopbonjour statement (it didn’t actually stop Bonjour!).

  • Fixed a typo in the label for the Fill Field tool.

  • Documented the fact that sometimes the .CurrentRecord procedure will get called more than once for a single operation, for example adding a new record.

  • Significant improvements to the system Panorama uses to report usage to the ProVUE.com server. See https://vimeo.com/573791224/5bc3d5c348 for a detailed explanation of these improvements. If the users computer is connected to the internet but provue.com is offline for some reason (disaster of some sort), Panorama no longer displays the blue letter dialog demanding that the computer be connected to the internet - Panorama just keeps working. If the computer is offline for a long time and the blue letter dialog appears, the Check Network button now works correctly. The Site License window now shows a cloud upload icon if there is usage data that hasn’t been uploaded – clicking this icon uploads the usage data immediately (useful if you have a temporarily available internet connection and want to make sure you have another 16 hours of offline usage available). The Site License window also now shows a lock icon in the upper left corner that indicates it is using SSL encryption (like the lock in a web browser). Clicking this lock opens a sheet that displays the status of the SSL certificate. This sheet also allows you to turn off SSL, so that Panorama uses a regular http connection to provue.com. You would only want to do this if there is a problem with SSL on your computer, for example as occurred with OS X 10.11 and earlier in June 2020. There is also a new function provueserverisup( that uses the uptimerobot api to check if provue.com is experiencing an outage. Also a new function info(“unreportedusagepercentage”). Also the url( function now allows you to change or remove the character set, or to change the agent header string, or to set the cache control header (these changes are not yet available for the other url access functions).

  • Panorama can now open an update link in the format panoramax://startupdatecheck?feed=FEEDID. This allows an update to be distributed privately through the automatic update system (for limited testing, for example). In other words, it will allow ProVUE to privately distribute updates without requiring the recipients to manually download, unzip and install the new version of the application.

  • The documentation for the draggraybox statement now explains what the “gray” parameter actually is.

  • Documentation corrections from Thomas Cooper, David Thompson, Jim Cook, Kurt Meyer, Craig McPherson, Mark Sanchez, Laurence Veinott and Robert Ameeti

Currently, searching for “Download” reveals nothing to download in Database Exchange.

So far it has been successfully downloaded 40 times, so there must be a problem on your end. Try closing and then re-opening the Database Exchange. If that doesn’t work I would try closing and then re-opening Panorama.

You may be using the Database Exchange wrong. Find the file in the list on the left, and then click the Download button at the top of the window next to the Search box. Once it is downloaded, you can click the Open button. Then you can download the latest version of Panorama.

Yes, but he should be able to use the Search box to find it in the first place. I think that is what he was saying didn’t work for him.

More than once it’s failed for me, but for reason. The discrete popup menu determines what gets found.