Help:Cargo

From USApedia
Extension:Cargo on Mediawiki

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.

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.

Functionality

  • Data Storage: Cargo allows data to be stored in database tables, which can be either within MediaWiki's database or in a separate database for performance or security reasons. This data is typically derived from template calls, where each template invocation can define a row in a table.
  • Querying Data: Users can query this data using SQL-like syntax through special pages or parser functions provided by Cargo, like #cargo_query. This allows for dynamic content generation based on the data stored.
  • Parser Functions:
  1. cargo_declare: Defines the schema for a table, placed within the <noinclude> part of a template.
  2. cargo_attach: Specifies that a template adds rows to a table declared elsewhere.
  3. cargo_store: Stores data into a Cargo table, usually within the <includeonly> part of a template.

Features

Data Types

Cargo supports various data types including simple types like strings, dates, and numbers, to more complex ones like hierarchies, coordinates, and wikitext.

Field Type Description Unindexed?
Page Holds the name of a page in the wiki (default max size: 300 characters)
String Holds standard, non-wikitext text (default max size: 300 characters)
Text Holds standard, non-wikitext text; intended for longer values
Integer Holds an integer
Float Holds a real, i.e., non-integer, number
Date Holds a date without time
Start date,

End date

Similar to Date, but are meant to hold the beginning and end of some duration. A table can hold either no Start date and no End date field, or exactly one of both.
Datetime Holds a date and time
Start datetime,

End datetime

Work like Start date or End date, but include a time.
Boolean Holds a Boolean value, whose value should be 1 or 0, or 'yes' or 'no' (see this section for Cargo-specific information on querying Boolean values)
Coordinates Holds geographical coordinates
Wikitext string Holds a short text that is meant to be parsed by the MediaWiki parser (default max size: 300 characters)
Wikitext Holds longer text that is meant to be parsed by the MediaWiki parser
Searchtext Holds text that can be searched on, using the MATCHES command (requires MySQL 5.6+ or MariaDB 5.6+)
File 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)
URL Holds a URL (default max size: 300 characters)
Email Holds an email address (default max size: 300 characters)
Rating 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

  • Ease of Use: Compared to other extensions like Semantic MediaWiki, Cargo might be simpler to install and use for basic to intermediate data management needs within MediaWiki.
  • Performance: By potentially using a separate database, Cargo can help in managing performance issues related to data queries, especially on large wikis.
  • Flexibility: Its design allows for complex data structures and queries, making it suitable for wikis where structured data management is crucial.

Community and Development

  • 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.

Special pages

Map examples

Table

Error: Table Employees not found.

Dynamic table

Error: Table Employees not found.

Open Layers

Error: Table Employees not found.

Leaflet

Error: Table Employees not found.

Related

Resources

Links

Example wikis

See Help:Cargo (Example wikis)

Videos

Setting up Cargo on a Wiki Class

Setting up Cargo on a Wiki Class (11 April 2024)

Cargo with the Neutronized Wiki

Cargo with the Neutronized Wiki (May 20th, 2024)