Some problems with the current plugin system in gnucash GUI

Didier Vidal didier-devel at 9online.fr
Sat Nov 12 07:54:31 EST 2005


Hello,

When I wrote the "Open the account page after creating a new file" patch
(https://lists.gnucash.org/pipermail/gnucash-patches/2005-November/016979.html), I used the same mechanism than the one that is used to launch the account hierarchy druid (hooks in the engine). It looked to me to be the only solution because the account tree seems to be designed as a plugin.

However, I have a few problems with this architecture:
   - The GUI actions (in this case, open the account hierarchy druid,
open a new account tree page) are managed by a class in the engine
module.  That's odd to me. engine should be about data and data
consistency, not about user interactions.
  - The order of events is not controlled (you don't know in which order
the hooks will be called)
  - The GUI logic is not defined in a central place. To understand what
happens, you have to grep the hooks in all the source code. 
  - The GUI logic is also limited. For instance, you can't abort a
sequence if one of the actions (the hooks) is canceled by the user.

Did I use the right way to implement the feature ? If yes, aren't we a
little to extreme with the concept of plugins in Gnucash ?

Didier.



More information about the gnucash-devel mailing list