Skip to content
This repository has been archived by the owner on May 5, 2021. It is now read-only.

Reactivity #177

Open
Goaman opened this issue May 19, 2020 · 2 comments
Open

Reactivity #177

Goaman opened this issue May 19, 2020 · 2 comments
Labels
discussion Extra discussion is needed

Comments

@Goaman
Copy link
Contributor

Goaman commented May 19, 2020

We currently use an imperative approach to load/unload information in the system.
For instance, to load plugins / loadables / configs.
This approach makes it hard to update any structure of the system once loaded.

A reactive system will automate the updating part that changes automatically.

@Goaman Goaman added the discussion Extra discussion is needed label May 19, 2020
@Zynton
Copy link
Contributor

Zynton commented Jul 7, 2020

@Goaman Isn't this handled now with ReactiveValue ?

@Goaman
Copy link
Contributor Author

Goaman commented Jul 7, 2020

(This discution has already started with @dmo-odoo )
The ReactiveValue are now only localized to OdooField. This issues exists to extend the reactivity paragidm to the whole editor.

For instance, if we wanted to hot load/unload something (shortcut, settings, plugins) there is the problem of imperative approch that do not handle the change value nor the dependency of values of very well.

For instance, if a plugin A need the resource of a plugin B, it currently use the loadable mechanism.

That loading mechanism happens once when loading the editor. After, this is over.

With ReactiveValue, it would be easy to react when the resource of a plugin change. It could have many benefits in the future. For instance:

  • Loading/unloading plugins
  • Loading/unloading modes
  • Loading/unloading templates (through loadable)
  • Loading/unloading owl templates (through loadable)
  • Changing shortucts on demand

It is not a necessity now but by laying the Reactive paradigm in the beginning of the editor, it will enforce that the system has a solid fondation and enforce reactive coding.

It would be more painfull to make the change later than earlier.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
discussion Extra discussion is needed
Projects
None yet
Development

No branches or pull requests

2 participants