CMSB v3.60 Released (Enhanced Server Management & Error Tracking)

15 posts by 3 authors in: Forums > CMS Builder
Last Post: August 1, 2023   (RSS)

By Dave - July 12, 2023

Hi everyone, 

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)

SERVER REQUIREMENTS
- This software version REQUIRES: PHP 8.0+ and MySQL 5.5+

NEW FEATURES
- 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

BUG FIXES
- 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! 

Dave Edis - Senior Developer
interactivetools.com

By kitsguru - July 12, 2023

is it possible to update the online demo to this version?

Jeff Shields

By Dave - July 13, 2023

Hi Jeff, 

Sure, we could take a look at that.  Curious how you're using the online demo or how that would help?  Thanks!

Dave Edis - Senior Developer
interactivetools.com

By kitsguru - July 13, 2023

just went to check out the new server info without having to do it on my server.

Jeff Shields

By kitsguru - July 13, 2023

Thanks, I see a couple of things I would like to explore, but will do it on my machine.

Jeff Shields

By kitsguru - July 14, 2023

composer.json needs to be updated to:

{
    "minimum-stability": "stable",
    "require": {
    },
    "config" : {
      "platform": { "php": "8.0.0" },
      "vendor-dir" : "vendor"
    }
}
Jeff Shields

By kitsguru - July 14, 2023 - edited: July 14, 2023

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

https://ss64.com/osx/du.html

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.

Jeff Shields

By kitsguru - July 14, 2023

In the server info on Macos it is necessary to check if running under Darwin, 

Operating System Darwin 22.5.0 (release)

The 'release' link is file not found.

Jeff Shields

By Dave - July 14, 2023

Hi Jeff,

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!

Dave Edis - Senior Developer
interactivetools.com