Help:Cargo
Cargo is a MediaWiki extension that provides a way to store and query data within database tables.
Why is Cargo relevant?
We (Smartly Dressed Games) is planning to use Cargo to auto-populate infoboxes, tables, and other parts of the Unturned Wiki. Currently, you can see Cargo being used on pages like Animals and Vehicles. Only certain users have the permissions to create new Cargo tables, but anyone can view or add to the preexisting tables.
We are hoping to release a public tool/script for converting individual game asset data into the transcluded template syntax for storing Cargo data in the future. For now, Cargo data must be manually converted. The current Cargo tables, and the templates/tables making use of them, are mostly placeholder while we figure out exactly what our proper implementation will look like. I (MoltonMontro) am using a Notepad++ macro that converts individual files into the template syntax. It's not perfect, and won't work in the future (or if I make a big change to the test Cargo tables, such as changing how we store flags/booleans). But you can add this macro to your own setup if you'd like.
<Macro name="Cargo - template conversion" Ctrl="no" Alt="no" Shift="no" Key="0">
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="//.*" />
<Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="\s+$" />
<Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="(\r\n)(\s*)([\[{\]}])" />
<Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam=" \3" />
<Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="^(\S+) " />
<Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="| \L$1 = " />
<Action type="3" message="1702" wParam="0" lParam="1792" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
<Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
<Action type="3" message="1601" wParam="0" lParam="0" sParam="^(\S+)$" />
<Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
<Action type="3" message="1602" wParam="0" lParam="0" sParam="| \L$1 = @flag" />
<Action type="3" message="1702" wParam="0" lParam="1792" sParam="" />
<Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
</Macro>
Notes
- The MySQL maximum row size limit is 65,535 bytes.
- The Data namespace should be used to store Cargo data.
- It is recommended that pages do not exceed 8 queries to Cargo data.