Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Improve core plugins maintainability #429
Big plugin overhauls like those planned in #401 are out of scope for moneyGuru 2.9, but there's some changed that are needed for #415 (which is planned for v2.9) to work well, that is, making sure that "core" plugins (plugins that ship with moneyGuru) work well.
Currently, plugins work this way:
The goal there was to give easy examples to play with to the user, to foster plugin creation. It's easy, they're right there in your plugin folder! She could then directly toy with these plugins and see the result.
The problem with this is that plugins aren't updated with new moneyGuru versions. For toy plugins (what core plugins are until 2.9), it's no big deal if they get outdated and stop working, but for plugins essential to moneyGuru's workflow (currency fetching), that doesn't cut it.
I first thought of implementing a full feature version detection system that replace outdated plugins, but it might be too soon. I'm not ready to step in that. Plus, we'd have to verify if it doesn't affect startup time too negatively, and that's an analysis I'd like to postpone.
My immediate plan would be simple: load plugins from two sources, core and user. So we start by loading plugins directly from the "plugins" folder shipped with moneyGuru, and then we load plugins from the user folder (with duplicate detection. we would ignore the second plugin with the same name). Simple, effective, good enough for now (I think).