Расширение: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 |
|
|
|
|
|
|
| Переведите расширение 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. |
См. также
- Manual:Управление данными в MediaWiki – Обзор и сравнение.
- Semantic MediaWiki – Позволяет хранить и запрашивать данные, содержащиеся на страницах.
- WikiDB – Предоставляет функции базы данных, в чем-то похожие на семантические свойства.
- Wikibase – Позволяет описывать и обрабатывать структурированные данные в рамках проекта Викиданные.
| Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: Это не исчерпывающий список. Некоторые вики-фермы/хостинги и/или пакеты могут содержать это расширение, даже если они не перечислены здесь. Всегда сверяйтесь со своими вики-фермами/хостингами или комплектами/бандлами для подтверждения. |
- ↑ See Using SQL Functions for defaults.
- Stable extensions/ru
- Special page extensions/ru
- API extensions/ru
- Parser function extensions/ru
- Extensions supporting Composer/ru
- GPL licensed extensions/ru
- Extensions in Wikimedia version control/ru
- AdminLinks extensions/ru
- ApprovedRevsRevisionApproved extensions/ru
- ApprovedRevsRevisionUnapproved extensions/ru
- CategoryAfterPageAdded extensions/ru
- CategoryAfterPageRemoved extensions/ru
- LinksUpdate extensions/ru
- LoadExtensionSchemaUpdates extensions/ru
- MakeGlobalVariablesScript extensions/ru
- PageDeleteComplete extensions/ru
- PageForms::TemplateFieldEnd extensions/ru
- PageForms::TemplateFieldStart extensions/ru
- PageMoveComplete extensions/ru
- PageSaveComplete extensions/ru
- PageSchemasRegisterHandlers extensions/ru
- ParserFirstCallInit extensions/ru
- ResourceLoaderGetConfigVars extensions/ru
- ScribuntoExternalLibraries extensions/ru
- SidebarBeforeOutput extensions/ru
- SkinTemplateNavigation::Universal extensions/ru
- UploadComplete extensions/ru
- All extensions/ru
- Extensions included in Canasta/ru
- Extensions included in Fandom/ru
- Extensions included in Miraheze/ru
- Extensions included in MyWikis/ru
- Extensions included in wiki.gg/ru
- Extensions included in WikiForge/ru
- Data extraction extensions/ru
- Database extensions/ru
- Table extensions/ru
- Calendar extensions/ru
- Map extensions/ru
- Google Maps extensions/ru
- OpenLayers extensions/ru
- Leaflet extensions/ru
- Graphical Timelines/ru
- Graph extensions/ru
- Math extensions/ru
- Search extensions/ru
- Data management extensions/ru
