CMSB v3.69 Released (Apr 29) - Website/Code Backups

9 posts by 4 authors in: Forums > CMS Builder
Last Post: May 23, 2024   (RSS)

By Dave - April 29, 2024

Hi everyone,

We're excited to announce the release of another CMS Builder update, which includes a new section: Admin > Backup > Website Backup

This feature allows you to quickly create a zip file of your entire website and database, save it on the server, and optionally download it through your browser. You have the flexibility to choose between backing up everything or only specific code files (*.php, .js, .css, etc.), and a snapshot of the database is also included by default. Here's how this feature can benefit you:

  • Faster backups: Downloading numerous files via FTP can be time-consuming. It's not uncommon for us to initiate a website backup and then switch to other tasks while waiting for it to finish. With this new feature, creating a zip file and downloading it through your browser takes mere seconds, allowing you to create snapshots of website changes as frequently as needed.
  • Reduced backup size: We offer the option to backup only code files (*.php, .js, .css, etc.) or everything, and since the files are compressed into a zip, they consume significantly less space on your hard drive. Code file backups are particularly handy when you want to keep track of code changes over time.
  • Simplified change history: You can name your backups with descriptions like "before new revisions" or "post-launch," providing you with static backups at specific points in time. This makes it easy to compare and retrieve an old file if necessary or to investigate changes. Backup zips can be easily unzipped and compared using your preferred diff/compare app (I personally use WinMerge on Windows). Additionally, since we're taking a snapshot of the database, you'll even be able to see changes in the database data between backups.

I'll note that git and modern source control tools are great, and we use them on larger projects, but when you don't have that option, this feature provides a great alternative.

Here's the changelog.

*** April 29, 2024 - Version 3.69 (Website Backup)

SERVER REQUIREMENTS: PHP 8.0+ and MySQL 5.7+ (or MariaDB 10.2+)

NEW FEATURES
- Website Backup: New feature to backup your entire website, including files and database (under: Admin > Backup)

MINOR CHANGES & BUG FIXES
- Database Backups: Added READ LOCK to prevent changes during backup on supporting servers
- Fixed error caused when recreating sections without a primary key column
- Fixed error caused when trying to set timezone further ahead then session expiry timeout
- Added improved error reporting and instructions when Composer dependencies are not installed
- Misc Code and other minor improvements.

You can download the latest version here: https://www.interactivetools.com/download/

Please feel free to ask any questions or post any feedback, questions, concerns, or bugs you find! 

Thanks, we look forward to your feedback! :)

Dave Edis - Senior Developer
interactivetools.com

By JeffC - April 30, 2024

Hi Dave

Are there any known issues with the Newsletter Plugin (3.07) and this latest release?

#154922 - implode(): Argument #2 ($array) must be of type ?array, string given
/home/domainhidden/public_html/cmsAdmin/lib/Fields/ListField.php on line 294
https://domainhidden.co.uk/cmsAdmin/admin.php?menu=_nlb_messages&action=add

Thanks
Jeff

Jeff

By Dave - April 30, 2024

Hi Jeff, 

Thanks for reporting that, I can confirm that issue on my end.  Can you try this fix? 

  • Open cmsb/plugins/newsletterBuilder/newsletterBuilder_cmsMenus.php
  • Search for: only set defaults for new records
  • Replace:
    $_REQUEST['send'] = 'none';​
  • With this:
    $_REQUEST['send'] = ['none'];​

Let me know if that works for you and I'll release a Newsletter Builder update as well.

Thanks!

Dave Edis - Senior Developer
interactivetools.com

By JeffC - May 1, 2024

Sorted. Thanks Dave

Jeff

By Dave - May 2, 2024

Thanks Jeff, 

I've released an updated version here if you have any other sites that need upgrading: 
https://www.interactivetools.com/plugins/newsletter-builder/

Dave Edis - Senior Developer
interactivetools.com

By ht1080z - May 15, 2024

Hi,

Always great news when you release a new version with new features!

After I upgraded and went to the Backup & Restore, I'm getting:

Warning: disk_free_space(): open_basedir restriction in effect. File(/var/www/vhosts/lagottoromagnolo.gr) is not within the allowed path(s): (/var/www/vhosts/lagottoromagnolo.gr/public_html/:/tmp/:/usr/share/pear/)formatBytes(): Argument #1 ($bytes) must be of type string|int|float|null, bool given, called in /var/www/vhosts/lagottoromagnolo.gr/public_html/cmsAdmin/lib/menus/admin/backupAndRestore.php on line 35

Note: there is no problem with free space on the server but the open_basedir restriction in effect.

How can I bypass this (if its possible)?

Thanks,
Karls

By Dave - May 15, 2024

Hi Karlz, 

Thanks for reporting that.  Here's a patch: 

  • Open /cmsb/lib/menus/admin/backupAndRestore.php
  • Search for: disk_free_space
  • Add @ before disk_free_space like this:
  • $diskSpaceFreeBytes = @disk_free_space(dirname($GLOBALS['SETTINGS']['webRootDir']));

And then check your Website Root Dir under Admin > General and make sure it ends in /public_html to match your folder structure.

Let me know if that works for you.

Dave Edis - Senior Developer
interactivetools.com

By Dave - May 23, 2024

Hi Rob, 

We can add an option to hide it, maybe in /data/settings?

Can you tell me more about your use case, though, because the Admin access grants any user a lot of options to execute PHP, shell, MySQL code.  And are you looking to just hide it aesthetically, or completely disable? 

Thanks for your feedback!

Dave Edis - Senior Developer
interactivetools.com