Extension:Cargo

From mediawiki.org
This page is a translated version of the page Extension:Cargo and the translation is 44% complete.
MediaWiki-Erweiterungen
Cargo
Freigabestatus: stabil
Einbindung Spezialseite , API , Parser-Funktion
Beschreibung Eine Erweiterung, die das Speichern und Abfragen von in enthaltenen Daten ermöglicht.
Autor(en) Yaron Koren <yaron57@gmail.com> (Yaron KorenDiskussion)
Letzte Version 3.5.1 (März 2024)
Kompatibilitätspolitik Der Master behält die Abwärtskompatibilität bei.
MediaWiki 1.37+
Datenbankänderungen Ja
Composer mediawiki/cargo
Tabellen cargo_tables
cargo_pages
cargo_backlinks
Lizenz GNU General Public License 2.0 oder neuer
Herunterladen
Beispiel Eine Seite mit verschiedenen Anrufen auf #cargo_query
  • $wgCargoFileDataColumns
  • $wgCargoDrilldownLargestFontSize
  • $wgCargoDecimalMark
  • $wgCargoDefaultStringBytes
  • $wgCargoAllowedSQLFunctions
  • $wgCargoHideNamespaceName
  • $wgCargoPageDataColumns
  • $wgCargoMaxVisibleHierarchyDrilldownValues
  • $wgCargoDrilldownSmallestFontSize
  • $wgCargoIgnoreBacklinks
  • $wgCargoRecurringEventMaxInstances
  • $wgCargoDefaultMapService
  • $wgCargoStoreUseTemplateArgsFallback
  • $wgCargoLegacyNullLuaFieldsAsEmptyString
  • $wgCargoTablesPrioritizeReplacements
  • $wgCargoDigitGroupingCharacter
  • $wgCargoDefaultQueryLimit
  • $wgCargoDrilldownNumRangesForNumbers
  • $wgCargo24HourTime
  • $wgCargoMaxQueryLimit
  • $wgCargoDrilldownUseTabs
  • $wgCargoMapClusteringMinimum
  • $wgCargoDrilldownMinValuesForComboBox
  • recreatecargodata
  • deletecargodata
  • runcargoqueries
Quarterly downloads 74 (Ranked 78th)
Übersetze die Cargo-Erweiterung
Probleme Offene Aufgaben · Einen Fehler melden

Cargo ist eine Erweiterung von MediaWiki, die eine einfache Möglichkeit bietet, die in den Aufrufen von Vorlagen, wie z.B. Infoboxen, enthaltenen Daten zu speichern und abzufragen. Es ist vom Konzept her ähnlich wie die Erweiterung Erweiterung:Semantic MediaWiki , bietet aber eine Reihe von Vorteilen, einschließlich der einfachen Installation und Nutzung.

Cargo speichert alle seine Daten in Datenbanktabellen, die entweder in der MediaWiki-eigenen Datenbank (Standard) oder in einer separaten Datenbank abgelegt werden können. In den meisten Fällen werden die Daten jeder gespeicherten Vorlage in einer einzigen DB-Tabelle gespeichert, mit einer Spalte für jeden relevanten Vorlagenparameter. Es gibt einige wenige Ausnahmen: Die Handhabung von Vorlagenfeldern, die Arrays/Wertelisten enthalten, und von Feldern, die geographische Koordinaten enthalten, ist aufgrund der schlechten nativen Handhabung dieser Datentypen in den meisten DB-Systemen komplexer. Und mehrere Vorlagen können so eingestellt werden, dass alle ihre Daten in einer DB-Tabelle speichern.

Die Erweiterung definiert eine Reihe von Parser-Funktionen; diese drei sind die wichtigsten:

  • #cargo_declare - innerhalb des ‎<noinclude>-Teils einer Vorlage platziert; sie definiert das Schema für eine Tabelle.
  • #cargo_store - Speichert eine Zeile in einer Cargo-Tabelle. Normalerweise innerhalb des ‎<includeonly>-Teils einer Vorlage platziert.
  • #cargo_query - SQL ähnliche Abfrage über eine oder mehrere Cargo-Tabellen.

Die anderen definierten Parser-Funktionen sind:

  • #cargo_attach - Definiert eine Vorlage als Hinzufügen von Zeilen zu einer anderswo deklarierten Tabelle.
  • #cargo_compound_query - Zeigt die Ergebnisse mehrerer Abfragen an einer Stelle an.
  • #cargo_display_map - Zeigt eine Karte mit einem einzelnen Punkt an.
  • #recurring_event - Gibt die Daten für ein wiederkehrendes Ereignis aus; zur Verwendung durch #cargo_store.

