CargoAdmin, Bureaucrats, Moderators (CommentStreams), fileuploaders, Interface administrators, newuser, Push subscription managers, Suppressors, Administrators
14,662
edits
Tag: Undo |
(→Features: Help:Class) |
||
| (28 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
The Cargo MediaWiki extension is designed to enhance MediaWiki's capabilities by providing a structured way to store and query data within wiki templates, particularly useful for managing data in infoboxes or similar structured data representations. | {{Breadcrumbs|align=right|officialwebsite=no|page=Extension:Cargo|mediawiki=yes|wikipedia=no}} | ||
The '''Cargo''' [[MediaWiki]] extension is designed to enhance MediaWiki's capabilities by providing a structured way to store and query data within wiki templates, particularly useful for managing data in [[Template:Infobox|infoboxes]] or similar structured data representations. | |||
Cargo stands out as a powerful tool for those looking to leverage MediaWiki not just for content but for structured data management, offering a balance between complexity and usability for wiki administrators and developers. Its integration with MediaWiki's templating system makes it particularly useful for creating dynamic, data-driven content within wiki environments. | Cargo stands out as a powerful tool for those looking to leverage MediaWiki not just for content but for structured data management, offering a balance between complexity and usability for wiki administrators and developers. Its integration with MediaWiki's templating system makes it particularly useful for creating dynamic, data-driven content within wiki environments. | ||
| Line 8: | Line 10: | ||
*Parser Functions: | *Parser Functions: | ||
#cargo_declare: Defines the schema for a table, placed within the <noinclude> part of a template. | #cargo_declare: Defines the schema for a table, placed within the <nowiki><noinclude></nowiki> part of a template. | ||
#cargo_attach: Specifies that a template adds rows to a table declared elsewhere. | #cargo_attach: Specifies that a template adds rows to a table declared elsewhere. | ||
#cargo_store: Stores data into a Cargo table, usually within the <includeonly> part of a template. | #cargo_store: Stores data into a Cargo table, usually within the <nowiki><includeonly></nowiki> part of a template. | ||
==Features== | ==Features== | ||
=== Data Types === | |||
{{Main|Help:Class}} | |||
Cargo supports various data types including simple types like strings, dates, and numbers, to more complex ones like hierarchies, coordinates, and wikitext. | |||
{| class="wikitable" | |||
|- | |||
!Field Type | |||
!Description | |||
!Unindexed? | |||
|- | |||
|<code>Page</code> | |||
|Holds the name of a page in the wiki (default max size: 300 characters) | |||
| | |||
|- | |||
|<code>String</code> | |||
|Holds standard, non-wikitext text (default max size: 300 characters) | |||
| | |||
|- | |||
|<code>Text</code> | |||
|Holds standard, non-wikitext text; intended for longer values | |||
|✔ | |||
|- | |||
|<code>Integer</code> | |||
|Holds an integer | |||
| | |||
|- | |||
|<code>Float</code> | |||
|Holds a real, i.e., non-integer, number | |||
| | |||
|- | |||
|<code>Date</code> | |||
|Holds a date without time | |||
| | |||
|- | |||
|<code>Start date</code>, | |||
<code>End date</code> | |||
|Similar to <code>Date</code>, but are meant to hold the beginning and end of some duration. A table can hold either no <code>Start date</code> and no <code>End date</code> field, or exactly one of both. | |||
| | |||
|- | |||
|<code>Datetime</code> | |||
|Holds a date and time | |||
| | |||
|- | |||
|<code>Start datetime</code>, | |||
<code>End datetime</code> | |||
|Work like <code>Start date</code> or <code>End date</code>, but include a time. | |||
| | |||
|- | |||
|<code>Boolean</code> | |||
|Holds a Boolean value, whose value should be 1 or 0, or 'yes' or 'no' (see [[Special:MyLanguage/Extension:Cargo/Querying data#Querying%20Boolean%20fields|this section]] for Cargo-specific information on querying Boolean values) | |||
| | |||
|- | |||
|<code>Coordinates</code> | |||
|Holds geographical coordinates | |||
| | |||
|- | |||
|<code>Wikitext string</code> | |||
|Holds a short text that is meant to be parsed by the MediaWiki parser (default max size: 300 characters) | |||
| | |||
|- | |||
|<code>Wikitext</code> | |||
|Holds longer text that is meant to be parsed by the MediaWiki parser | |||
|✔ | |||
|- | |||
|<code>Searchtext</code> | |||
|Holds text that can be searched on, using the [[Special:MyLanguage/Extension:Cargo/Querying data#The%20%22MATCHES%22%20command|MATCHES]] command (requires MySQL 5.6+ or MariaDB 5.6+) | |||
| | |||
|- | |||
|<code>File</code> | |||
|Holds the name of an uploaded file or image in the wiki (similar to Page, but does not require specifying the "File:" namespace) (default max size: 300 characters) | |||
| | |||
|- | |||
|<code>URL</code> | |||
|Holds a URL (default max size: 300 characters) | |||
| | |||
|- | |||
|<code>Email</code> | |||
|Holds an email address (default max size: 300 characters) | |||
| | |||
|- | |||
|<code>Rating</code> | |||
|Holds a "rating" value, i.e., usually an integer from 1 to 5 | |||
|} | |||
=== Special Pages === | |||
Cargo includes special pages like [[Special:CargoQuery]] for direct querying and [[Special:Drilldown]] for interactive data exploration. | |||
=== Integration with MediaWiki === | |||
It integrates seamlessly with MediaWiki's existing structure, allowing for data to be linked with pages, categories, and other MediaWiki features. | |||
=== Customization === | |||
Through settings like $wgCargoDefaultStringBytes or $wgCargoMaxQueryLimit, administrators can control how Cargo behaves in terms of data storage limits or query performance. | |||
==Advantages== | ==Advantages== | ||
| Line 26: | Line 116: | ||
*Development: Cargo has seen contributions through programs like Google Summer of Code, indicating active development and community involvement. | *Development: Cargo has seen contributions through programs like Google Summer of Code, indicating active development and community involvement. | ||
* Support: There's community support through forums, documentation, and the MediaWiki extension repository, where users can find help or contribute to its development. | * Support: There's community support through forums, documentation, and the MediaWiki extension repository, where users can find help or contribute to its development. | ||
== Special pages == | |||
* [[Special:CargoQuery]] | |||
* [[Special:CargoTableDiagram]] | |||
* [[Special:CargoTables]] | |||
* [[Special:Drilldown]] | |||
==Map examples == | |||
===Table === | |||
{{#cargo_query: | |||
tables=Employees | |||
|fields=_pageName=Name,Location,Department | |||
|format=table | |||
}} | |||
===Dynamic table === | |||
{{#cargo_query: | |||
tables=Employees | |||
|fields=_pageName=Name,Location,Department | |||
|format=dynamic table | |||
}} | |||
===Open Layers=== | |||
{{#cargo_query: | |||
tables=Employees | |||
|fields=_pageName=Name,Location,Department | |||
|format=openlayers | |||
}} | |||
===Leaflet=== | |||
{{#cargo_query: | |||
tables=Employees | |||
|fields=_pageName=Name,Location,Department | |||
|format=leaflet | |||
}} | |||
== Related == | |||
* [[Help:Class]] - Defining a new Cargo template | |||
* [[Help:Cargo (Overview)]] | |||
* [[Help:Cargo (Query)]] | |||
== Resources == | == Resources == | ||
=== Links === | === Links === | ||
* https://workingwithmediawiki.com/book/chapter16.html | |||
* https://community.fandom.com/wiki/Help:Cargo | * https://community.fandom.com/wiki/Help:Cargo | ||
* https://community.fandom.com/wiki/Help:Cargo/recreating_tables | |||
* https://community.fandom.com/wiki/Help:Cargo/customizing_tables | |||
===Example wikis=== | ===Example wikis=== | ||
See [[Help:Cargo (Example wikis)]] | |||
=== Videos === | |||
{{Clear}} | |||
==== Setting up Cargo on a Wiki Class ==== | |||
{{#ev:YouTube|https://www.youtube.com/watch?v=9MHXrfCt5cM|400|left|Setting up Cargo on a Wiki Class (11 April 2024)}} | |||
====Cargo with the Neutronized Wiki==== | |||
{{#ev:YouTube|https://www.youtube.com/watch?v=n4rdTkaOrNc|400|left|Cargo with the Neutronized Wiki (May 20th, 2024)}} | |||
[[Category:Help]] | |||
edits