Extension:Semantic Forms/The "edit with form" tab

From MediaWiki.org
Jump to: navigation, search
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

Getting "edit with form" to appear[edit | edit source]

In version 3.0, the way in which the "edit with form" tab is meant to be made to appear was changed - it is now recommended to use the new parser function #default_form, instead of the previous approach involving Semantic MediaWiki special properties. Both approaches are listed here.

If a user is not allowed to edit a page that is form-editable, the tab will show up for them as "view form" instead; clicking on the tab will show the disabled form.

Based on category[edit | edit source]

The recommended approach is to use categories. To enable a page to have a tab in this way, you must first define that page as belonging to a specific category. The best way to match pages with a category is to place a 'Category' tag inside the main template that defines this page type; that way, every page that uses this template will become part of this category.

Then, place a call to the parser function #default_form in the page for that category; the call should look like {{#default_form::form-name}}. You can do this automatically if you create the category using the 'CreateCategory' page.

SF versions before 3.0[edit | edit source]

Instead of #default_form, place the semantic property 'Has default form' in the page for that category; the tag should look like [[Has default form::form-name]].

Based on namespace[edit | edit source]

The second possible way is to match the pages' namespace to a form. First, locate the page defining that namespace. For instance, if the namespace you want to associate with a form is 'User', the page in which you need to add the property can be found by navigating to 'Project:User' (you may need to create this page). If the namespace you want a default form for is the main one (i.e., the one with no name), you will need to create and add this property to the page called 'Project:Main', or whatever the main namespace is called in the language of this wiki (to see the name of the main namespace in your wiki, go to MediaWiki:Blanknamespace).

Then, add either the #default_form parser function or the "Has default form" special property to this page; see above for an explanation of both.

Once you've added this call, every page within that namespace will have that form associated with it, unless it already belongs to a category that has an associated form (categories take precedence over namespaces).

Within the page[edit | edit source]

You can also associate a form directly to a page. This is especially useful when the category and namespace options aren't possible, such as when pages belong to multiple categories that have different default forms; or for editing category pages themselves.

To do this, simply add a call to #default_form directly to the page, or to a template that the page calls (see above for how to call #default_form).

SF versions before 3.0[edit | edit source]

This can be done with the special property "Page has default form". To apply it, place this property either directly within the page, or in a template that the page calls, using syntax like this:

 [[Page has default form::form-name]]

Configuring the editing tabs[edit | edit source]

For pages that have an "edit with form" tab, you may want the regular "edit" tab to be renamed or even removed altogether. There are flags you can set in "LocalSettings.php" to change the appearance of the editing tabs:

  • $sfgRenameEditTabs = true; - renames the "edit with form" tab to "edit", and the "edit" tab to "edit source" (in whatever language the wiki is being viewed in)
  • $sfgRenameMainEditTab = true; - renames only the "edit" tab to "edit source" (in whatever language the wiki is being viewed in)
  • $wgGroupPermissions[...]['viewedittab'] - can be set, for different types of viewers, to toggle whether each type will see the regular edit tab. One common modification is to set it to false normally (i.e. for viewer type '*'), and to true for 'sysop' viewers:
    • $wgGroupPermissions['*']['viewedittab'] = false;
    • $wgGroupPermissions['sysop']['viewedittab'] = true;

If these settings are added to LocalSettings.php, they should be placed in the file after the include of Semantic Forms.

Note that some of the early MediaWiki skins, like Cologne Blue, contain hard-coded links to "Edit this page", that can't be removed or renamed by the Semantic Forms code.

Further tab customization[edit | edit source]

Tabs contain CSS ID's that can be further customized on a site-wide basis using CSS or javascript in your site's MediaWiki:Common.css or MediaWiki:Common.js. Tabs can be customized on an individual page using Extension:NewPageCSS or Extension:CSS. For example, you can hide the edit and view tabs with something like this in your MediaWiki:Common.css:

#ca-view, #ca-edit { display: none !important; }