Extension:Semantic Forms
Semantic Forms - navigation (view) | |
Basics | Main page (talk) · Download and installation · Quick start guide · Hosting · Special pages |
Using Semantic Forms | SF and templates · Defining forms · The "edit with form" tab · Linking to forms · Creating query forms |
Resources for help | Common problems · Known bugs and planned features · Getting support · Developers' documentation |
About Semantic Forms | Authors and credits · Version history · Sites that use Semantic Forms · Related extensions |
Semantic Forms Release status: stable |
|||
---|---|---|---|
Implementation | Special page, API | ||
Description | An extension, based around Semantic MediaWiki, that allows users to create forms for adding and editing pages that use templates to store semantic data. Forms are defined within wiki pages, written in a custom markup language, and are parsed on-the-fly when a form is displayed. | ||
Author(s) | Yaron Koren <[email protected]>, Stephan Gambke and others | ||
Latest version | 2.8 (September 2014) | ||
MediaWiki | 1.19 or greater | ||
License | GPL | ||
Download | See here | ||
Example | An auto-generated form allowing the user to edit an opinion item | ||
|
|||
Translate the Semantic Forms extension if it is available at translatewiki.net |
|||
Check usage and version matrix; code metrics |
Semantic Forms is an extension to MediaWiki that allows users to add, edit and query data using forms. It is heavily tied in with the Semantic MediaWiki extension, and is meant to be used for structured data that has semantic markup. Having Semantic MediaWiki installed is a precondition for the Semantic Forms extension; the code will not work without it.
Very simply, Semantic Forms allows you to have forms for adding, editing and querying data on your wiki, without any programming. Forms can be created and edited not just by administrators, but by users themselves.
The main components of Semantic Forms functionality are form definition pages, which exist in a new namespace, 'Form:'. These are pages consisting of markup code which gets parsed when a user goes to add or edit data. Since forms are defined strictly through these definition pages, users can themselves create and edit forms, without the need for any actual programming.
The Semantic Forms extension enforces the use of templates in creating semantic data. It does not support direct semantic markup in data pages; instead, all the semantic markup is meant to be stored indirectly through templates. A form allows a user to populate a pre-defined set of templates and sections for a page (behind the scenes, the template data is turned into semantic properties once the page is saved).
Forms can also be used to edit the data in an existing page, and you can enable an 'edit with form' tab to show up on any page.
Semantic 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".
Semantic Forms also includes a wide variety of other functionality related to forms.
Below are links to the entire documentation.
- How to download Semantic Forms via either Git, a standard download, or a software package; and how to install it.
- How to get started with Semantic Forms right away.
- Wiki hosting sites that support Semantic Forms, plus public wikis that can be used for trying out the software.
- All the "special pages" that Semantic 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).
- The template-based philosophy of Semantic Forms - plus information on the two parser functions that SF defines for templates: #arraymap and #arraymaptemplate.
- This is the major section. How to define a form via a page within the "Form:" namespace. Covers the entire form-definition syntax, including the {{{info}}}, {{{for template}}}, {{{end template}}}, {{{field}}}, {{{section}}} and {{{standard input}}} tags. Also covers how to add tabs and tooltips.
- How to get the "edit with form" tab to appear on pages, using the "Has default form", "Has alternate form" and "Page has default form" special properties. Plus, how to rename the tab to simply "edit", and how to remove the standard "edit" tab (if you want to).
- How to bring users to forms, via the #forminput, #formlink and #queryformlink functions. Also, how to associate forms with red-linked pages that don't exist yet, using "Has default form"; and how to have such red-linked pages created automatically, using "Creates pages with form". Also, how to create links that directly modify a page, via the #autoedit function.
- Creating forms to query data, instead of to modify data, via the Special:RunQuery page.
- Common issues people have run into, and their solutions, relating to forms, data structure design, and the use of Semantic Forms with other extensions.
- Known bugs in the software, and potential workarounds for them; plus features that are planned in the current "development roadmap".
- Where to ask questions, submit bug reports, submit feature requests, submit fixes, and add new translations.
- Information for developers who want to modify Semantic Forms, or create an extension that works in tandem with it.
- The main authors, others who have contributed to the code, and credits to other organizations and software projects.
- A version history of Semantic Forms, from May 2007 to the present.
- A small sampling of the wikis that use Semantic Forms, plus links to more comprehensive lists.
- Extensions that require the presence of Semantic Forms, extensions that can be used together with Semantic Forms, and extensions that have a similar purpose to Semantic Forms.
Cheat sheet | |
Links | SMW quick reference · Scratchpad · SMW user manual |
Parser functions | {{#arraymap:value|delimiter|var|formula|new_delimiter}} {{#arraymaptemplate:value|template|delimiter|new_delimiter}} {{#forminput:form=|size=|default value=|button text=|query string=|autocomplete on category=|autocomplete on namespace=|placeholder=|popup|query string parameters}} {{#formlink:form=|link text=|link type=|query string=|target=|tooltip=|popup|new window|query string parameters}} {{#queryformlink:form=|link text=|link type=|query string=|tooltip=|popup|new window|query string parameters}} {{#autoedit:form=|target=|link text=|link type=|query string=|reload|query string parameters}} |
Input types | text, text with autocomplete, textarea, textarea with autocomplete, combobox, date, datetime, checkbox, dropdown, radiobutton, checkboxes, listbox; from Semantic Forms Inputs: datepicker, timepicker, datetimepicker, menuselect, regexp; from Semantic Maps: map, googlemaps, yahoomaps, openlayers; from Semantic Image Input: instantimage; via CategoryTree: category, categories |
Language: | English • español • français • 中文(繁體) |
---|
- GPL licensed extensions
- Stable extensions
- Special page extensions
- API extensions
- Extensions in Wikimedia version control
- MakeGlobalVariablesScript extensions
- LinkEnd extensions
- UnknownAction extensions
- SkinTemplateTabs extensions
- SkinTemplateNavigation extensions
- AdminLinks extensions
- ParserBeforeStrip extensions
- ParserFirstCallInit extensions
- ResourceLoaderRegisterModules extensions
- All extensions
- Semantic MediaWiki extensions
- Semantic Bundle extensions
- Form extensions
- Page creation extensions
- Edit extensions
- Template extensions