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 and
DevelopersBible, 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.
Additional Resources
Are you porting an existing extension from TWiki to Foswiki? See:
DeveloperDocumentation has a complete (unstructured) index of topics likely to be of interest to developers.