Difference between revisions of "Template:Extension/doc"

11 bytes removed ,  15:06, 12 December 2011
>Nnemo
>Nnemo
Line 77: Line 77:


== Content parameters ==
== Content parameters ==
This section describes parameters that govern infobox content. For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.
 
This section describes parameters that govern infobox content. For help with '''templatemode''' and other control parameters, please see ''[[#Control parameters|Control parameters]]''.


<!-- BEFORE YOU EDIT THIS:
<!-- BEFORE YOU EDIT THIS:
     span ids on each parameter are used by the code in Template:Extension.
     span ids on each parameter are used by the code in Template:Extension.
     They enable each label in the info box to link its documentation.
     They enable each label in the info box to link its documentation.
     If you change an id, please update the code in Template:Extension accordingly
     If you change an id, please update the code in Template:Extension accordingly.
-->   
-->   
{| class="wikitable"
{| class="wikitable"
Line 95: Line 96:
One of:  
One of:  
* ''[[:Category:Unstable extensions|unstable]]'' (broken - do not use this extension)
* ''[[:Category:Unstable extensions|unstable]]'' (broken - do not use this extension)
* ''[[:Category:Experimental extensions|experimental]]'' (early stages of development, may change drastically.)
* ''[[:Category:Experimental extensions|experimental]]'' (early stages of development, may change drastically)
* ''[[:Category:Beta status extensions|beta]]'' (stable but not fully tested)
* ''[[:Category:Beta status extensions|beta]]'' (stable but not fully tested)
* ''[[:Category:Stable extensions|stable]]'' (stable version)
* ''[[:Category:Stable extensions|stable]]'' (stable version)
* ''[[:Category:Extensions with unknown status|unknown]]'' (default)
* ''[[:Category:Extensions with unknown status|unknown]]'' (default)
If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead. In cases where the value is omitted, it will be categorized as [[:category:extensions with unknown status|unknown]]. In cases where the value is invalid, it will be placed in a [[:category:extensions with invalid status|special category]] so that the error can be caught and fixed.
If the status is anything other than the above, it will be ignored and the default value of 'Unknown' will be displayed in the template instead. In cases where the value is omitted, it will be categorized as [[:category:extensions with unknown status|unknown]]. In cases where the value is invalid, it will be placed in a [[:category:extensions with invalid status|special category]] so that the error can be caught and fixed.
* [[Extension status|release status colour scheme]]
* [[Extension status|release status colour scheme]]
|-
|-
| '''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/> || <span id="type">'''implementation type'''</span><!-- id here so at top of documentation -->
| '''type1'''<br/>''type2''<br/>''type3''<br/>''type4''<br/>''type5''<br/>''type6''<br/> || <span id="type">'''implementation type'''</span><!-- id here so at top of documentation -->


The  implementation strategy(s) employed in building this extension. This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns. Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter. If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Help:Categories|category links]] as needed.
The  implementation strategy(s) employed in building this extension. This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns. Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter. If the values you have chosen for this parameter do not adequately identify the [[w:Requirements|purpose]] or possible [[w:Use case|use case]]s, we recommend you add additional [[Help:Categories|category links]] as needed.




Legal values for the '''type1''','''type2''',... parameters are:
Legal values for the '''type1''', '''type2''', ... parameters are:
* '''''[[:Category:Parser extensions|parser]]''''' - catchall for uncategorized [[Manual:Extending wiki markup|parser extensions]]. If you have written a parser extension, please use one of the following more specific types:
* '''''[[:Category:Parser extensions|parser]]''''' - catchall for uncategorized [[Manual:Extending wiki markup|parser extensions]]. If you have written a parser extension, please use one of the following more specific types:
** ''[[:Category:Link markup extensions|link]]'' - customized [[Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...]]</code>
** ''[[:Category:Link markup extensions|link]]'' - customized [[Manual:Extending wiki markup|link markup]], e.g. <code><nowiki>[[</nowiki>...]]</code>
Line 115: Line 116:
** ''[[:Category:Extended syntax extensions|extended syntax]]'' - Extensions that add non-standard wiki syntax (i.e. <em>not</em> [[Manual:Tag extensions|tags]], [[Manual:Parser functions|parser functions]], or [[Manual:Variables|variables]]).
** ''[[:Category:Extended syntax extensions|extended syntax]]'' - Extensions that add non-standard wiki syntax (i.e. <em>not</em> [[Manual:Tag extensions|tags]], [[Manual:Parser functions|parser functions]], or [[Manual:Variables|variables]]).
*:
*:
* [[:Category:User access extensions|'''''access''''']] - catchall for [[Manual:User access extensions|user access extensions]], that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:
* [[:Category:User access extensions|'''''access''''']] - catchall for [[Manual:User access extensions|user access extensions]], that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:
** [[:Category:User activity extensions|''user activity'']] - extensions that monitor user activity (logins, logouts, new user creation, etc)
** [[:Category:User activity extensions|''user activity'']] - extensions that monitor user activity (logins, logouts, new user creation, etc.)
** [[:Category:User identity extensions|''user identity'']] - extensions that create and delete users, and/or verify the identity of a user
** [[:Category:User identity extensions|''user identity'']] - extensions that create and delete users, and/or verify the identity of a user
** [[:Category:User rights extensions|''user rights'']] - extensions to the rights management system, e.g. changes to the way rights are assigned, apis, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension.  For this purpose use the [[#rights|rights parameter]].).
** [[:Category:User rights extensions|''user rights'']] - extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the [[#rights|rights parameter]])
*:
*:
* [[:Category:User interface extensions|'''''interface''''']] - catchall for uncategorized user interface extensions.
* [[:Category:User interface extensions|'''''interface''''']] - catchall for uncategorized user interface extensions.
Line 124: Line 125:
** ''[[:Category:Personalization extensions|mywiki]]'' - extensions that provide infrastructure so that users may personalize their MediaWiki experience and/or assist in the management of that infrastructure
** ''[[:Category:Personalization extensions|mywiki]]'' - extensions that provide infrastructure so that users may personalize their MediaWiki experience and/or assist in the management of that infrastructure
** [[:Category:Notification extensions|''notify'']] - extensions that email users, broadcast messages and provide other forms of community notification
** [[:Category:Notification extensions|''notify'']] - extensions that email users, broadcast messages and provide other forms of community notification
** ''[[:Category:Page action extensions|''page action'']]'' - extensions that enhance or modify [[Manual:Page action|page action]]s. This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page. It does not include rights (use ''user rights'') or logs (use ''user activity'').
** ''[[:Category:Page action extensions|''page action'']]'' - extensions that enhance or modify [[Manual:Page action|page action]]s. This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page. It does not include rights (use ''user rights'') or logs (use ''user activity'').
** [[:Category:Search extensions|''search'']] - extensions that search through and select articles for users.
** [[:Category:Search extensions|''search'']] - extensions that search through and select articles for users.
** [[:Category:Skin extensions|''skin'']] - extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.
** [[:Category:Skin extensions|''skin'']] - extensions adding [[w:CSS|CSS]] or [[w:JavaScript|JavaScript]], or implementing hook functions to change the look and feel of MediaWiki via the skins framework.
Line 131: Line 132:
* '''other'''
* '''other'''
** [[:Category:API extensions|''api'']] - extensions that add a new API module or extend a core API module.
** [[:Category:API extensions|''api'']] - extensions that add a new API module or extend a core API module.
** [[:Category:Hook extensions|''hook'']] - Hook extension - defines a <em>new</em> hook - see hook1, etc below if you want to define hooks <em>used</em> by your extension
** [[:Category:Hook extensions|''hook'']] - Hook extension - defines a <em>new</em> hook - see hook1, etc. below if you want to define hooks <em>used</em> by your extension




* ''[[:Category:Parser function extensions|pfunc]]'' - same as ''parser function''
* ''[[:Category:Parser function extensions|pfunc]]'' - same as ''parser function''


<div style="border: thin solid blue">We are in the process of revising the values of this page. Types below this point are likely to be deprecated or redefined. We apologize for the inconvenience. See [[Template talk:Extension#Type taxonomy]] for more information.</div>
<div style="border: thin solid blue">We are in the process of revising the values of this page. Types below this point are likely to be deprecated or redefined. We apologize for the inconvenience. See [[Template talk:Extension#Type taxonomy]] for more information.</div>
* ''[[:Category:Database extensions|database]]'' - adds tables and/or fields to the database backing a MediaWiki installation
* ''[[:Category:Database extensions|database]]'' - adds tables and/or fields to the database backing a MediaWiki installation
* ''[[:Category:Database extensions|db]]'' - same as ''database''
* ''[[:Category:Database extensions|db]]'' - same as ''database''
Line 144: Line 145:
Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type]].
Any other value for 'type' is invalid, and will cause the extension to be placed in [[:Category:Extensions with invalid or missing type]].


Note: Many extensions have more than one type, if this applies to yours,replace <code><nowiki>|type=</nowiki></code> with <code><nowiki>|type1=|type2=|type3=...</nowiki></code>. You may define up to six types for an extension.
Note: Many extensions have more than one type, if this applies to yours, replace <code><nowiki>|type=</nowiki></code> with <code><nowiki>|type1=|type2=|type3=...</nowiki></code>. You may define up to six types for an extension.
|-
|-
| <span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook30''
| <span id="hook">'''hook1'''</span><br/>''hook2''<br/>''hook3''<br/>''hook4''<br/>...<br/>''hook30''
|valign="top"| '''name of each hook used by the extension'''
|valign="top"| '''name of each hook used by the extension'''


Entering values in this field is a good way to get exposure for your extension and help other developers. Each documented hook will automatically add the extension to a category listing extensions that use that hook. This category is autolinked to each hook article so that programmers can easily find examples of extensions that use a particular hook.
Entering values in this field is a good way to get exposure for your extension and help other developers. Each documented hook will automatically add the extension to a category listing extensions that use that hook. This category is autolinked to each hook article so that programmers can easily find examples of extensions that use a particular hook.


For built-in hooks:
For built-in hooks:
* use the hook name alone. Please see [[Manual:Hooks]] for values (but omit introductory '/').
* use the hook name alone. Please see [[Manual:Hooks]] for values (but omit introductory '/').


For custom hooks defined by extensions:
For custom hooks defined by extensions:
* use ''extensionName''/''hookName''. For a partial list of custom hooks, see [[Extension hook registry]].   
* use ''extensionName''/''hookName''. For a partial list of custom hooks, see [[Extension hook registry]].   


For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
For multiple hooks, assign the first hook to '''hook1''', the second to '''hook2''' and so on.
Line 187: Line 188:
| <span id="license">license</span>|| license(s) governing use of this extension, e.g. GPL
| <span id="license">license</span>|| license(s) governing use of this extension, e.g. GPL
|-
|-
| <span id="download">'''download'''</span>|| '''link to the download''' : [http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ SVN] or other. If you put the code into page in the MediaWiki Wiki, link to it using a full page name and section name, e.g. <code> <nowiki>[[Extension:Example/version_1.22a#Code]]</nowiki> </code> (it must remain valid when bot-copied elsewhere)
| <span id="download">'''download'''</span>|| '''link to the download''' : [http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ SVN] or other. If you put the code into page in the MediaWiki wiki, link to it using a full page name and section name, e.g. <code> <nowiki>[[Extension:Example/version_1.22a#Code]]</nowiki> </code> (it must remain valid when bot-copied elsewhere)
|-
|-
| <span id="readme">readme</span>|| external link to the readme file : http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Sort/Sort
| <span id="readme">readme</span>|| external link to the readme file : http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/Sort/Sort
Line 203: Line 204:
| <span id="compatibility">compatibility</span> || compatibility chart, e.g. [[Template:Extension Testing]]
| <span id="compatibility">compatibility</span> || compatibility chart, e.g. [[Template:Extension Testing]]
|-
|-
| <span id="bugzilla">bugzilla</span> || bugzilla MediaWiki extension component name
| <span id="bugzilla">bugzilla</span> || Bugzilla MediaWiki extension component name
|-
|-
| <span id="CheckUsageNameOverride">CheckUsageNameOverride</span> || override the page name used for the check usage link.
| <span id="CheckUsageNameOverride">CheckUsageNameOverride</span> || override the page name used for the check usage link.
Anonymous user