Issue tracker: [[phab:tag/{{{phabricator}}}/|#{{{phabricator}}}]]

Templat:Extension

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Template:Extension and the translation is 63% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Scots • ‎Tiếng Việt • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎magyar • ‎norsk bokmål • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎suomi • ‎svenska • ‎čeština • ‎Ελληνικά • ‎беларуская (тарашкевіца)‎ • ‎български • ‎македонски • ‎русский • ‎українська • ‎հայերեն • ‎العربية • ‎فارسی • ‎کوردی • ‎मराठी • ‎हिन्दी • ‎বাংলা • ‎မြန်မာဘာသာ • ‎中文 • ‎日本語 • ‎粵語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎조선말 • ‎한국어
Dokumentasi templat

Templat ini sebaiknya ditambahkan ke semua halaman ekstensi di wiki ini (tetapi hanya di halaman utamanya). Tempat ini akan menambahkan kotak info berguna (lihat di bawah) dan menambahkan ekstensi tersebut secara otomatis ke Category:All extensions , beserta kategori status dan jenis implementasi yang sesuai.

Penggunaan

Salin dan tempel:

{{Extension |templatemode =
|name                 = 
|status               = 
|type1                = 
|type2                = 
|hook1                = 
|hook2                = 
|newhook1             = 
|newhook2             = 
|username             = 
|author               = 
|description          = 
|image                = 
|imagesize            = 
|version              = 
|update               = 
|version preview      = 
|update preview       = 
|compatibility policy =
|mediawiki            = 
|php                  = 
|needs-updatephp      = 
|composer             =
|table1               = 
|table2               = 
|license              = 
|download             = 
|readme               = 
|changelog            = 
|example              = 
|namespace            = 
|parameters           = 
|tags                 = 
|rights               = 
|compatibility        = 
|bugzilla             = 
|phabricator          =
|vagrant-role         = 
}}
Untuk bantuan mengenai nilai parameter, lihat di bawah.
Manual ekstensi MediaWiki
OOjs UI icon advanced.svg
{{{name}}}
Status rilis: tidak diketahui
Placeholder.png
Implementasi {{{type1}}}, {{{type2}}}
Deskripsi {{{description}}}
Perancang awal SomeAuthor (SomeUserbicara)
Versi terbaru {{{version}}} ({{{update}}})
Versi pratayang terbaru {{{version preview}}} ({{{update preview}}})
Kebijakan kompatibilitas tidak valid
MediaWiki {{{mediawiki}}}
PHP {{{php}}}
Perubahan basis data {{{needs-updatephp}}}
Composer {{{composer}}}
Tabel [[Special:MyLanguage/Template:Extension/{{{table1}}} table|{{{table1}}}]][[:Template:Extension/{{{table1}}} table| ]]
[[Special:MyLanguage/Template:Extension/{{{table2}}} table|{{{table2}}}]][[:Template:Extension/{{{table2}}} table| ]]
Lisensi {{{license}}}
Unduh {{{download}}}
{{{readme}}}
{{{changelog}}}
Contoh {{{example}}}
{{{namespace}}}
{{{parameters}}}
{{{tags}}}

{{{rights}}}

{{{compatibility}}}
Terjemahkan ekstensi Extension jika tersedia di translatewiki.net
Vagrant role {{{vagrant-role}}}
Masalah [[phab:tag/{{{phabricator}}}|Tugas terbuka]] · Laporkan kutu

Parameter konten

Bagian ini menjelaskan parameter-parameter yang mengisi konten kotak info. Untuk bantuan mengenai templatemode dan parameter kendali lainnya, lihatlah Parameter kendali.

Parameter konten
Parameter Deskripsi
namenama ekstensi
status

status rilis terkini Pilih salah satu:

  • unstable - rusak - jangan gunakan ekstensi ini
  • experimental - tahap awal pengembangan, bisa berubah secara drastis
  • beta - stabil tetapi belum sepenuhnya diuji
  • stable - versi stabil
  • unmaintained - tidak terpelihara - sebelumnya dianggap stabil, sekarang tidak dipelihara
  • archive - diarsipkan - telah usang atau digabungkan dengan ekstensi lain
  • unknown - default

Jika status yang diisi bukanlah salah satu di antara yang di atas, status yang diisi akan diabaikan dan nilai default 'Tidak diketahui' akan ditampilkan di dalam templat. Jika nilainya tidak diberikan, ekstensinya akan dikategorikan sebagai tidak diketahui. Jika nilainya tidak valid, ekstensinya akan diletakkan di kategori khusus agar galatnya bisa ditemukan dan diperbaiki.

type1
type2
type3
type4
type5
type6
jenis implementasi

Strategi implementasi yang diterapkan dalam membangun ekstensi ini. Parameter ini digunakan untuk membuat kategori yang membantu para pemrogram menemukan contoh berbagai strategi atau pola implementasi tertentu MediaWiki. Meskipun nilai parameter ini terkadang sama dengan kasus penggunaan atau tujuan dari ekstensi, itu bukanlah alasan untuk parameter ini. Jika nilai yang Anda pilih untuk parameter ini tidak cukup untuk mengidentifikasi tujuan atau kasus-kasus penggunaan yang mungkin, kami merekomendasikan Anda menambahkan pranala kategori tambahan yang diperlukan.

Nilai yang dibolehkan untuk parameter type1, type2, ... adalah:

  • parser - kelompok umum untuk ekstensi parser yang tidak dikategorikan. Jika Anda menulis sebuah ekstensi parser, tolong gunakan salah satu jenis yang lebih spesifik berikut:
  • access - kelompok umum untuk User access extensions , yaitu, ekstensi yang membuat, mengotentikasi, memberikan izin, mencabut izin, atau mengawasi aktivitas pengguna. Jika Anda telah menulis sebuah ekstensi akses, gunakanlah salah satu jenis spesifik berikut:
    • user activity - ekstensi yang mengawasi aktivitas pengguna (masuk log, keluar log, pembuatan pengguna baru, dll.)
    • user identity - ekstensi yang membuat dan menghapus pengguna, dan/atau memverifikasi identitas pengguna
    • user rights - ekstensi untuk sistem manajemen hak, misalnya mengubah cara pemberian hak, API, alat pemeliharaan (tidak termasuk ekstensi yang hanya menentukan hak yang diperlukan untuk menggunakan fitur ekstensi itu; untuk yang ini gunakan parameter hak)
  • interface - kelompok umum untuk ekstensi antarmuka pengguna yang tidak dikategorikan.
    • media - ekstensi yang memungkinkan peletakan konten multimedia di halaman wiki dengan mendaftarkan ekstensi berkasnya dengan $wgMediaHandlers .
    • mywiki - ekstensi yang menyediakan infrastruktur sehingga pengguna bisa mengubahsuaikan pengalaman MediaWiki mereka dan/atau membantu memanajemen infrastruktur tersebut
    • notify - ekstensi yang mengirim surel kepada pengguna, menyiarkan pesan dan menyediakan bentuk pengumuman komunitas lainnya
    • page action - ekstensi yang mengubah page action s. Ini termasuk semua hal yang mengimplementasikan tindakan yang membaca, menulis, mencari, membuat, mengubah nama, menghapus, mengalihkan atau membicarakan suatu halaman. Ini tidak termasuk hak (gunakan user rights) atau catatan (gunakan user activity).
    • search - ekstensi yang mencari dan memilih halaman untuk pengguna.
    • skin - ekstensi yang menambahkan CSS atau JavaScript, atau mengimplementasikan fungsi hook yang mengubah rasa dan tampak MediaWiki melalui kerangka kerja kulit.
    • ajax - ekstensi yang menggunakan teknik pemrograman Ajax.
    • special - extensions that subclass the SpecialPage class, use one of its hooks, or patch one or more functions in SpecialPage.php. See Special pages for more information.
  • other
    • api - extensions that add a new API module or extend a core API module.
    • hook - Hook extension - defines a new hook - see hook1, etc. below if you want to define hooks used by your extension
    • database - adds tables and/or fields to the database backing a MediaWiki installation
    • data extraction - Data extraction
    • filerepo - extension that adds new file repository types as file backend
    • example - Not a real extension, but an example of how to write one

Any other value for 'type' is invalid, and will cause the extension to be placed in Category:Extensions with invalid or missing type/id.

Note: Many extensions have more than one type, if this applies to yours, replace |type= with |type1=|type2=|type3=.... You may define up to six types for an extension.
hook1
hook2
hook3
hook4
...
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 page so that programmers can easily find examples of extensions that use a particular hook.

For built-in hooks:

  • use the hook name alone. Please see Manual:Hooks for values (but omit introductory '/').

For custom hooks defined by extensions:

For multiple hooks, assign the first hook to hook1, the second to hook2 and so on.

newhook1
newhook2
newhook3
newhook4
...
newhook90

name of each hook provided by the extension

You might also want to add the hooks to Extension hook registry.

usernameThe author's username on MediaWiki.org (if they have one). May be omitted, but if present it will be used to link to the author's user & user_talk page. It should be provided without namespace and without [[]]s.
authorThe extension author's name, if different from their MediaWiki.org username. Free text. If omitted then the 'username' field will be used (if present).
descriptionshort description
imagescreenshot or logo of extension. It should be provided without namespace and without [[]]s.
imagesizefacultative, size of the image (default size is 220px)
versionlast version
updatedate of the last update
compatibility policycompatibility policy (accepted values are master, rel, and ltsrel). (backlog )
mediawikirequired version of MediaWiki
phprequired version of PHP
needs-updatephp

yes indicates that the extension requires a database table schema change or a similar action, before the MediaWiki can run. It is a common pitfall: your MediaWiki will stall, if you forgot to run update.php - if the extension requires it. no should be set as a value since this assures that the extension does not need update.php to be run and thus avoids uncertainty

Extensions which conform to MediaWiki extension standards come with a schema change script which you need to start manually (once) before starting and accessing the MediaWiki through your browser, and after you copied all the extension files to $IP/extensions/ExtensionName and inserted wfLoadExtension( "ExtensionName"); into "LocalSettings.php", run from the command line:

cd path/to/wiki_install_directory
cd maintenance
php update.php
$IP stands for the Installation Path (or "directory") of your MediaWiki installation, the same directory that holds LocalSettings.php , index.php etc..
composerIf applicable the name of the "vendor" as well as the "package" should be entered in the format vendor/package, e.g. mediawiki/semantic-media-wiki to point people directly to packagist.org, which serves as the package archive.
table1
table2
table3
table4
...
table30
name of each non-core table used by the extension Links to a subpage of your extension page. For instance, "table1 = cu_changes" at Extension:CheckUser will link to Extension:CheckUser/cu_changes table . Don't list core tables such as page or revision ; only list tables that are added by extensions.
licenselicense governing use of this extension, as one of the codes found in https://spdx.org/licenses/, e.g. GPL-2.0-or-later, GPL-2.0-only or GPL-3.0-or-later, etc.
downloadlink to the download : Git, {{WikimediaDownload/id}}.
repoName of the Gerrit repository the extension's code is stored in, if different from the page name. Setting this automatically sets |download=, and allows the template to automatically load data from the appropriate extension.json file.
readmeexternal link to the readme file, e.g. https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README
changelogexternal link to the changelog file, e.g. Extension:LDAP Authentication/Changelog
parametersavailable parameters for LocalSettings.php
tagsany tags your extension uses (e.g. <tag1>, <tag2>).
rightsrights added by the extension. Not to be confused with the license! Rights are such as makebot or desysop , not such as GFDL or LGPL or GPL - those are licenses!
namespacenamespace in which this extension is used
exampleexample, website or screenshot of working extension
compatibilityAdditional compatibility information, for instance compatibility charts (formerly using Template:Extension Testing). It's encouraged to add any client-side compatibility information here too, especially when diverging from expectations of full support for a browser.
translate

Optional parameter to link the exact page where (message group id with which) the extension will be translatable on translatewiki.net if enabled. If the default link is incorrect, manually set it to:

  • ext-LOWERCASE(NOSPACES(Label as defined in config)), aka
  • the parameter you get in the URL after
bugzillaBugzilla MediaWiki extension component name
phabricatorPhabricator project name
CheckUsageNameOverrideoverride the page name used for the check usage link.

Control parameters

Control parameters
Parameter Description
templatemode

Controls auto-categorization of host page.

Normally left blank. Alternate values are:

  • nocats - suppresses categorization and the 'check usage' link. Use this value if you are adding this template to subpages of an extension or to how-to documentation of extensions. For example, the usage image above sets templatemode=nocats because this isn't an actual extension page and we don't want to add this page to any categories on account of it.
  • nousage - suppresses the 'check usage' link. Link is also suppressed if the page is a subpage; it is not in the Extension: namespace; or if suppressed by 'templatemode=nocats'
If this is left blank, this template will add the host page to Category:All extensions/id and to one or more additional categories, depending on the values assigned to the Content parameters.

Using the infobox

Existing extension pages

If you want to add the infobox to an existing page, copy and paste the code at the top of this page.

Create a new extension page

If you want to create a new extension page, enter the name below and click the button. A new page will be created with the infobox template already in place.


A developer sharing their code in the MediaWiki code repository should expect:

Feedback / Criticism / Code reviews
Review and comments by other developers on things like framework use, security, efficiency and usability.
Developer tweaking
Other developers modifying your submission to improve or clean-up your code to meet new framework classes and methods, coding conventions and translations.
Improved access for wiki sysadmins
If you do decide to put your code on the wiki, another developer may decide to move it to the MediaWiki code repository for easier maintenance. You may then create a Akun pengembang to continue maintaining it.
Future versions by other developers
New branches of your code being created automatically as new versions of MediaWiki are released. You should backport to these branches if you want to support older versions.
Incorporation of your code into other extensions with duplicate or similar purposes — incorporating the best features from each extension.
Credit
Credit for your work being preserved in future versions — including any merged extensions.
Similarly, you should credit the developers of any extensions whose code you borrow from — especially when performing a merger.

Any developer who is uncomfortable with any of these actions occurring should not host in the code repository. You are still encouraged to create a summary page for your extension on the wiki to let people know about the extension, and where to download it.

Enhancing this template

If you would like to improve on this template, thanks! This is a complicated template so here is some help along the way:

The Create extension button

To improve the create extension button behavior:

Infobox parameters

In general:

  • To make this template easy to use, each label in the infobox is linked to documentation on the template parameter(s) it displays. If you add a parameter, please be sure to also add it to the content parameter documentation and link its label to that documentation.

To change/correct/add to the implementation type parameters:

  • Check the talk page - there have been some extensive discussions about this field.

To change the behavior of the hook parameters:

Test case

See if the following pages are still ok, after edited this template.

TemplateData

Maintenance: vulnerabilities, archived