Extension:Cargo/Exporting data

You can export the data contained in Cargo to use by other systems. There are various ways to do it: via display formats, via the API, and through direct SQL querying.

Export display formats
Queries in Cargo include four display formats that can be used for exporting data: "csv", "json", "excel" and "bibtex". If you set one of these as the display format, you will simply see a link as the query result. Clicking on that link will download a file (provided by the page Special:CargoExport) to the user's computer, that holds that structured data. Any outside system can also directly access that URL, if it has access to the wiki.

csv
The "csv" format has the following parameters, all optional:
 * - sets the separator character (default is comma)
 * - sets the text of the link (default is "View CSV", or the value at the page )
 * - sets the name of the file that is downloaded (default is "results.csv")
 * - if set, causes the text displayed to be parsed into HTML instead of kept as wikitext

json
The "json" format has the following parameters, all optional:
 * - sets the text of the link (default is "View JSON", or the value at the page )
 * - if set, causes the text displayed to be parsed into HTML instead of kept as wikitext

excel
The "excel" format has the following parameters, all optional:
 * - sets the text of the link (default is "View XLS", or the value at the page )
 * - sets the name of the file that is downloaded (default is "results.xls")
 * - if set, causes the text displayed to be parsed into HTML instead of kept as wikitext

bibtex
The "bibtex" format has the following parameters, all optional:
 * - sets the text of the link (default is "View BibTeX", or the value at the page )
 * - sets the default type of the BibTeX entries, e.g. article, book, booklet, etc. (default is "article")

In addition, you can set aliases for various queried fields in order to have them be included in the BibTeX output. The full set of handled aliases is: address, annote, author, booktitle, chapter, crossref, doi, edition, editor, howpublished, institution, journal, key, month, note, number, organization, pages, publisher, school, series, title, type, volume, year. A description for each field can be found here.

API
Cargo defines the "cargoquery" MediaWiki API action, which lets you call the equivalent of #cargo_query from an outside the wiki, returning the results in MediaWiki-specific JSON and XML formats. To see its usage syntax, search for "action=cargoquery" here.

Database querying
Finally, because Cargo stores its data in fairly simple database tables, you should be able to have other systems directly query its data using SQL, provided of course that they have access to that database. You can see an explanation of Cargo's data storage, including some special fields and tables, at Database storage details.