Reduce confusion when installing modules that are made of several modules
Some modules are developed in such a way that they are comprised of several modules. For example, there might be the main module and a helper process module. There are various modules that are built like this since they are more sophisticated and an example of this is RockMigrations.
RockMigrations will list these in the modules section:
- RockMigrations (this is what you actually want to install)
- Magic Pages (this requires the RockMigrations module above)
- RockMigrations GUI (this requires the RockMigrations module above)
When I want to install this module, I will typically go to the Modules section in the admin, which defaults to the "Site" tab. I then use the find feature (Ctrl-F) of my browser and search for the module I want to install since I usually have a ton of modules listed even if they are not installed. If I search for "RockMigrations", it will match the three modules I listed above, but if I'm not careful, I may install Magic Pages or RockMigrations GUI without actually installing the correct module. Yes, ProcessWire will warn me, but the UX could use some improvement I believe.
One simple tweak could be adding another button next the "Install" button of the secondary/helper modules (Magic Pages for example) and call it "Install with Required Modules" or something like that. Here's a mockup:
@jlahijani The "Install with Required Modules" idea is a really good implementation. To piggyback of of your concept, ideally it would:
- Look for modules that are present locally and install them if they exist
- If they don't exist locally, prompt the user with a list of modules that are required but are not present with a "Download & Install" button.
By making required modules act more like "dependencies" it would be a big boost for module developers to build upon existing code while making it very easy for users to install and manage.