Free Plugin: Plugin Manager
5 posts by 2 authors in: Forums > CMS Builder: Plugins & Add-ons
Last Post: Yesterday at 9:51pm (RSS)
By KennyH - Wednesday at 10:31am - edited: Yesterday at 3:16pm
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
- GitHub: https://github.com/sagentic/cmsb-plugin-manager
- Screenshots & Direct download: https://www.sagentic.dev/public/plugins/
Installation
- Copy the
pluginManagerfolder to/cmsb/plugins/ - Log into CMS admin and activate the plugin
- 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
Kenny H
By kitsguru - Yesterday at 6:28am - edited: Yesterday at 6:51am
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 yaadev.com
By KennyH - Yesterday at 12:22pm - edited: Yesterday at 3:17pm
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:
-
CSRF Token Compatibility Issue (Drag-and-Drop Sorting):
- Field Name Mismatch: The JavaScript was sending the CSRF token with the field name
csrfToken, 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)
- CMSB 3.81 uses
- The plugin was only reading from one format, causing it to fail on 3.81 installations.
- Field Name Mismatch: The JavaScript was sending the CSRF token with the field name
-
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 with
value="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.
- 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.
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!
Kenny H
This was a feature request of mine a couple of months ago, Once all the plugs are exposed on github, being able to pull the latest version with auto-update would bring CMSB in line with other solutions.
You really came through with this and I appreciate your work. If I can help in any way, feel free to reach out.
yaadev.com
I filed your first issue on GitHub. Update button still showing after update.
yaadev.com