Fox is a form processing extension, using PmWiki's built in forms. Fox will process the input from form controls such as text boxes, drop-down select boxes, radio buttons and check boxes etc and create output with use of templates, which can be saved to the current page or other target pages, even to several pages or sent as email notification.
In its default mode (add) Fox will not overwrite or delete any pages, but will add content at the bottom (the default), or the top, or other specific places in the target page(s), or an anchored page section. The template Fox uses can be a character string, or a section in a template page, or a whole page, including standard pmWiki markup for formatting etc. Special replacement variables in the template will be replaced with values from the associated input control fields.
Fox can save input as PTVs (page text variables), and will add and update PTVs as required. PTVs can be saved in different formats, the default is a "hidden" markup format, other formats are as special text list (used by the recipeinfo box at the top in the cookbook group here), or as definition list, or as anchored section. Input from an array of controls (for instance checkboxes) will be saved as a comma separated list.
A special replace action can replace content on a target page or page section. Using marks and keywords Fox can be used as a string replacement tool (search and replace), even using regular expressions, or overwrite whole sections or pages with new content, again using a template to create formatted output.
The copy action will copy source page content (as template) to a target page, or a section from a source page to a section of a target page, without changing anything. This means that input from controls is ignored, no variable replacements are performed and no template is processed. Instead the template page content becomes the source for the copy action, and the target page content will be exactly the same.
Last but not least, by using a display action, Fox can direct the output to appear at a specific location on the page, without it actually being saved to the page. This is very useful to display content from other pages, to display search results, or data from PTVs selectable by a user through input form controls.
Fox has a number of extensions: special delete links or buttons can be added with FoxDelete, with which either single lines added by Fox or whole multi-line additions can be deleted. For this Fox uses special markup as spaceholders on the template. Edit links can be added with FoxEdit. Through such links parts of a page, like sections or PTVs, or a whole page, can be loaded into custom Fox edit forms, for instance to edit PTV data with each PTV value in a text box. FoxNotify is an email notification extension integrated with Fox forms.
Fox has various security configurations to control which fox action shall be allowed for which pages or wiki groups, and what level of authorisation is needed for users to submit form input. Even users who do not have edit rights can be allowed to submit input, and some special security features help control misuse, for instance built-in Cookbook:Captcha support and disabling of posting markup directives or expressions.
Fox can be used to direct output to multiple pages, using multiple templates, with the possibility to mix different fox actions for different pages. Even pagelists can be used to set target pages, and wiki wildcard pagenames with the help of markup expressions from Cookbook:PowerTools.
Fox has a growing list of applications, and many application examples are documented in the cookbook.