Changes between Initial Version and Version 1 of Ticket #29554, comment 4
- Timestamp:
- Jul 10, 2018, 11:15:21 AM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #29554, comment 4
initial v1 5 5 6 6 * Regarding templates, and which app wins - I always fount the templating system a bit difficult - IMHO app templates should have implicit namespaces. But that would break virtually any existing Django install - so forget it. But: Same as before: The loading order decides, like in {{{INSTALLED_APPS}}}. Let the application decide in which order the plugins should be loaded. 7 In my simple mind, I call {{{apps.populate([ myfirstapp_plugin, other_plugin, last_plugin_app])}}} like setup.py calls it with {{{settings.INSTALLED_APPS}}}. And populate works through all he apps **in this order** and merges them into the system.7 In my simple mind, I call {{{apps.populate(['myfirstapp_plugin', 'other_plugin', 'last_plugin_app'])}}} like setup.py calls it with {{{settings.INSTALLED_APPS}}}. And populate works through all he apps **in this order** and merges them into the system. 8 8 9 9 I wrote a Django application that merely consists of the plugin system. The "real" main application is already a "Core" plugin (with a version etc) which is listed in INSTALLED_APPS as app, because it is always loaded and part of the base system. And all other plugins are loaded dynamically. So they can have dependencies like "core>=1.5.2" and it won't load it when the core version is below that. It's pre-alpha, just look here for the extension system [https://gitlab.com/nerdocs/medux/MedUX/tree/develop/medux/extensionsystem] (e.g. the PluginManager, is in development. I'm no professional software engineer, so please look away if you see horrible coding style ;-) - or better tell me)