XOOPS ModuleInstaller 1.6.0 Speeds Multi-Module Testing and DevelopmentThe XOOPS community today highlights
ModuleInstaller 1.6.0, a Control Panel module built for sites that run many extensions at once. The release is aimed squarely at developers and QA teams who need to install, update, and isolate modules without grinding through the System module screen one item at a time.
The problem it solvesModern XOOPS projects rarely live on a handful of modules. A realistic test site may hold dozens or hundreds of packages on disk. Turning the right combination on, updating what changed overnight, or stripping a site down to a focused stack for a single feature test is slow and error-prone when done by hand. ModuleInstaller treats that as a first-class workflow: bulk actions for day-to-day ops, and Module Sets for deliberate, repeatable environments.
What you can do in bulkFrom Admin → Installer, operators work in dedicated tabs to:
• Install modules that are on disk but not yet registered
• Update installed modules, with version mismatches pre-selected and an optional “needs update only” view
• Uninstall, activate, or deactivate many modules in one run
Selections use a clear Yes/No list, light-green highlighting for selected rows, filter-by-name-or-folder, Select All / Un-Select All, and a sticky “N selected” counter. Clicking a module logo or title toggles selection the same way as the radio buttons. Batch jobs report per-module success, skip, or failure and continue instead of aborting on the first problem. Core system and ModuleInstaller itself stay protected from destructive bulk operations.
Module Sets and Focus: built for testingModule Sets are named lists of modules stored as YAML under the site’s private data path. Teams can create, edit, duplicate, import, and export sets; snapshot every currently active module as a restore point; then apply a set to install, activate, deactivate, or uninstall only its members.
The standout action for development is Focus: activate the set’s modules and deactivate everything else that is not protected—without uninstalling the rest of the site. ModuleInstaller saves an auto-snapshot of active modules before Focus so the previous layout can be restored afterward. That pattern fits regression runs, integration demos, and “minimal surface” debugging: switch to the stack under test, verify, then bring the full site back.
Sample data for a common baselineInstaller home can load sample module sets (via mtools sample-data controls), including a shipped PM, Profile & Protector set—private messaging, user profiles, and security as a ready community baseline. Sample data here means set definitions, not dumping arbitrary application tables.
Fit with the XOOPS Control PanelVersion 1.6.0 runs bulk screens in normal admin chrome so look and feel follow ModuleAdmin and the active admin theme. Module-specific styling is limited to installer helpers (selection highlight, filter, set panels, sticky bar). The old dual “wizard shell” baggage is gone. Platform floor for this line: XOOPS 2.7.0+, PHP 8.2+, and mtools 1.2.0+ (installed; does not need to be active).
Who benefits• Developers building features that touch several modules
• QA and staging teams who need repeatable on/off combinations
• Site builders maintaining large module inventories
• Anyone tired of “I forget which modules I had active yesterday”
DownloadModuleInstaller: https://github.com/XoopsModules27x/moduleinstaller/
mTools: https://github.com/XoopsModules27x/mtools/A full walkthrough is in the module’s docs/TUTORIAL.md and the project changelog.