CMSB v3.70 Beta 3 (Mail Updates)

6 posts by 2 authors in: Forums > CMS Builder
Last Post: June 3   (RSS)

By Dave - May 23, 2024 - edited: May 30

Hi everyone,

We've just released a beta of v3.70. This one has some mail updates and usability improvements.  Here are some of the significant changes:

  • 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
  • Mail Test Send Feature: We've also added a "Test" button under email settings that will send a test message from the default "From" address to the default "To" address and show you full mail server debug output.  This will help you quickly confirm email is working and debug it when it's not
  • 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
  • Related Records: When you create a list field that references another table or a "Related Records" field that lists related records, we now either provide default values that just work or recommend column names so you don't have to figure it out each time.  In general, when you have fields that reference other tables you want to reference the "num" column and name the field "table_num".  For example: region_num.  Then it's clear from looking at it what it stores and refers to, and we're able to automatically reference it

Here's the changelog.

*** May 23, 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 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

MINOR CHANGES & BUG FIXES
- Website Backup: Improved support for downloading very large backups without memory issues
- 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): Recommend 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
- Improved path detection for web root and PHP binary
- Misc Code and other minor improvements.

You can download the latest beta 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

CMSB v3.70 Beta 2 (Mail Updates)

By Dave - May 29

Hi All, 

Thanks to everyone who's been emailing in and posting feedback.  We just released v3.70 Beta 2.  

Here's what's new: 

  • 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.  We just moved servers and our IP changed so I was using these over and over yesterday as I moved over domains and updated DNS.
  • Bootstrap Icons: We needed an icon we couldn't find on the free font awesome list so we added this and made it available.  You now have two great sets of icons to choose from when you need them.  You can add these under "Database > Editor > Menu Icon".  There's a link to both Bootstrap Icons and Font Awesome and you simply open their site and copy the code for the icon you want.  e.g., bi bi-emoji-sunglasses
  • Easier Related Records: We simplified all the defaults for linking tables and showing related records from another section.  I'll show you how to do that below.
  • Lots of bug fixes, and UI improvements.

How to quickly try the new easier "Related Records" and "List Options from Database" features. If you've never done this before it's much easier now.

  • Create two new multi-record sections: Test Products, Test Categories
  • Add a few records in each, e.g., Product A, Product B, Product C, and Category A, Category B, Category C
  • Go to Database > "Test Products" and click "Add Field"
    • Set "Field Type" to List
    • Set "List Options" to: Get options from database (advanced)
    • Set "Section tablename" to: Test Categories
    • The values and labels columns should automatically select num and title
    • Some text should appear: "Recommended: Name this field test_categories_num"
    • Set "Field Name" to match the recommendation: test_categories_num (we're naming the field after the other table and field it refers to)
    • Save
  • Go to the "Test Products" menu, you should see a category pulldown that is loading it's values from the category menu.
    • Edit a record and set the category to "Category B"
    • Save
  • Next, go to Database > "Test Categories" and click "Add Field"
    • Set "Field Type" to Related Records
    • Set "Related Table" to Test Products
    • Save
  • Go to the "Test Categories" menu and click on "Category B" (or the category you choose for a product)
  • You should now see a list of all the associated products that have that category selected.

This is a really useful feature that we use a lot when creating editors.  I hope these new defaults make it much easier for you to use them as well!

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

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

Thanks, we look forward to your feedback! :)

Dave Edis - Senior Developer
interactivetools.com

CMSB v3.70 Beta 2 (Mail Updates)

By Dave - May 30

Hi Deborah, 

Thanks for the quick feedback!  

Try editing your "Related Records" field and under "List Actions" enabling: View, Modify, and Create.  This will add view and modify links under actions and a create button below.  I'll set those as defaults for the next build so you won't have to select them but can still modify them if needed.

Once you've enabled those actions go to Categories and edit a record.  Under Related Records you'll see a "Create" button.  If you click that it will save the current record and let you add a "Product" with the category already selected.  When you save this new product you'll be automatically returned to the category edit page.  The same works for "modify".  This makes it easy to manage related records.

Note that if you click "View" and then "Edit" there's a bug I just found where it doesn't link correctly.  We'll have that fixed in the next build as well.

Dave Edis - Senior Developer
interactivetools.com

By Dave - May 30

Hi All, 

We've just released Beta 3 with the following updates.  You can download it here: https://www.interactivetools.com/download/

Here's what's changed.  This is our internal commit log of fixes, this won't be in the changelog, but let's you see what's been fixed.

  • Related Records - Updated defaults to start with these list actions checked when creating new fields: view, modify, create
  • Editors > View - Fixed issue where the "Erase" button didn't link to the correct URL
  • Email Settings - bug fixes to ensure email is set correctly on install and upgrades
  • eraseRecordsUploads() - Fixed bug where an error would occur when there were no uploads to erase
  • WebRoot - Added notice under input field in Admin > General when the user entered value isn't what we expect
  • Init & Settings files - removed old unused keys and references to them
  • security_disableExternalReferers() - refactored function and clarified error to report when no referer is sent
  • Developer Console - fixed issue where MySQL presets weren't getting inserted into new Ace code editor.

Post or email any other issues you might notice.  We're getting closer to the release for this version!

Dave Edis - Senior Developer
interactivetools.com

By Dave - June 3

Hi All, 

Thanks everyone for your support and feedback.  We've released v3.70 here: 
https://www.interactivetools.com/forum/forum-posts.php?CMSB-v3.69-Released-Jun-3---Mail-Updates-More-82813

Thank you!

Dave Edis - Senior Developer
interactivetools.com