CMSB v3.60 Released (Enhanced Server Management & Error Tracking)
We've just released CMS Builder v3.60, this is the official release and release brings significant improvements to server management and error detection.
You may have had clients tell you their site isn't working properly even though "nothing has changed". Often, these issues stem from automatic software upgrades by web hosts or servers. To help you keep track of such changes, we've introduced a feature that automatically records server change history. Now, you can easily identify any recent upgrades—like if PHP was automatically upgraded "3 days ago" or if the database server, IP, or any number of other details has changed.
Additionally, we've upgraded our site-wide error reporting system. It now allows you to group messages by file (a feature we're calling "Filepath Report") and line number. This makes it quicker and easier to pinpoint and resolve the exact source of an issue.
Here are the key highlights:
Admin > General > Server Info (Admin Panel): Our upgraded Server Info section now offers more details about your server, including server IP, the user PHP is running as, and many more details for a faster diagnosis when potential issues come up.
Admin > General > Recent Changes (Admin Panel): This feature tracks all recent server changes, including updates to the Content Delivery Network, Operating System, Server Name, Server IP, Web Server, Control Panel, Database Server, Database Details, PHP Version, PHP User, and CMS Version. This feature aims to help you identify when external factors might have caused problems or are affecting your system's performance.
- Filepath Report (Developer Log): A new addition that groups errors by filepath, highlighting the affected lines. This streamlines your workflow, reducing the need to wade through all the errors.
- Enhanced Error Reporting (Developer Log): We have refined error reporting to display more relevant information. You will now see fewer irrelevant details and more useful data such as the filepath and line numbers of the website specific code associated with the issues.
Here's the complete changelog:
*** July 12, 2023 - Version 3.60 (Enhanced Server Management & Error Tracking)
- This software version REQUIRES: PHP 8.0+ and MySQL 5.5+
- Server Info: "Admin > General > Server" now show some additional details about the current server
- Server Changes: "Admin > General > Server" now shows change history for server components (PHP, etc)
- Developer Log: New "Filepath Report" groups errors by filepath for easier debugging
- Developer Log: Improved detection of source filepath and line num of errors
- Developers: Added shellCommand() function to try various PHP shell execution methods and/or fail gracefully
- Error reporting: Fixed issue where @ silenced variables will still returning errors
- Default Data Files: Updated defaults to: ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- mysql_escape now properly escapes backslashes ("\") so they match in searches
- Misc Code and other minor improvements.
You can download the latest beta here: https://www.interactivetools.com/order/download.php
Please post any feedback, questions, or bugs you find!
The following command required sudo. Also -S came up as invalid on MacOS Ventura 13.4.1
du -hSx / | sort -hr | head -n 30
The following command worked on my machine without sudo and limited it to the current directory
du -ahx | sort -hr | head -n 30
Here is the man page for du on Macos
ALSO the command should use settings->webRootDir and not / the root directory for the server. Then there is no need for sudo and is limited to the website root.
I've added the composer.json updates to the next release in development.
For the utility functions under Server Info, they won't work on all servers due to differences and security limitations, but they can be useful when they do. It's more about being able to easily investigate the current server.
The purpose of the largest dirs function is to try and determine what's taking up the most space on the server's mounted filesystem, which would include even files above the website root. Unfortunately, it seems the BSD version of du that ships with MacOS doesn't support the -S option that let's us exclude subdirectory sizes in the calculation. I'd be happy to find something that would work.
For releases, I'm wondering about calling the sw_vers command on macos. Can you let me know what it shows when you hover over the OS name?
For the Macos, is that your workstation or development server? I'd be glad to add some mac specific code, we just don't have a machine handy to test on. Can you click on: "Admin > General > Server Info > PHP > phpinfo link" and then search for PHP_OS and tell me the value of PHP_OS and PHP_OS_FAMILY? I can add some macos detection code.
Thanks for the feedback!