Core Features vs Plugins The discussion started by Jason ("comments from a newbie") has raised an interesting question: what functionality should be core to DokuWiki, (ie: a feature)? What functionality should be provided by plugins? (Definition: a feature is functionality that is found in the core distribution of DokuWiki, while a plugin is functionality that gets added after installation.) There are definitely pros and cons to both... Pros of Features/Core Functionality: -> Interoperability: all core features will work together before a milestone release. This means that installation admins don't need to worry about an upgrade breaking existing feature functionality. -> Compatibility: a plugin can't claim that it's compatible with DokuWiki version X unless it works well with all the implemented features. (I'm thinking of the situation where plugin X causes problems with plugin Y, whereas, if Feature X were core, then plugin Y is considered incompatible with DokuWiki until it works well with X.) -> Reduced Administration: the more functionality that is delivered through the core, the easier it is for installation admins to do upgrades. Pros of Plugins: -> Size: plugins keeps the code base small, which allows for much lower maintenance costs (in a volunteer community, all costs need to be kept low) and a faster release cycle. -> Installation Specific: plugins can provide functionality that is only required by some, and not all, installations -> Expansion: plugins can expand on existing core functionality. Cons of Plugins: -> the one major con of plugins is that administrators need to be careful when upgrading the core DokuWiki. The new version of DW could break an installed plugin. In Jason's email, he suggested that an optional sidebar be provided as core functionality. I'm not going to get into that here as it's being discussed elsewhere, but it is a good example of functionality vs plugin. (I consider it a "would be nice", but not core as you can function without it.) My first thought on this subject is to be able to rename and move articles. This is the one piece of functionality that I need to make DW full-featured. It just feels, well, 'broken', that to move an article, I need to go through a multi-step procedure (make a new one, copy the contents over, delete the old contents, search for an articles that referenced the old article and update to the new article). This is one of those academic questions that there is no easy answer for. I also believe that the DW owners have done a good task of keeping the DW code base small. I just wish that there was a better tracking mechanism for the compatibility of the plugins -- but that's a different conversation. ;-) So, the question: what functionality do you view as a core feature, and what functionality do you view as a plugin? JDG -- Jay Dickon Glanville -- DokuWiki mailing list - more info at http://wiki.splitbrain.org/wiki:mailinglist