weaver
weaver copied to clipboard
How to implement a modular-design ERP product similar to Odoo using ServiceWeaver
Hi, we want to use ServiceWeaver to implement a modular design ERP product similar to Odoo. Is there a way to implement a feature similar to Odoo's dynamic loading/unloading of modules at runtime with ServiceWeaver?
We believe that the success of Odoo among its partners and the opensource community is mainly due to its full modular architecture. From the user point of view, this is interesting since it allows to enable/disable features just by installing or uninstalling modules.
But it is, in our opinion, really from the developer point of view that this makes a difference. Indeed, the theory of opensource is that you can modify a software to fit your need. This is great, but doing so you actually create a fork and do not benefit automatically from upstream updates. So in general very few people actually do it. The genius of Odoo’s modular architecture is that you don’t need to make a fork to make a modification to the application: you just have to create a module, and this module can modify any element of the main application (models, views, controllers, client, …) without touching a single line of the original code.
This is definitely something we want to have in application: one should be able to customize application by creating a module without changing application code.
Hi @yrcs, Service Weaver does not currently support loading modules at runtime.
Thanks for explaining how Odoo supports this feature and why it's beneficial. I don't think we'll be able to implement anything like this in the short term, but in the longer term, we can revisit it!
if the modules are compiled to WASM, you can load and run them at runtime.
there are a ton of good wasm runtimes now.
if you code in Odoo compiles to WASM then your good to run it with weaver using wasm..