Rozšíření:Cargo
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Speciální stránka, API, Funkce analyzátoru |
| Popis | Rozšíření, které umožňuje ukládání dat a dotazování na data obsažená v šablonách. |
| Autoři | Yaron Koren <yaron57@gmail.com> (Yaron Korendiskuse) |
| Nejnovější verze | 3.9.2 (června 2026) |
| Zásady kompatibility | Větev master zachovává zpětnou kompatibilitu. |
| MediaWiki | 1.42+ |
| Změny v databázi | Ano |
| Composer | mediawiki/cargo |
|
|
|
|
|
|
| Licence | GNU General Public License 2.0 nebo novější |
| Stáhnout | |
| Příklad | Wikimedia Australia's Cargo Tables |
| Přeložte rozšíření Cargo | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Cargo 'je rozšíření MediaWiki, které poskytuje snadný způsob ukládání a dotazování na data obsažená v rámci volání šablon, například infoboxů. V konceptu je podobné rozšíření Semantic MediaWiki, ale nabízí řadu výhod, včetně jednoduchosti instalace a snadného použití.
Cargo ukládá všechna svá data do databázových tabulek, které lze umístit buď do vlastní databáze MediaWiki (výchozí) nebo do samostatné databáze. Z větší části získává každá šablona svá data uložená jen v jediné tabulce DB se sloupcem pro každý vhodný parametr šablony. Existuje několik výjimek: Zpracování polí šablon, která obsahují pole nebo seznamy hodnot, a polí, která obsahují zeměpisné souřadnice, je složitější kvůli špatnému nativnímu (nezměněném stavu) zpracování těchto datových typů ve většině systémů DB. A lze nastavit několik šablon, aby všechny ukládaly svá data do jediné tabulky DB.
Přípona definuje řadu funkcí syntaktického analyzátoru. Tyto tři jsou nejdůležitější:
#cargo_declare– umístěné v části<noinclude>šablony. Definuje schéma pro tabulku.#cargo_store– ukládá jeden řádek do Cargo table. Obvykle umístěné v rámci<includeonly>šablony.#cargo_query– dotazuje jednu nebo více datových tabulek Cargo pomocí součástí SQL.
Další definované funkce analyzátoru jsou:
#cargo_attach– definuje šablonu jako přidání řádků do tabulky deklarované jinde.#cargo_compound_query– zobrazí výsledky více dotazů na jednom místě.#cargo_display_map– zobrazí mapu s jedním bodem.#recurring_event– vytiskne data pro opakující se událost. Pro použití #cargo_store.
Cargo také definuje různá rozhraní pro prohlížení a procházení těchto uložených dat. Jako takový přidává následující speciální stránky:
- Special:CargoQuery
- Special:CargoTableDiagram
- Special:CargoTables
- Special:Drilldown
Cargo bylo testováno a pracuje s databázovými systémy MySQL a PostgreSQL. Teoreticky také podporuje SQLite, ale nebyl dobře testován s SQLite a nemusí fungovat.
Tato verze rozšíření Cargo vyžaduje MediaWiki 1.42+.
Níže jsou uvedeny odkazy na celou dokumentaci.
- Stažení a instalace
Jak stáhnout Cargo přes Git, standardním stahováním nebo pomocí softwarového balíčku a jak jej nainstalovat. - Stručný průvodce
Stručný návod pro generování šablon a tabulek založených na Cargo, zejména ve spojení s rozšířením Page Forms. - Další dokumentace
Odkazy na jiné formy dokumentace - Průvodce migrací SMW
Průvodce úpravou šablon a dotazů, které používají Semantic MediaWiki k přepnutí na Cargo. - Ukládání dat
Použití #cargo_declare, #cargo_attach a #cargo_store k vytvoření a naplnění tabulek Cargo. - Dotazování dat
Dotazování na data Cargo pomocí nástrojů #cargo_query, #cargo_compound_query a dalších. - Formáty zobrazení
Různé dostupné formáty zobrazení, včetně seznamů, grafů, map a kalendářů. - Prohlížení dat
Prohlížení dat Cargo pomocí vestavěných nástrojů: Special:Drilldown, Special:CargoQuery, Special:CargoTables - Export dat
Export dat Cargo do výstupních formátů, včetně: 1 USD - Další funkce
Mezi další funkce Cargo patří zobrazení map a využití Lua. - Běžné problémy
Časté problémy, se kterými se lidé setkávají. - Známé chyby a plánované funkce
Známé chyby v softwaru a jejich možná řešení. Plus funkce plánované v aktuálním vývojovém plánu. - Získávání podpory
Kde klást otázky, hlásit chyby, odesílat požadavky na funkce, odesílat opravy a přidávat nové překlady. - Autoři a poděkování
Hlavní autoři, další, kteří přispěli k kódu, a poděkování jiným organizacím a softwarovým projektům. - Historie verze
Historie vydání Cargo. - Stránky, které používají Cargo
Malý výběr wiki stránek, které používají Cargo. - Cargo a sémantická MediaWiki
Srovnání Cargo s jeho hlavní alternativou, Semantic MediaWiki, z hlediska funkcí i výkonu. - Často kladené otázky
Často kladené otázky.
Konfigurace
Níže jsou uvedena globální nastavení konfigurace Cargo spolu s jejich výchozími hodnotami.
Chcete-li nakonfigurovat Cargo tak, aby místo databáze MediaWiki používala samostatnou databázi, jsou k dispozici následující nastavení:
| Samostatná nastavení konfigurace databáze | ||
|---|---|---|
| Nastavení | Výchozí | Popis |
$wgCargoDBtype
|
null
|
Typ databáze. |
$wgCargoDBserver
|
null
|
Název hostitele nebo IP adresa databázového serveru. |
$wgCargoDBname
|
null
|
Název databáze. |
$wgCargoDBuser
|
null
|
Uživatelské jméno databáze. |
$wgCargoDBpassword
|
null
|
Heslo pro $wgCargoDBuser.
|
$wgCargoDBprefix
|
null
|
Předpona názvu databázové tabulky. |
$wgCargoDBRowFormat
|
null
|
Formát řádku databáze. |
$wgCargoDBTableOptions
|
null
|
Možnosti oddělené čárkami, analogicky k $wgDBTableOptions. |
Pro konfiguraci znaků související s čísly jsou k dispozici následující konfigurační nastavení:
| Nastavení konfigurace znaků | ||
|---|---|---|
| Nastavení | Výchozí | Popis |
$wgCargoDecimalMark
|
.
|
Desetinný znak pro čísla. |
$wgCargoDigitGroupingCharacter
|
,
|
Oddělovač tisíců číslic. |
Zbývající globální konfigurační nastavení jsou následující:
| Nastavení | Výchozí | Popis |
|---|---|---|
$wgCargoAllowedSQLFunctions
|
[1] | Nastavuje povolené funkce SQL. |
$wgCargoRecurringEventMaxInstances
|
100 | Maximální počet instancí k uložení pro opakující se události bez nastaveného data ukončení. |
$wgCargoDefaultStringBytes
|
300 | Výchozí počet znaků pro pole typu Page, String, Wikitext string, File, URL, Email
|
$wgCargoDefaultQueryLimit
|
100 | Počet výsledků, které se mají zobrazit pro #cargo_query, pokud není nastaven žádný limit
|
$wgCargoMaxQueryLimit
|
5000 | Maximální povolený počet výsledků pro #cargo_query
|
$wgCargoQueryMaxExecutionTime
|
null | Maximální doba (v milisekundách), po kterou mohou dotazy Cargo běžet, než jsou zastaveny (pouze MySQL/MariaDB) |
$wgCargo24HourTime
|
false
|
Pokud true používá 24hodinový čas pro typy polí Datetime.
|
$wgCargoDefaultMapService
|
OpenLayers | Nastaví výchozí mapovou službu na Mapy Google, pokud je nastavena na googlemaps, na Leaflet, pokud je nastavena na leaflet, a na OpenLayers, pokud je nastavena na openlayers.
|
$wgCargoGoogleMapsKey
|
null
|
Klíč API pro Mapy Google pro formát zobrazení googlemaps.
|
$wgCargoMapClusteringMinimum
|
80 | Pokud je počet zobrazených bodů na mapě větší než hodnota $wgCargoMapClusteringMinimum, mapa kvůli čitelnosti zobrazuje místa ve "shlucích" místo jednotlivých bodů. Pokud je nastaveno na velmi vysoké číslo, nezobrazuje shlukování. |
$wgCargoDrilldownUseTabs
|
true
|
Zobrazuje názvy tabulek Special:Drilldown jako karty nahoře namísto svislého seznamu po straně. |
$wgCargoDrilldownSmallestFontSize
|
-1 | Pokud je nastaveno na kladné číslo, nastaví nejmenší velikost písma v pixelech pro zobrazení hodnot filtrů ve stylu tag-cloud. |
$wgCargoDrilldownLargestFontSize
|
-1 | Pokud je nastaveno na kladné číslo, nastaví největší velikost písma v pixelech pro zobrazení hodnot filtrů ve stylu tag-cloud. |
$wgCargoDrilldownMinValuesForComboBox
|
40 | Nastaví minimální počet hodnot, než se jejich zobrazení převede na pole se seznamem namísto jednotlivých odkazů. |
$wgCargoDrilldownNumRangesForNumbers
|
5 | Pro pole/filtry typu Integer nebo Float určuje počet "segmentů", do kterých jsou hodnoty rozděleny.
|
$wgCargoMaxVisibleHierarchyDrilldownValues
|
30 | Je-li nastaveno na kladné celé číslo, určuje maximální počet hodnot zobrazených najednou pro libovolné pole hierarchy (zobrazeny jsou všechny hodnoty nejvyšší úrovně bez ohledu na tuto hodnotu). Hodnoty jsou skryté za určitou hloubkou hierarchie, takže počet celkových viditelných hodnot je nejvýše toto číslo.
|
$wgCargoTablesPrioritizeReplacements
|
false
|
Pokud je true, všechny tabulky, které mají náhradu, se zobrazí v horní části stránky Special:CargoTables, místo toho se zobrazí v abecedním pořadí.
|
$wgCargoPageDataColumns
|
[] | Sada polí, která se mají uložit do tabulky _pageData Cargo. Viz Ukládání dat stránky.
|
$wgCargoFileDataColumns
|
[] | Sada polí, která se mají uložit do tabulky _fileData Cargo. Viz Ukládání dat souboru.
|
$wgCargoHideNamespaceName
|
[6] | Pole jmenných prostorů, které se mají skrýt před výsledky dotazu. |
$wgCargoLegacyNullLuaFieldsAsEmptyString
|
false
|
Nulové výsledky dotazovací funkce Lua Cargo by se měly vracet jako řetězec, nikoli jako nil. To vám umožní vrátit zpět zásadní změnu z počátku roku 2022. Nové wikiny vytvořené po uplynutí této doby by tuto funkci neměly umožňovat. |
$wgCargoStoreUseTemplateArgsFallback
|
true
|
Povolí chování, které vyhledá argumenty šablony odpovídající deklarované tabulce šablony pro vyplnění sloupců. |
Související odkazy
- Příručka:Správa dat v MediaWiki – Přehled a srovnání rozšíření pro správu dat
| Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: |
- ↑ Výchozí nastavení viz Použití funkcí SQL.
- Stable extensions/cs
- Special page extensions/cs
- API extensions/cs
- Parser function extensions/cs
- Extensions supporting Composer/cs
- AdminLinks extensions/cs
- ApprovedRevsRevisionApproved extensions/cs
- ApprovedRevsRevisionUnapproved extensions/cs
- CategoryAfterPageAdded extensions/cs
- CategoryAfterPageRemoved extensions/cs
- LinksUpdate extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- MakeGlobalVariablesScript extensions/cs
- PageDeleteComplete extensions/cs
- PageForms::TemplateFieldEnd extensions/cs
- PageForms::TemplateFieldStart extensions/cs
- PageMoveComplete extensions/cs
- PageSaveComplete extensions/cs
- PageSchemasRegisterHandlers extensions/cs
- ParserFirstCallInit extensions/cs
- ResourceLoaderGetConfigVars extensions/cs
- ScribuntoExternalLibraries extensions/cs
- SidebarBeforeOutput extensions/cs
- SkinTemplateNavigation::Universal extensions/cs
- UploadComplete extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- All extensions/cs
- Extensions included in Canasta/cs
- Extensions included in Fandom/cs
- Extensions included in Miraheze/cs
- Extensions included in MyWikis/cs
- Extensions included in wiki.gg/cs
- Data extraction extensions/cs
- Database extensions/cs
- Table extensions/cs
- Calendar extensions/cs
- Map extensions/cs
- Google Maps extensions/cs
- OpenLayers extensions/cs
- Leaflet extensions/cs
- Graphical Timelines/cs
- Graph extensions/cs
- Math extensions/cs
- Search extensions/cs
- Data management extensions/cs
