Status keluaran: stabil |
|
|---|---|
| 👁 Image |
|
| Penerapan | Halaman istimewa, API, Fungsi pengurai |
| Deskripsi | Pengaya yang memungkinkan penyimpanan dan kueri data yang terdapat dalam templat. |
| Perancang | Yaron Koren <yaron57@gmail.com> (Yaron Korenbicara) |
| Versi terbaru | 3.9.2 (Juni 2026) |
| Kebijakan kompatibilitas | Induk mempertahankan kompatibilitas mundur. |
| MediaWiki | 1.42+ |
| Perubahan pangkalan data | Ya |
| Composer | mediawiki/cargo |
|
|
|
|
|
|
| Licence | Lisensi Publik Umum GNU 2.0 atau lebih baru |
| Unduh | |
| Contoh | Wikimedia Australia's Cargo Tables |
| Terjemahkan pengaya Cargo | |
| Masalah | Tugas terbuka · Laporkan kekutu |
Cargo adalah pengaya untuk MediaWiki yang menyediakan cara ringan untuk menyimpan dan mengueri data yang terdapat dalam panggilan ke templat, seperti kotak info. Konsepnya mirip dengan pengaya Semantic MediaWiki, tetapi menawarkan sejumlah keunggulan, termasuk kemudahan pemasangan dan kemudahan penggunaan.
Cargo menyimpan semua datanya dalam tabel pangkalan data, yang dapat ditempatkan di pangkalan data MediaWiki sendiri (secara bawaan) atau pangkalan data terpisah. Pada umumnya, setiap templat yang tersimpan akan menyimpan datanya dalam satu tabel pangkalan data, dengan satu kolom untuk setiap parameter templat yang bersangkutan. Terdapat beberapa pengecualian untuk hal ini: penanganan medan templat yang menyimpan larik/daftar nilai, dan medan yang menyimpan koordinat geografis, lebih kompleks, karena penanganan bawaan yang buruk terhadap jenis data tersebut di sebagian besar sistem pangkalan data. Dan lebih dari satu templat dapat diatur bersama-sama untuk menyimpan semua datanya dalam satu tabel pangkalan data.
Pengaya ini mendefinisikan sejumlah fungsi pengurai; tiga fungsi berikut adalah yang terpenting:
#cargo_declare– ditempatkan di dalam bagian<noinclude>dari sebuah templat; ini mendefinisikan skema untuk sebuah tabel.#cargo_store– menyimpan satu baris ke tabel Cargo; biasanya ditempatkan di dalam bagian<includeonly>dari sebuah templat.#cargo_query– mengkueri satu atau lebih tabel data Cargo, menggunakan komponen SQL.
Fungsi pengurai lain yang didefinisikan adalah:
#cargo_attach– mendefinisikan templat sebagai penambahan baris ke sebuah tabel yang dideklarasikan di tempat lain.#cargo_compound_query– menampilkan hasil dari beberapa kueri di satu tempat.#cargo_display_map– menampilkan peta yang menunjukkan satu titik.#recurring_event– mencetak tanggal untuk peristiwa berulang; untuk digunakan oleh #cargo_store.
Cargo juga mendefinisikan berbagai antarmuka untuk melihat dan menelusuri data yang tersimpan ini. Dengan demikian, ia menambahkan halaman-halaman istimewa berikut:
- Special:CargoQuery
- Special:CargoTableDiagram
- Special:CargoTables
- Special:Drilldown
Cargo telah diuji dan bekerja dengan sistem pangkalan data MySQL dan PostgreSQL. Secara teori, ia juga mendukung SQLite, tetapi belum diuji secara menyeluruh dengan SQLite dan mungkin tidak bekerja.
Versi pengaya Cargo ini memerlukan MediaWiki 1.42+.
Below are links to the entire documentation.
- Download and installation
How to download Cargo via either Git, a standard download, or a software package; and how to install it. - Quick start guide
A short guide to generate Cargo-based templates and Cargo tables, especially in conjunction with the Page Forms extension. - Other documentation
Links to other forms of documentation - SMW migration guide
A guide for modifying templates and queries that use Semantic MediaWiki to switch to Cargo instead. - Storing data
Using #cargo_declare, #cargo_attach and #cargo_store to create and populate Cargo tables. - Querying data
Querying Cargo data with #cargo_query, #cargo_compound_query and other tools. - Display formats
The various display formats available, including lists, charts, maps and calendars. - Browsing data
Browsing the Cargo data using the built-in tools: Special:Drilldown, Special:CargoQuery, Special:CargoTables - Exporting data
Exporting Cargo data into output formats including: CSV, JSON, RSS - Other features
Other features of Cargo, including displaying maps and making use of Lua. - Common problems
Common issues that people have run into. - 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. - Getting support
Where to ask questions, submit bug reports, submit feature requests, submit fixes, and add new translations. - Authors and credits
The main authors, others who have contributed to the code, and credits to other organizations and software projects. - Version history
The release history of Cargo. - Sites that use Cargo
A small sampling of the wikis that use Cargo. - Cargo and Semantic MediaWiki
A comparison of Cargo to its main alternative, Semantic MediaWiki, in terms of both features and performance. - FAQ
Frequently-asked questions.
Konfigurasi
Berikut adalah pengaturan konfigurasi global Cargo beserta nilai bawaannya.
Untuk mengonfigurasi Cargo agar menggunakan pangkalan data terpisah alih-alih pangkalan data MediaWiki, pengaturan berikut disediakan:
| Pengaturan konfigurasi pangkalan data terpisah | ||
|---|---|---|
| Pengaturan | Bawaan | Keterangan |
$wgCargoDBtype
|
null
|
Jenis pangkalan data. |
$wgCargoDBserver
|
null
|
Nama inang atau alamat IP peladen pangkalan data. |
$wgCargoDBname
|
null
|
Nama pangkalan data. |
$wgCargoDBuser
|
null
|
Nama pengguna pangkalan data. |
$wgCargoDBpassword
|
null
|
Kata sandi untuk $wgCargoDBuser.
|
$wgCargoDBprefix
|
null
|
Awalan nama tabel pangkalan data. |
$wgCargoDBRowFormat
|
null
|
Format baris pangkalan data. |
$wgCargoDBTableOptions
|
null
|
Comma-separated options, analogous to $wgDBTableOptions. |
Untuk konfigurasi karakter yang berkaitan dengan bilangan, pengaturan konfigurasi berikut disediakan:
| Pengaturan konfigurasi karakter | ||
|---|---|---|
| Pengaturan | Bawaan | Keterangan |
$wgCargoDecimalMark
|
.
|
Karakter desimal untuk bilangan. |
$wgCargoDigitGroupingCharacter
|
,
|
Pemisah angka ribuan. |
Pengaturan konfigurasi global lainnya adalah sebagai berikut:
| Pengaturan | Bawaan | Keterangan |
|---|---|---|
$wgCargoAllowedSQLFunctions
|
[1] | Set yang mengizinkan fungsi SQL. |
$wgCargoRecurringEventMaxInstances
|
100 | Jumlah maksimum perwujudan yang akan disimpan untuk peristiwa berulang tanpa tanggal akhir yang diatur. |
$wgCargoDefaultStringBytes
|
300 | Jumlah karakter bawaan untuk medan sejenis Page, String, Wikitext string, File, URL, Email
|
$wgCargoDefaultQueryLimit
|
100 | Jumlah hasil yang akan ditampilkan untuk #cargo_query jika tidak ada batasan yang diatur
|
$wgCargoMaxQueryLimit
|
5000 | Jumlah hasil maksimal yang diperbolehkan untuk #cargo_query
|
$wgCargoQueryMaxExecutionTime
|
null | The maximum amount of time (in milliseconds) that Cargo queries can run before they are stopped (MySQL/MariaDB only) |
$wgCargo24HourTime
|
false
|
Jika true menggunakan waktu 24 jam untuk jenis medan Datetime.
|
$wgCargoDefaultMapService
|
OpenLayers | Mengatur jasa peta bawaan menjadi Google Maps jika diatur ke googlemaps, menjadi Leaflet jika diatur ke leaflet, dan menjadi OpenLayers jika diatur ke openlayers.
|
$wgCargoGoogleMapsKey
|
null
|
Kunci API untuk Google Maps, untuk format penampil googlemaps.
|
$wgCargoMapClusteringMinimum
|
80 | Jika jumlah titik peta yang ditampilkan lebih besar dari nilai $wgCargoMapClusteringMinimum, peta akan menampilkan lokasi dalam "gugus" alih-alih titik individual, demi keterbacaan. Jika diatur ke jumlah yang sangat tinggi, maka penggugusan tak akan ditampilkan. |
$wgCargoDrilldownUseTabs
|
true
|
Menampilkan nama tabel Special:Drilldown sebagai tab di bagian atas, bukan daftar vertikal di samping. |
$wgCargoDrilldownSmallestFontSize
|
-1 | Jika diatur ke bilangan positif, akan mengatur ukuran fon terkecil, dalam piksel, untuk penampil nilai penyaring bergaya tag-awan. |
$wgCargoDrilldownLargestFontSize
|
-1 | Jika diatur ke bilangan positif, akan mengatur ukuran fon terbesar, dalam piksel, untuk penampil nilai penyaring bergaya tag-awan. |
$wgCargoDrilldownMinValuesForComboBox
|
40 | Mengatur jumlah minimum nilai sebelum penampilnya diubah menjadi bak kombo, bukan tautan individual. |
$wgCargoDrilldownNumRangesForNumbers
|
5 | Untuk medan/penyaring sejenis Integer atau Float, menentukan jumlah "ember" tempat nilai dibagi.
|
$wgCargoMaxVisibleHierarchyDrilldownValues
|
30 | Jika diatur ke bilangan bulat positif, menentukan jumlah maksimum nilai yang ditampilkan sekaligus untuk sebarang medan hierarchy (Semua nilai tingkat atas akan ditampilkan terlepas dari nilai ini). Nilai-nilai tersebut disembunyikan di balik kedalaman hierarki tertentu sehingga jumlah total nilai yang terlihat paling banyak adalah bilangan ini.
|
$wgCargoTablesPrioritizeReplacements
|
false
|
Jika true, semua tabel yang mempunyai pengganti akan muncul di bagian atas halaman Special:CargoTables, dan menampilkannya dalam urutan abjad.
|
$wgCargoPageDataColumns
|
[] | Kumpulan medan yang akan disimpan dalam tabel _pageData Cargo. Lihat Menyimpan data halaman.
|
$wgCargoFileDataColumns
|
[] | Kumpulan medan yang akan disimpan dalam tabel _fileData Cargo. Lihat Menyimpan data berkas.
|
$wgCargoHideNamespaceName
|
[6] | Larik ruang nama yang akan disembunyikan dari hasil kueri. |
$wgCargoLegacyNullLuaFieldsAsEmptyString
|
false
|
Null results to the Lua Cargo query function should return as string rather than nil. This allows you to rollback a breaking change from early 2022. New wikis created after this time should not enable this. |
$wgCargoStoreUseTemplateArgsFallback
|
true
|
Enable the behavior that looks for template arguments that match the template's declared table to fill columns. |
Lihat pula
- Manual:Mengelola data di MediaWiki – Sebuah ikhtisar dan perbandingan.
| 👁 Image | Pengaya ini disertakan di wiki farm/hos dan/atau paket berikut: |
- ↑ Lihat Menggunakan Fungsi SQL untuk nilai bawaan.
- Stable extensions/id
- Special page extensions/id
- API extensions/id
- Parser function extensions/id
- Extensions supporting Composer/id
- AdminLinks extensions/id
- ApprovedRevsRevisionApproved extensions/id
- ApprovedRevsRevisionUnapproved extensions/id
- CategoryAfterPageAdded extensions/id
- CategoryAfterPageRemoved extensions/id
- LinksUpdate extensions/id
- LoadExtensionSchemaUpdates extensions/id
- MakeGlobalVariablesScript extensions/id
- PageDeleteComplete extensions/id
- PageForms::TemplateFieldEnd extensions/id
- PageForms::TemplateFieldStart extensions/id
- PageMoveComplete extensions/id
- PageSaveComplete extensions/id
- PageSchemasRegisterHandlers extensions/id
- ParserFirstCallInit extensions/id
- ResourceLoaderGetConfigVars extensions/id
- ScribuntoExternalLibraries extensions/id
- SidebarBeforeOutput extensions/id
- SkinTemplateNavigation::Universal extensions/id
- UploadComplete extensions/id
- GPL licensed extensions/id
- Extensions in Wikimedia version control/id
- All extensions/id
- Extensions included in Canasta/id
- Extensions included in Fandom/id
- Extensions included in Miraheze/id
- Extensions included in MyWikis/id
- Extensions included in wiki.gg/id
- Data extraction extensions/id
- Database extensions/id
- Table extensions/id
- Calendar extensions/id
- Map extensions/id
- Google Maps extensions/id
- OpenLayers extensions/id
- Leaflet extensions/id
- Graphical Timelines/id
- Graph extensions/id
- Math extensions/id
- Search extensions/id
- Data management extensions/id
