Hi Tyler,
The main problem, why the main plugin-table macro does show a “full” list of plugins, without a nested UI, is simplicity. The template used for the default plugin view is: $:/core/ui/Components/plugin-info
The UI for the import plugins modal is $:/core/ui/ControlPanel/Modals/AddPlugins
If you open it and have a look at the code, you’ll see, that there is no indentation (because it’s very old code). Indentation imo is needed for humans, to understand it. Somewhere in that code, there may be the “management” of nested plugin dependency / parent dependency handling.
It would need several steps to improve the default UI with a nested view:
- Make
$:/core/ui/ControlPanel/Modals/AddPlugins human readable by adding indentation.
- This can be the first pull request, since it does not change any functionality. So it should be straight forward to get it merged.
- Make the “nested UI” a procedure, so it can be reused
- An other PR, which should not change functionality
- Use the new procedure in the main UI
- The third PR, which may be more tricky, since it probably involves some CSS changes for the main UI
- Keeping backwards compatibility is probably needed.
So that’s the points that would be needed to improve the main plugin UI with this single issue.
There also is an interesting Tips&Tricks thread here at Talk, and there are some more related issues at GitHub.