Cargo definiert auch verschiedene Schnittstellen, um diese gespeicherten Daten einzusehen und zu durchsuchen. Als solche fügt sie die folgenden Sonderseiten hinzu:

  • Special:CargoQuery
  • Special:CargoTableDiagram
  • Special:CargoTables
  • Special:Drilldown

Cargo wurde getestet und funktioniert mit den Datenbanksystemen MySQL und PostgreSQL. Theoretisch unterstützt es auch SQLite, aber es wurde mit SQLite nicht gut getestet und es funktioniert möglicherweise nicht.

Diese Version der Cargo-Erweiterung erfordert MediaWiki 1.35+.

Klicken Sie sich durch die Seiten in der Navigationsleiste oben, um mehr über Cargo zu erfahren, wie es funktioniert, wie man es benutzt und wie man es installiert.

Installation

Konfiguration

Im Folgenden findest du die globalen Konfigurationseinstellungen von Cargo und ihre Standardwerte.

Um Cargo so zu konfigurieren, dass es eine eigene Datenbank anstelle der MediaWiki-Datenbank verwendet, gibt es folgende Einstellungen:

Separate database configuration settings
Setting Default Description
$wgCargoDBtype null Database type.
$wgCargoDBserver null Host name or IP address of database server.
$wgCargoDBname null Name of the database.
$wgCargoDBuser null Database username.
$wgCargoDBpassword null The password for $wgCargoDBuser.
$wgCargoDBprefix null Database table name prefix.
$wgCargoDBRowFormat null Data base row format.

Für die Zeichenkonfiguration in Bezug auf Zahlen sind die folgenden Einstellungen vorgesehen:

Character configuration settings
Setting Default Description
$wgCargoDecimalMark . Decimal character for numbers.
$wgCargoDigitGroupingCharacter , Thousands digit separator.

Die übrigen globalen Konfigurationseinstellungen sind wie folgt:

Setting Default Description
$wgCargoAllowedSQLFunctions [] Sets allowed SQL functions. See Using SQL Functions for defaults.
$wgCargoRecurringEventMaxInstances 100 The number of max instances to store for recurring events with no set end date.
$wgCargoDefaultStringBytes 300 The default number of characters for fields of type Page, String, Wikitext string, File, URL, Email
$wgCargoDefaultQueryLimit 100 Number of results to show for #cargo_query if no limit is set
$wgCargoMaxQueryLimit 5000 The maximum allowed number of results for #cargo_query
$wgCargo24HourTime false If true uses 24-hour time for Datetime field types.
$wgCargoDefaultMapService OpenLayers Sets the default map service to Google Maps, if set to googlemaps, to Leaflet if set to leaflet, and to OpenLayers if set to openlayers.
$wgCargoGoogleMapsKey null API key for Google Maps, for the googlemaps display format.
$wgCargoMapClusteringMinimum 80 If the number of map points displayed is greater than the value of $wgCargoMapClusteringMinimum, the map displays the locations in "clusters" instead of individual points, for readability. If set to a very high number, does not display clustering.
$wgCargoDrilldownUseTabs true Displays Special:Drilldown table names as tabs at the top instead of a vertical list at the side.
$wgCargoDrilldownSmallestFontSize -1 If set to a positive number, sets the smallest font size, in pixels, for a tag-cloud-style display of filter values.
$wgCargoDrilldownLargestFontSize -1 If set to a positive number, sets the largest font size, in pixels, for a tag-cloud-style display of filter values.
$wgCargoDrilldownMinValuesForComboBox 40 Sets the minimum number of values before their display is converted to a combo box, instead of individual links.
$wgCargoDrilldownNumRangesForNumbers 5 For fields/filters of type Integer or Float, specifies the number of "buckets" into which values are divided.
$wgCargoMaxVisibleHierarchyDrilldownValues 30 If set to a positive integer, specifies the maximum number of values shown at a time for any hierarchy field (All the top-level values are shown irrespective of this value). The values are hidden beyond a certain depth of the hierarchy such that the count of total visible values is at most this number.
$wgCargoTablesPrioritizeReplacements false If true, all tables having a replacement appear at the top of the Special:CargoTables page, instead displaying them in alphabetical order.
$wgCargoPageDataColumns [] The set of fields to store in the _pageData Cargo table. See Storing page data .
$wgCargoFileDataColumns [] The set of fields to store in the _fileData Cargo table. See Storing file data .
$wgCargoHideNamespaceName [6] Array of namespaces to hide from query results.
$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.


Siehe auch