Conversation
|
Hi systemcrash, |
|
If the js plugin is gone - the UI portion doesn't show. You can take this PR for a test-drive to see how it behaves. So remaining config isn't a problem to worry about. Users might notice it when they look in the config files tho. |
|
Thanks for this — the architecture itself looks interesting and the HTTP header example is a solid use case. One naming concern worth raising: LuCI already has a well-established term for optional, independently installable UI components — "applications" ( Introducing "plugins" as a new term here — even for a technically distinct thing — risks compounding that confusion rather than resolving it. Would it make sense to stay within the existing "applications" vocabulary and perhaps qualify it (e.g. "system applications", "core applications") rather than adding a second term that overlaps with what users already call |
|
Thanks for raising these concerns @stangri. I see what you mean. The luci-app-* paradigm is a UI layer for an app dependency found in another repo, as per standard structure. It's possible to write an app which contains plugins, or is exclusively a plugin, since path structure determines the plugin, as long as it's ucode and fulfils plugin properties. Having a distinct grouping differentiates them: they're (can be) independent of apps from other repos and are intended to augment UI behaviour. Their initial use cases being HTTP headers and 2FA stuff. Other hook points are possible, e.g. in the luci script which determines features (a la dnsmasq). |
include some example plugins also. JS files provide UI to configure behaviour of plugins which typically live in /usr/share/ucode/luci/plugins/<class>/<type> Signed-off-by: Paul Donald <newtwen+github@gmail.com>
This implements the injection of custom http headers via the new plugin architecture. Signed-off-by: Paul Donald <newtwen+github@gmail.com>
|
Now in master. |
Signed-off-by: <my@email.address>row (viagit commit --signoff)<package name>: titlefirst line subject for packagesPKG_VERSIONin the MakefileGlobal enable for all plugins and enable for specific plugin classes

This introduces a plugin system for the UI - primarily to configure the behaviour of ucode plugins - and some example plugins.
This should cover the user-case for @josteink in #8161.
Some additional hook points are necessary to take care of 2FA type plugins for @Tokisaki-Galaxy and #8280 and #8281, I think.