So, you want to help Foswiki by creating an extension?
Great! Here's how to get started.
Firstly, as a rough guide:
- Plugins generally are "active" in the rendering process, implementing %MACROS% and/or inserting themselves into the topic read, save, rendering cycle.
- Contribs (and the old deprecated AddOns) generally don't add %MACROS%. They are more passive, or utility related: skins, email handling, etc.
- WikiApps are generally a collection of topics that form an application - usually done within the topic space. Like our Tasks web and BugsContrib, or the Extensions web.
If you want to make a simple plugin using the Plugins
API, read this.
If you are making a contrib, for example a skin, or something which extends the core functionality, or if you have an existing plugin and you just want to learn how to package it, read
To get a feel for the project, recommended reading includes GettingStarted
, where details on coding standards and documentation guidelines can be found. All developer documentation has the DNA logo in the top right, so you know where you are.
If you haven't already done so, download and install the latest version of Foswiki.
You can fetch the a work-in-progress version from Github. See HowToStartExtensionDevelopmentInGit
for more information on setting up a git-based development environment.
Are you porting an existing extension from TWiki to Foswiki? See:
has a complete (unstructured) index of topics likely to be of interest to developers.