CMSB v3.67 Beta (MySQL Sessions)

8 posts by 3 authors in: Forums > CMS Builder
Last Post: April 12, 2024   (RSS)

By Dave - April 1, 2024

Hi all, 

We've just released another beta of CMS Builder.  Here's what's new: 

  • MySQL Sessions: PHP has a great feature where you can store user data in the $_SESSION variable and it will automatically make it available on the next request.  It does that by setting a user cookie such as PHPSESSID=7a2a88b7f6f8c2e5f22e4 and then storing the session data in files on the server such as /var/lib/php/session/7a2a88b7f6f8c2e5f22e4.  The problem is that some hosting environments automatically "clean-up" (erase) these files sooner than we'd like.  So if you've ever had login sessions expire sooner than expected or "CSRF token missing" errors that might be what was happening.  We're now storing this session data in MySQL so we should be able to have user sessions last as long as we want and resolve many of the support issues that came from this.  This is a step towards our next big update which will introduce user access groups.
  • Ace HTML/PHP editor: We're trying out this new inline editor https://ace.c9.io/ for HTML and PHP content.  It does syntax highlighting, a bit of syntax checking, and generally makes it much easier to see and edit PHP and HTML content.  To start we've implemented it in the field editor for "Separator" field types.  Try creating or editing a separator field and try it out.
  • New Upload Sorting: You can now specify in the field editor if you want new uploads to be added to the top or bottom of the upload list.
  • Live SQL Monitor: Under Admin > General > Server > Database, you can now filter results and add keywords for when you only want to see MySQL queries for a specific type of query or table.
  • And much more, see the changelog below.
*** April 1, 2024 - Version 3.67 (MySQL Sessions)

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

NEW FEATURES
- Database Editor: Separator fields now use inline Ace HTML/PHP editor for HTML content
- Database Editor: Upload fields have a new option to add new uploads at the top or bottom of the list
- Live SQL Monitor: Added keyword searches and filter buttons for easier query monitoring
- Database > Quick Add Fields: Added "Field Position" option to insert fields at top or bottom of table
- Admin > General Settings: Reorganized and improved the layout of settings for better usability
- CMS Internals: PHP Sessions are now stored in MySQL instead of the filesystem for improved security and performance

MINOR CHANGES & BUG FIXES
- Admin > General Settings > Advanced: "session.cookie_domain" converted to pulldown with valid options
- Uploads: Display helpful message when uploads exceed PHP 'post_max_size' limit (in php.ini)
- Uploads: Improved SVG detection to prevent false positives on non-SVG files
- Checkbox: Fixed SQL error for new checkboxes with both "Unchecked" and "Update all records with this value" selected
- Database Editor: Fixed issue where "Add Field Here" added field in the wrong position
- Install: Build number in settings file now updates on each install
- Viewers: Fixed MySQL Error "Column in order clause is ambiguous" when using getRecords and left joins
- Settings: Added "set_innodb_strict_mode" settings.ini.php to set/unset/ignore innodb_strict_mode setting as needed
- Removed: Admin > General Settings > Advanced: "Use Datepicker" setting removed (now enabled by default)
- Removed: Admin > General Settings > Advanced: "session.save_path" setting removed as it's no longer needed with MySQL sessions
- Removed: Admin > General Settings > Advanced: "Disable HTML5 Uploader" setting removed (not required and rarely used)
- Removed: Viewers > Turbo Cache: Removed old "Turbo Cache" option that is seldom used and not optimized for modern servers
- 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

Really like the sound of "user access groups"! Keep up the great work! After 16 years of use, this is still my favorite CMS by far! :-)

---------------------------

Dwelling Productions

www.dwellingproductions.com

By Deborah - April 3, 2024

Hi, Dave and thanks for the new beta. You've cooked up some amazing new features!

The Field Position option and upload sorting work great and the SQL monitor is awesome! I haven't tested everything, because I ran into two issues:

1) Database Editor: When I tap the "Create New Menu" button when adding a new editor, the modal doesn't close and the new editor is not created.

2) Code Generator: I see the following error instead of the code page: "Error: _CSRFToken is not allowed in url, use POST instead."

I uploaded the demo twice, disabled all plugins, and tried with two different browsers.

When you have time, could you please provide a scenario of how/when the potential inline editor would be used in CMSB?

Thank you!
Deborah

By Dave - April 3, 2024

Hi All, 

We've uploaded beta 2 with fixes for all the reported issues as well as some other code improvements.

Thanks to Deborah, Djulia, and everyone else who gave feedback or tested the betas so far.

Let us know if you find anything else.  Thank you! 

Dave Edis - Senior Developer
interactivetools.com

By Deborah - April 4, 2024

Hey, Dave.

The Database Editor and Code Generator are working again - everything looks great.

Now that I can create a separator, I see the purpose of the inline editor. The editor will make it much easier to indicate instructions above a field!

Looking forward to the release - thanks!

Deborah

By Dave - April 4, 2024

Hi Deborah, 

Thanks, yea we use the separator fields a lot when we want to add instructions or UI elements to an edit/view page. 

They also support PHP tags and the following variables:  $TABLE_PREFIX, $ESCAPED_FILTER_VALUE, $CURRENT_USER, $RECORD.  So it's possible to show calculations or other custom code.  In fact we use separator fields with PHP code for the Media Library menu to show the list of "Media Used By" records.

In future, we'll add some documentation below that field so it's easy to know what's available, but a number of the field editor fields allow for PHP code.

Dave Edis - Senior Developer
interactivetools.com

By Dave - April 12, 2024

Hi All, 

We've released the official version and you can't download it here: 
https://www.interactivetools.com/forum/forum-posts.php?postNum=2247128

Thanks everyone for your help!

Dave Edis - Senior Developer
interactivetools.com