Since frameworks are very often used as CMS, I was thinking that would be useful having extensions just like, let’s say, Drupal modules…
I mean, for example, having a page for managing extensions: this should allow droping an extension in a certain folder and activate/deactivate those extensions (web interface).
Some ideas:
When activated, an extension could perform an inizialation (apply migrations, create directories, etc) and do some clean up when deactivated (migrate down, remove files, etc…)
Inject menu items in the application (maybe a new menu widget would be needed?)
Well…that’s the very basic idea…opinions very welcome…
Yii handles CMS development well but is used for many other web application development projects.
Your requirement could be handled by building modules for your backend (e.g., an extension module) and possibly nested modules for handling extension installations (e.g., installer module), dependency management, dynamic menu generation, block assignment, theme management, etc. For something like a CMS or major e-commerce application, you would probably also want to manage all extensions and other items such as blocks, themes, messages, external library packages, as well as their development versions and dependencies.