libremesh / lime-app

Geek-free Web App for setup and mantainance of Libremesh nodes built on Preact
https://libremesh.github.io/lime-app/
GNU Affero General Public License v3.0
51 stars 27 forks source link

Is the LiMe-app modular or monolithic? #283

Open nicopace opened 3 years ago

nicopace commented 3 years ago

While reading the code there is a directory that mentions plugins, and they are included automatically at compile time, so it easens adding new plugins. The plugin wording might suggest that this functionality can be added or removed, but as it is closely tied to the code deployed serverside, and the way it is distributed right now is in a package with a predefined set of plugins, it actually looks more as components than to plugins.

On the other hand there might be the need for a flexible plugin architecture, so there needs to be a reflection in relation to whether we need this architecture right now or is it better to simplify it for now, and also if it makes sense and it is possible to have a plugin architecture or not.

germanferrero commented 3 years ago

From my point of view we should definitely work on keeping and improving the LimeApp's modularity, in the sense of the code being grouped in highly cohesive loosely coupled functionalities, such as: remote-support, pirania, alignment, firmware-upgrade, etc. Each of these modules having the possibility to add more than one screen in the application, a banner on startup, or other elements rendered in screens defined by cross components.

This will set a good basis for a later implementation of plug-ability, where you can define at compilation time which functionality to include in your final build of the LimeApp. But it is not something that we are needing right know, is it?

That being said, having the wording "plugins" in a non pluggable app is misleading as you said. And it would be awesome to rename plugins to just "modules"

germanferrero commented 3 years ago

May I rename the topic to "Is the LiMe-app plugginable or modular"?

nicopace commented 3 years ago

I think the choice shouldn't happen at compile time but at image building time, as that is the time were you choose which functionalities you include in the image... Right?

germanferrero commented 3 years ago

Yes, that's what I meant! Like using menuconfig

El vie., 19 de nov. de 2021 14:14, Nicolás Pace @.***> escribió:

I think the choice shouldn't happen at compile time but at image building time, as that is the time were you choose which functionalities you include in the image... Right?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/libremesh/lime-app/issues/283#issuecomment-974254756, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABWPL6EZAHSBBAOLMVDELG3UM2AVZANCNFSM4UN2FFRQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.