Feng Forum

Other Topics => Development => Architecture => : ttrepper November 13, 2009, 10:59:31 AM

: Suggestions to plugin-system
: ttrepper November 13, 2009, 10:59:31 AM
Hi all,

if I have checked the plugin-system in the right way, every developer has to create a zip containing his files in that way, that the folders in the archive match the folders-structure of opengoo. I find this not very usable, because

I have found a very well designed plugin system with makes it easy to develop and maintain plugins at dotProject (http://www.dotproject.net/ (http://www.dotproject.net/)), but that framework seems to be dead.
The way is as follows:

I currently find this plugin-system here a little be complicated and difficult to extend.

What are your opinions?

: Re: Suggestions to plugin-system
: ttrepper December 07, 2009, 06:19:06 AM
No ideas? Did I miss anything or misunderstood the current plugin-system?
: Re: Suggestions to plugin-system
: Pet December 07, 2009, 06:14:52 PM
You could try PM ignacio or conrado for a follow-up. They've been super-busy and may not have had a chance to get to this yet.
: Re: Suggestions to plugin-system
: ignacio December 14, 2009, 08:53:30 AM
Yes, we do need a nice plugin system for OpenGoo. The one you describe could be an alternative.

But there is something that you missed from our current "plugin system" (if it can be called like that :)). You can keep plugins after an upgrade, you just need not overwrite existing OpenGoo files (or your files will be overwritten on upgrade), and you should extend functionality by adding new files (maybe prefixed by your plugins name to avoid collisions) and using hooks. Hooks are function calls throughout the code that can call a dynamically loaded plugin's function. We haven't developed this extensively yet, which means that there may not be a hook for some particular thing that you want to do, but we can add it on demand if a developer asks us. We also don't have a way to automatically install or uninstall a plugin. You would have to delete the plugin's hooks file and perform the DB queries to install or uninstall manually  or through a script supplied by the plugin.

In any case, our plugin system is not complete nor well documented and should be improved. Would you like to give us a hand with this?
: Re: Suggestions to plugin-system
: ttrepper December 14, 2009, 09:25:26 AM
Hi ignacio,

thanks a lot for your post and your interest in my (helping) hands. I am currently very busy, but I will of course help you with plugin-system. :D This is in my opinion the most important thing to develop, implement and refactor, because every software-system in the world is extendable with plugins and an easy plugin-system will increase opengoo's community very quickly which then means, that you will get more feedback, more plugins, more downloads, etc...

If it is ok for you I will write a detailed document, which describes the plugin-system I suggested, and discuss it with you and with the community, ok? For developing the system I now cannot estimate my free time, ok?

Am I allowed to access the wiki or can you create a page for me, which I am allowed to modify?

Thanks a lot

: Re: Suggestions to plugin-system
: ignacio December 14, 2009, 10:18:21 AM

There's a wiki for developers at: http://wiki.opengoo.org/doku.php/developers . I think you should be able to edit that page, but if not just tell me what wiki page you want and I'll create it.
: Re: Suggestions to plugin-system
: ttrepper December 14, 2009, 10:22:23 AM
Hi ignacio,

thanks a lot. I tried to log in with my forum-name, but this was not possible. Then I tried creating a new user and the wiki said:

Looks like there was an error on sending the password mail. Please contact the admin!

Could you please have a look at this?

: Re: Suggestions to plugin-system
: cabeza April 02, 2010, 01:42:16 PM
Hello ttrepper,

We've created a page in the wiki (http://fengoffice.com/web/wiki/doku.php/plugins_api) for discussion on these topics. It's about plugin requirements ( inspired on a post by bmw502).

I see that you have a lot to share.

Could you still not register a wiki user?
: Re: Suggestions to plugin-system
: allenlook April 12, 2010, 04:52:36 PM
I do agree that a plug-in system would be the most important feature FengOffice could implement - over and above anything I've requested to date.

That would allow anyone to develop new features for FengOffice, and would have allowed me to integrate Gantt charting and Blogging much more cleanly than I did by editing native FengOffice files.
: Re: Suggestions to plugin-system
: goonerforlife January 12, 2011, 10:21:15 AM
I know this thread is fairly old but im fairly new here. Did anything come of the new plugin system?

I have been making some new widgets and some other tweaks that i should be able to share.
Particularly integrating a new charting system (i want to expand it before i share it but the basic idea is projects or tasks over a time period. these are also links to the task/milestone/project.)

: Re: Suggestions to plugin-system
: Murz January 15, 2011, 11:20:06 AM
We can look at the Drupal CMS written in PHP too, it have very good hooks system, will be good to do something like this in FengOffice, with thouse hooks we can intercept each action for database write, read, template or form building and do the changes in the plugin function, here is the description: http://api.drupal.org/api/drupal/includes--module.inc/group/hooks/7
So, if we add ability to intercept each fengoffice action with plugin, we create the good field for many plugins.