FrontPage RecentChanges AboutWikiFeatures WikiNode

PluginSystem

Plugins allow you to change and extend the behavior of your wiki engine without the need for modifying the core of the application. Wiki administrators can then select and configure the plugins they want for their site, and leave out everything they don’t care about.


A plugin system seems to be inevitable at some point of development of an application – it allows you to experiment with various new approaches without the risk of making your core application unusable. It allows new developers with little knowledge of your application’s internal to jump in and aid in development. Finally, it gives you a nice excuse for dismissing feature requests ;)

Note however, that you probably don’t want to deal with a plugin system right from the beginning. Your core application should have enough code in it to be usable without any additional extensions – it should do its job before you start to implement a plugin system. This is because the extra flexibility has high costs in development and maintenance time, and is not very useful at the very beginning. It is also hard to remain focused when designing for maximum flexibility.

Structure

A plugin system consists basically of three parts:


CategoryFeature