Free Plugin: Plugin Manager

4 posts by 2 authors in: Forums > CMS Builder: Plugins & Add-ons
Last Post: 5 hours ago   (RSS)

By KennyH - Yesterday at 10:31am - edited: 5 hours ago

Hi everyone,

I'm releasing a free plugin that gives you a centralized dashboard for managing all your CMS Builder plugins - with Kanban style drag-and-drop organization and automatic update detection. I have been using it on all my websites for a few days and think it's ready for others to use and test.

The Problem

When you manage lots of plugins, you want quick visual access to everything: a dashboard where you can see all your plugins at once, organize them by importance, jump directly to settings, and know when updates are available.

The Solution

Plugin Manager provides a visual dashboard with all your plugins displayed as cards in a 4-column grid. Activate/deactivate plugins with one click, drag-and-drop to organize them, and see update badges when newer versions are available. I added a link to the top menu (using the free Header Menu Admin plugin - https://www.sagentic.dev/public/plugins/header-menu-admin/) so the Plugins Dashboard is always just a click away.

Features

  • Visual plugin cards with status badges (Active/Inactive/System)
  • One-click activation/deactivation from the dashboard
  • Drag-and-drop reordering (saves automatically)
  • Keyboard navigation support (Alt+Arrow keys)
  • Direct links to all plugin admin pages
  • Automatic update detection from Interactive Tools Plugins and Sagentic Plugins RSS feeds
  • Show/hide inactive or system plugins
  • Group plugins by active/inactive status
  • Real-time statistics (total, active, inactive, system)
  • Customizable display options via Settings page
  • Security and Accessibility are top-of-mind with all plugins we develop

Download

Installation

  1. Copy the pluginManager folder to /cmsb/plugins/
  2. Log into CMS admin and activate the plugin
  3. Access via Admin > Plugins > Plugin Manager (tip: add a link to your header menu or side menu)

Requirements

  • CMS Builder 3.50+
  • PHP 7.1+
  • JavaScript enabled (for drag-and-drop)

Feedback Welcome

I built this because I wanted a better way to access and organize my growing collection of plugins. The dashboard design includes space for future widgets and charts. I'd love to hear your feedback, bug reports, or feature suggestions. MIT licensed - modify as needed.

Thanks, Kenny H

Thanks,

Kenny H

By kitsguru - 14 hours ago - edited: 14 hours ago

Just tried the plugin and like the potential. A couple of notes.

  • 404 error on GitHub link
  • Save settings not working CMSB 3.81
ERROR
Notice: Form Error: Form _CSRFToken value missing, be sure to include _CSRFToken field and value.

BACKTRACE
0 Script started                   at /Volumes/J/@projects/yaaws5/html/www/cmsb/admin.php:0
#1 Itools\Cmsb\Plugin::action()     at /Volumes/J/@projects/yaaws5/html/www/cmsb/admin.php:76
#2 _pluginAction_runHandler()       at /Volumes/J/@projects/yaaws5/html/www/cmsb/lib/Plugin.php:90
#3 pluginManager_saveSortOrder()    at /Volumes/J/@projects/yaaws5/html/www/cmsb/lib/plugin_functions.php:500
#4 security_dieOnInvalidCsrfToken() at /Volumes/J/@projects/yaaws5/html/www/cmsb/plugins/pluginManager/pluginManager_functions.php:848
#5 Itools\Cmsb\CMS::log()           at /Volumes/J/@projects/yaaws5/html/www/cmsb/lib/security_functions.php:55
Jeff Shields
yaadev.com

By KennyH - 8 hours ago - edited: 5 hours ago

Thanks Jeff, for the excellent feedback! I've identified and fixed two issues that were affecting the plugin (and the GitHub link to https://github.com/sagentic/cmsb-plugin-manager)

What Was Wrong:

The plugin had two separate bugs that both prevented settings from being saved properly:

  1. CSRF Token Compatibility Issue (Drag-and-Drop Sorting):

    • Field Name Mismatch: The JavaScript was sending the CSRF token with the field namecsrfToken, but CMS Builder's security validation expects it to be named_csrf. This caused all AJAX save operations to fail with "Form _csrf value missing" errors.

    • Version Compatibility: CMSB changed the session variable name between versions:
      • CMSB 3.81 uses$_SESSION['_CSRFToken'](capitalized)
      • CMSB 3.82+ uses$_SESSION['_csrf'](lowercase)

    • The plugin was only reading from one format, causing it to fail on 3.81 installations.
  2. Settings Page Checkboxes Not Saving:

    • When unchecking any setting (Show inactive plugins, Show system plugins, Group by status, Check for updates), the checkbox would revert back to checked after saving.

    • Root Cause: The form uses hidden fields withvalue="0"before each checkbox (proper HTML pattern), but the PHP code was usingisset($_POST['fieldname'])which always returnstruebecause the hidden field is always present - even when the checkbox is unchecked.

What's Fixed in v1.01:

✅ Corrected CSRF token field name in all AJAX requests (_csrf instead of csrfToken)
✅ Added backward compatibility to support both CMSB 3.81 and 3.82+ session variable formats
✅ Drag-and-drop sort order now properly saves and persists across page refreshes on all CMSB versions
✅ Fixed checkbox settings logic to check actual POST values instead of using isset()
✅ All settings now properly save both checked and unchecked states
✅ Improved error handling for sort order save operations

Both the kanban-style drag-and-drop sorting and the settings page now work correctly on all supported CMSB versions.

To Update:

If you're already running v1.00, simply replace the plugin files with the new version and refresh your browser cache. No database changes or settings modifications needed.

Thanks again to Jeff for taking the time to test and report both issues. This kind of feedback is invaluable for making sure plugins work correctly across all supported CMSB versions!

Thanks,

Kenny H