ExtensionDeveloperGuide

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.
Topic revision: r18 - 25 Jul 2017, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy