Help:Page forms

The MediaWiki ("MW") extension that was first called "Semantic Forms" has since been renamed "Page Forms" - but by May 2018 FANDOM/Wikia had not upgraded to any version of Page Forms. We have a page Help:Semantic forms, which was copied from the original MW "extension" page and partly updated in 2015.

The most up-to-date version is covered in https://www.mediawiki.org/wiki/Extension:Page_Forms, which is much shorter than earlier versions because it refers to a number of subpages. The following is a copy of the greater part of that page as it was on 7 May 2018 (with internal links adapted for correct linking here). As we are somewhere between this version and the versions covered in the other Help page, it may sometimes be valuable to download or at least study a copy of the MW pages as it existed straight after the introduction of whatever version we have (found from Special:Version). The MW page history covers the old and new names: https://www.mediawiki.org/w/index.php?title=Extension:Page_Forms&action=history

Page Forms (known until November 2016 as Semantic Forms) is an extension to MediaWiki that allows users to add, edit and query data using forms.

It was originally created as an offshoot of Semantic MediaWiki, to be able to edit templates that store their parameters via SMW, which is why it was originally called "Semantic Forms". However, it can now also work with the alternative Cargo extension, or with neither extension installed.

Very simply, Page Forms allows you to have forms for creating and editing pages on your wiki, as well as for querying data, all without any programming.

Forms can be created and edited not just by administrators, but by users themselves.

The main components of Page Forms functionality are form definition pages, which exist in a separate namespace, 'Form:'.

These are pages consisting of markup code which gets parsed when a user goes to a form.

Since forms are defined strictly through these definition pages, users can themselves create and modify forms, without the need for any actual programming.

The Page Forms extension is mostly used to add and edit calls to infobox-style templates within pages.

A form allows a user to populate a pre-defined set of templates, as well as page sections, for any page; if Cargo or Semantic MediaWiki are used, the data within the templates can then be stored and queried.

Forms can also be used to edit the data in an existing page, and you can enable a "formedit" tab to show up on any page.

Page Forms also supports autocompletion of fields, so users can easily see what the previously-entered values were for a given field. This greatly helps to avoid issues of naming ambiguity, spelling, etc.

Data in a page that doesn't fit into the form, like a free-form text description of the page's subject, isn't ignored when the page is edited with a form; rather, it is placed into a separate input box called "free text".

Page Forms also includes a wide variety of other functionality related to forms.

Below are links to the entire documentation.


 * Download and installation (not needed for Familypedia)


 *  mw:Extension:Page Forms/Quick start guide 
 * How to get started with Page Forms right away.


 * Hosting (not needed for Familypedia)


 *  mw:Extension:Page Forms/Special pages 
 * All the "special pages" that Page Forms defines: the ones that provide helper forms (Special:CreateProperty, Special:CreateTemplate, Special:CreateForm, Special:CreateCategory, Special:CreateClass), the ones that display lists (Special:Templates, Special:Forms) and the ones used to display actual forms (Special:FormEdit, Special:FormStart, Special:RunQuery, Special:UploadWindow).


 *  mw:Extension:Page Forms/Page Forms and templates 
 * The template-based philosophy of Page Forms - plus information on the two parser functions that PF defines for templates: #arraymap and #arraymaptemplate.


 *  mw:Extension:Page Forms/Defining forms 
 * This is the first of the two major sections. How to define a form via a page within the "Form:" namespace. Covers the entire form-definition syntax, including the,  ,  ,  ,  and  tags.


 * Also covers how to add tabs and tooltips.


 *  mw:Extension:Page Forms/Input types 
 * The second major section. A listing of all allowed input types, as well as parameters for each, and the set of SMW and Cargo data types that each can be used with. Also includes complete information on autocompletion options.


 *  mw:Extension:Page Forms/The "edit with form" tab 
 * How to get the "formedit" tab to appear on pages, using the #default_form parser function. Plus, how to rename the tab to simply "edit", and how to remove the standard "edit" tab (if you want to).


 *  mw:Extension:Page Forms/Linking to forms 
 * How to bring users to forms, via the #forminput, #formlink, #formredlink and #queryformlink functions. Also, how to use #formredlink to have red-linked pages created automatically. Also, how to create links that directly modify a page, via the #autoedit function.


 *  mw:Extension:Page Forms/Creating query forms 
 * Creating forms to query data, instead of to modify data, via the Special:RunQuery page.


 *  mw:Extension:Page Forms/Common problems 
 * Common issues people have run into, and their solutions, relating to forms, data structure design, and the use of Page Forms with other extensions.


 *  mw:Extension:Page Forms/Known bugs and planned features 
 * Known bugs in the software, and potential workarounds for them; plus features that are planned in the current "development roadmap".


 *  mw:Extension:Page Forms/Getting support 
 * Where to ask questions, submit bug reports, submit feature requests, submit fixes, and add new translations.


 *  mw:Extension:Page Forms/Developers' documentation  (not needed for Familypedia)


 *  Authors and credits   (not needed for Familypedia)


 *  mw:Extension:Page Forms/Version history 
 * A version history of Page Forms, from May 2007 to the present.


 *  mw:Extension:Page Forms/Sites that use Page Forms 
 * A small sampling of the wikis that use Page Forms, plus links to more comprehensive lists.


 *  Related extensions   (not needed for Familypedia)