CMSB v3.70 Released (Jun 3) - Mail Updates & More

4 posts by 2 authors in: Forums > CMS Builder
Last Post: June 5, 2024   (RSS)

By Dave - June 3, 2024 - edited: June 3, 2024

Hi everyone,

We're excited to announce the release of another CMS Builder update.  This one has some mail updates and usability improvements. Here are some of the significant changes:

  • Send Test Message:We've also added a "Send Test Message" button under Admin > Email Settings. This sends a test message with the current settings and displays mail server debug output, allowing you to verify outgoing mail is working and identify potential problems quickly
  • Email Deliverability Testing: Under Admin > Email Settings you'll find a test form and instructions on sending a test message to mxtoolbox.com and mail-tester.com. These free services can quickly give you a complete deliverability analysis (checking SPF, DKIM, DMARC, and blacklists) so you can feel confident your client's outgoing emails will get delivered
  • Bootstrap Icons: You can now use both Font Awesome AND Bootstrap icons under "Database > Editor > Menu Icon". There's a link to browse icons for either set and simply copy the icon code to display it.  e.g., bi bi-emoji-sunglasses
  • Google OAuth support:For those who use Google for sending mail, they're requiring everyone to switch to OAuth authentication this fall, so we've added support for that.  There's a new option under Admin > Email Settings for Google OAuth as well as instructions to set it up.  Here's a support document from Google about this change:https://support.google.com/a/answer/14114704
  • CMS Builder API:To support Google OAuth callbacks we've created a CMSB api.php script.  This first version is very simple but we have big plans to expand API functionality in the future
  • Easier Related Records:We simplified all the defaults for linking tables and showing related records from another section.  See this post for step-by-step instructions on how to try that out: https://www.interactivetools.com/forum/forum-posts.php?postNum=2247232#post2247232
  • Lots of bug fixes, and UI improvements.

Here's the complete changelog.

*** June 3, 2024 - Version 3.70 (Mail Updates)

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

NEW FEATURES
- Email Settings: Added "Test" button to send a test email and show mail server debug info
- Email Settings: Added links for testing email deliverability: SPF, DKIM, DMARC and blacklists
- Email Settings: Added support for sending mail via Google with OAuth2
- New CMS API: Initially being used for OAuth2 mail support, will be expanded in future versions
- Developer Console: We now use inline Ace code editor for PHP and SQL content
- Database Editor > Menu Icons: Bootstrap Icons are now supported: https://icons.getbootstrap.com/

MINOR CHANGES & BUG FIXES
- Sessions: Resolved issue that caused sessions to sometimes expire prematurely with CSRF errors
- SQL Numeric Columns: Saving blank values now saves NULL instead of 0 if numeric columns allow null
- Website Backup: Improved support for downloading very large backups without memory issues
- Website Backup: dot folders (.git, .cache, etc.) are now excluded from backups
- Website Backup: "Code Only" backups now exclude /vendor/ folder
- Settings File: Moved mail related settings under 'mail' key in settings.ini.php
- Sessions: Fixed issue where changing timezone could cause sessions to expire prematurely
- Sessions: Unique session cookies names are now generated for each CMS installation
- Database Editor > List Fields (options from database): Recommended value/label columns are preselected
- Database Editor > List Fields (options from MySQL): Added :_ placeholder for inserting table prefix
- Database Editor: Primary key 'num' can now be named 'id' for better compatibility with other systems
- Database Editor > Related Records: Default options now just work if you name your foreign keys 'tableName_primaryKey'
- Examples: article_num or news_id
- Related Records > Create button: Now passes tableName_primaryKey for populating new records, e.g.: news_id = 123
- Programmers: Added case-insensitive utility functions: stri_starts_with, stri_ends_with, stri_contains
- Programmers: Added new plugin action: cron_postDispatch
- Security: New setting in /data/settings file: security.cookieSameSite to set SameSite cookie attribute (default: Lax)
- Improved path detection for web root and PHP binary
- 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 - June 5, 2024

Hi Dave

Related Records are much easier to set up now, thanks.

Can I make a request for a future update? It would be great if the dragsortorder column was included in the list of pulled-in records. It's great that a user can add/delete and modify. If they could drag the order too that would mean we can hide the related table in the navigation.

On a lot of my builds being able to do this would reduce the number of items in the navigation by a significant number, making the admin panel a lot simpler for the end user.

It's not a massive issue, but if it's relatively easy for you to implement perhaps you could consider it?

Jeff

By Dave - June 5, 2024

Hi Jeff, 

Try modifying this setting in your /data/settings file (make a backup first of that file and your database)

'advanced' => [
    'allowRelatedRecordsDragSorting' => '0',

The reason we don't enable this by default is that Related Records can something show a subset of the entire record list, and sorting just that subset may change how those records appear in the complete list.

But give it a try and let me know if it works for you or not.

Dave Edis - Senior Developer
interactivetools.com