Jump to content

Расширение:Cargo

From mediawiki.org
This page is a translated version of the page Extension:Cargo and the translation is 70% complete.
Справка по расширениям MediaWiki
Cargo
Статус релиза: стабильно
Реализация Служебная страница , API , Функция парсера
Описание Расширение, позволяющее хранить и запрашивать данные, содержащиеся в шаблонах.
Автор(ы) Yaron Koren <yaron57@gmail.com> (Yaron Korenобсуждение)
Последняя версия 3.8.5 (октябрь 2025)
Политика совместимости Мастер поддерживает обратную совместимость.
MediaWiki 1.40+
Изменения в БД Да
Composer mediawiki/cargo
Таблицы cargo_tables
cargo_pages
cargo_backlinks
Лицензия GNU General Public License 2.0 или позднее
Скачать
Пример Wikimedia Australia's Cargo Tables
  • $wgCargoFileDataColumns
  • $wgCargoDrilldownLargestFontSize
  • $wgCargoDecimalMark
  • $wgCargoDefaultStringBytes
  • $wgCargoAllowedSQLFunctions
  • $wgCargoHideNamespaceName
  • $wgCargoMaxVisibleHierarchyDrilldownValues
  • $wgCargoDrilldownSmallestFontSize
  • $wgCargoDBTableOptions
  • $wgCargoMaxQueryLimit
  • $wgCargoDefaultMapService
  • $wgCargoStoreUseTemplateArgsFallback
  • $wgCargoPageDataColumns
  • $wgCargoIgnoreBacklinks
  • $wgCargoDigitGroupingCharacter
  • $wgCargoDefaultQueryLimit
  • $wgCargoDrilldownNumRangesForNumbers
  • $wgCargo24HourTime
  • $wgCargoLegacyNullLuaFieldsAsEmptyString
  • $wgCargoTablesPrioritizeReplacements
  • $wgCargoRecurringEventMaxInstances
  • $wgCargoDrilldownUseTabs
  • $wgCargoDrilldownMinValuesForComboBox
  • $wgCargoMapClusteringMinimum
  • recreatecargodata
  • deletecargodata
  • runcargoqueries
Переведите расширение Cargo
Проблемы Открытые задачи · Сообщить об ошибке

Cargo — расширение MediaWiki, предоставляющее лёгкий способ хранения и запросов данных, содержащихся в вызовах шаблонов по типу инфобоксов. По концепции оно похоже на расширение Semantic MediaWiki , но предлагает ряд преимуществ, включая простоту установки и использования.

Cargo хранит все свои данные в таблицах, которые могут быть помещены в базу данных MediaWiki (по умолчанию) или в отдельную базу данных. В большинстве случаев каждый шаблон хранит свои данные в одной таблице БД, по колонке для каждого соответствующего его параметра. Существует несколько исключений: обработка полей шаблонов, содержащих массивы/списки значений и географические координаты, более сложна из-за не самой лучшей поддержки этих типов данных в большинстве систем БД. А также несколько шаблонов можно настроить на хранение всех своих данных в одной таблице.

Расширение определяет ряд функций парсера; следующие три являются наиболее важными:

  • #cargo_declare - размещяется в части шаблона под тегом ‎<noinclude>; определяет схему таблицы.
  • #cargo_store - сохраняет один ряд в таблице Cargo; обычно помещается в части шаблона под тегом ‎<includeonly>.
  • #cargo_query - задает запросы к одной или нескольким таблицам данных Cargo с использованием компонентов SQL.

Другие определяемые функции включают:

  • #cargo_attach - определяет шаблон на добавление рядов в таблицу, объявленную в другом месте.
  • #cargo_compound_query - отображает результаты нескольких запросов в одном месте.
  • #cargo_display_map - отображает карту, показывающую одну точку.
  • #recurring_event - печатает даты повторяющегося события; для использования с #cargo_store.

Cargo также определяет различные интерфейсы для просмотра этих хранимых данных. Это расширение добавляет следующие служебные страницы:

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

Cargo было протестировано и работает с системами баз данных MySQL и PostgreSQL. Теоретически он также поддерживает SQLite, но оно не было досконально проверено с SQLite и может не работать.

Текущая версия расширения Cargo требует MediaWiki 1.40+.

Нажмите на страницы в панели навигации выше, чтобы узнать больше о Cargo, как оно работает, как его установить и использовать.

Установка

См. Загрузка и установка .

Настройка

Ниже приведены глобальные настройки Cargo вместе с их значениями по умолчанию.

Для настройки Cargo на использование отдельной базы данных вместо базы данных MediaWiki, предоставляются следующие настройки:

Настройки конфигурации отдельных баз данных
Настройка По умолчанию Описание
$wgCargoDBtype null Тип базы данных.
$wgCargoDBserver null Хост или IP-адрес сервера базы данных.
$wgCargoDBname null Название базы данных.
$wgCargoDBuser null Имя пользователя базы данных.
$wgCargoDBpassword null Пароль для $wgCargoDBuser.
$wgCargoDBprefix null Префикс имени таблицы базы данных.
$wgCargoDBRowFormat null Формат строки базы данных.
$wgCargoDBTableOptions null Comma-separated options, analogous to $wgDBTableOptions.

Для конфигурации связанных с числами символов предусмотрены следующие настройки:

Настройки конфигурации символов
Настройка По умолчанию Описание
$wgCargoDecimalMark . Символ для десятичных значений чисел.
$wgCargoDigitGroupingCharacter , Разделитель тысячных разрядов.

Остальные глобальные настройки представляют собой:

Настройка По умолчанию Описание
$wgCargoAllowedSQLFunctions [1] Sets allowed SQL functions.
$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.


См. также

  1. See Using SQL Functions for defaults.