<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>cargo on River Writes - A MediaWiki Blog</title>
    <link>https://blog.river.me/tags/cargo/</link>
    <description>RheingoldRiver&#39;s blog - MediaWiki development, Leaguepedia stories, and productivity hacks</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>©2020-2026, All Rights Reserved</copyright>
    <lastBuildDate>Sun, 14 Dec 2025 23:50:34 +0000</lastBuildDate>
    
        <atom:link href="https://blog.river.me/tags/cargo/index.xml" rel="self" type="application/rss+xml" />
    

      
      <item>
        <title>Everything about cargo_attach</title>
        <link>https://blog.river.me/attach/</link>
        <pubDate>Sun, 14 Dec 2025 23:50:34 +0000</pubDate>
        
        <atom:modified>Sun, 14 Dec 2025 23:50:34 +0000</atom:modified>
        <guid>https://blog.river.me/attach/</guid>
        <description>What does #cargo_attach do? How do you use it? And more</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>performance</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>snake_case in Cargo sucks</title>
        <link>https://blog.river.me/cargo-snake-case/</link>
        <pubDate>Sat, 29 Nov 2025 19:11:42 +0000</pubDate>
        
        <atom:modified>Sat, 29 Nov 2025 19:11:42 +0000</atom:modified>
        <guid>https://blog.river.me/cargo-snake-case/</guid>
        <description>Cargo will sometimes confusingly change your underscores to spaces if you use snake_case in your field names, so please don&amp;rsquo;t do that</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>How to refresh cache in MediaWiki</title>
        <link>https://blog.river.me/refreshing-cache/</link>
        <pubDate>Wed, 11 Sep 2024 06:19:54 +0000</pubDate>
        
        <atom:modified>Wed, 11 Sep 2024 06:19:54 +0000</atom:modified>
        <guid>https://blog.river.me/refreshing-cache/</guid>
        <description>Caching can be super complicated in MediaWiki because there are many different types of cache. This article goes over what to do for each kind.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>mediawiki</category>
            
          
            
              <category>css</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Representing one-to-many relations</title>
        <link>https://blog.river.me/one-to-many/</link>
        <pubDate>Sun, 23 Jun 2024 06:52:00 +0000</pubDate>
        
        <atom:modified>Sun, 23 Jun 2024 06:52:00 +0000</atom:modified>
        <guid>https://blog.river.me/one-to-many/</guid>
        <description>Several examples of video game mechanics that could be represented as one-to-many relations and how to do table design &amp;amp; queries</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Introducing the SORCERER example wiki</title>
        <link>https://blog.river.me/sorcerer/</link>
        <pubDate>Thu, 06 Jun 2024 04:03:54 +0000</pubDate>
        
        <atom:modified>Thu, 06 Jun 2024 04:03:54 +0000</atom:modified>
        <guid>https://blog.river.me/sorcerer/</guid>
        <description>Enjoy beautiful mspaint drawings and learn Cargo!</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>react</category>
            
          
            
              <category>sorcerer</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>One-to-many tables &amp; #vardefine</title>
        <link>https://blog.river.me/one-to-many-vardefine/</link>
        <pubDate>Mon, 26 Feb 2024 12:38:19 +0000</pubDate>
        
        <atom:modified>Mon, 26 Feb 2024 12:38:19 +0000</atom:modified>
        <guid>https://blog.river.me/one-to-many-vardefine/</guid>
        <description>&lt;code&gt;#vardefine&lt;/code&gt; doesn&amp;rsquo;t always play nice with the order in which you need to evaluate code. Here are some solutions.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Ordering a Cargo field</title>
        <link>https://blog.river.me/cargo-order/</link>
        <pubDate>Sun, 03 Dec 2023 18:02:20 +0000</pubDate>
        
        <atom:modified>Sun, 03 Dec 2023 18:02:20 +0000</atom:modified>
        <guid>https://blog.river.me/cargo-order/</guid>
        <description>How can you enforce a sorting order on a Cargo field when displaying tabular data?</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>best_practices</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>List-type fields, for realsies</title>
        <link>https://blog.river.me/cargo-list-type-fields/</link>
        <pubDate>Sat, 20 May 2023 23:06:27 +0000</pubDate>
        
        <atom:modified>Sat, 20 May 2023 23:06:27 +0000</atom:modified>
        <guid>https://blog.river.me/cargo-list-type-fields/</guid>
        <description>What are list-type fields? What &lt;em&gt;aren&amp;rsquo;t&lt;/em&gt; they? How do I query them?</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>best_practices</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>I stored a boolean instead of a timestamp</title>
        <link>https://blog.river.me/boolean-instead-of-timestamp/</link>
        <pubDate>Tue, 05 Oct 2021 01:16:32 +0000</pubDate>
        
        <atom:modified>Tue, 05 Oct 2021 01:16:32 +0000</atom:modified>
        <guid>https://blog.river.me/boolean-instead-of-timestamp/</guid>
        <description>A Cargo field I was going to store as a timestamp but decided to store as a boolean instead</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>best_practices</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Optimizing Cargo - query 3</title>
        <link>https://blog.river.me/optimizing-cargo-3/</link>
        <pubDate>Tue, 25 May 2021 22:07:05 +0000</pubDate>
        
        <atom:modified>Tue, 25 May 2021 22:07:05 +0000</atom:modified>
        <guid>https://blog.river.me/optimizing-cargo-3/</guid>
        <description>The final of three Cargo queries I recently optimized on Leaguepedia</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>Cargo</category>
            
          
            
              <category>Leaguepedia</category>
            
          
            
              <category>Lua</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Optimizing Cargo - query 2</title>
        <link>https://blog.river.me/optimizing-cargo-2/</link>
        <pubDate>Tue, 04 May 2021 22:06:58 +0000</pubDate>
        
        <atom:modified>Tue, 04 May 2021 22:06:58 +0000</atom:modified>
        <guid>https://blog.river.me/optimizing-cargo-2/</guid>
        <description>The second of three Cargo queries I recently optimized.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Optimizing Cargo - query 1</title>
        <link>https://blog.river.me/optimizing-cargo-1/</link>
        <pubDate>Wed, 28 Apr 2021 02:05:43 +0000</pubDate>
        
        <atom:modified>Wed, 28 Apr 2021 02:05:43 +0000</atom:modified>
        <guid>https://blog.river.me/optimizing-cargo-1/</guid>
        <description>A Cargo query I optimized recently on Leaguepedia</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>lua_class_system</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>A Lua module to print all args</title>
        <link>https://blog.river.me/cargo-debug-print-all-args/</link>
        <pubDate>Tue, 13 Apr 2021 11:24:05 +0000</pubDate>
        
        <atom:modified>Tue, 13 Apr 2021 11:24:05 +0000</atom:modified>
        <guid>https://blog.river.me/cargo-debug-print-all-args/</guid>
        <description>How to write a module to print all args to help with debugging Cargo</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>lua</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Setting common match &amp; game keys</title>
        <link>https://blog.river.me/common-game-id/</link>
        <pubDate>Tue, 23 Mar 2021 02:33:50 +0000</pubDate>
        
        <atom:modified>Tue, 23 Mar 2021 02:33:50 +0000</atom:modified>
        <guid>https://blog.river.me/common-game-id/</guid>
        <description>How I corrected a mistake in my Cargo database design</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>lua_class_system</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Escape item[&#34;id&#34;]</title>
        <link>https://blog.river.me/escape-item-id/</link>
        <pubDate>Tue, 23 Feb 2021 19:59:37 +0000</pubDate>
        
        <atom:modified>Tue, 23 Feb 2021 19:59:37 +0000</atom:modified>
        <guid>https://blog.river.me/escape-item-id/</guid>
        <description>A funny commit I made today</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>python</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Gadget - Cargo pagevalues improvement</title>
        <link>https://blog.river.me/cargo-pagevalues-improvement/</link>
        <pubDate>Tue, 01 Dec 2020 20:51:23 +0000</pubDate>
        
        <atom:modified>Tue, 01 Dec 2020 20:51:23 +0000</atom:modified>
        <guid>https://blog.river.me/cargo-pagevalues-improvement/</guid>
        <description>An improvement to the Cargo pagevalues view using just JS &amp;amp; CSS.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>gadget_tools</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>css</category>
            
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>How to rename Cargo tables safely</title>
        <link>https://blog.river.me/rename-cargo-tables-safely/</link>
        <pubDate>Tue, 11 Aug 2020 01:08:14 +0000</pubDate>
        
        <atom:modified>Tue, 11 Aug 2020 01:08:14 +0000</atom:modified>
        <guid>https://blog.river.me/rename-cargo-tables-safely/</guid>
        <description>Cargo actually provides a way to cleanly rename tables without any &amp;ldquo;downtime,&amp;rdquo; but it&amp;rsquo;s not obvious or documented how to do this.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>best_practices</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Don&#39;t use _pageName</title>
        <link>https://blog.river.me/dont-use-pagename/</link>
        <pubDate>Tue, 14 Jul 2020 14:05:06 +0000</pubDate>
        
        <atom:modified>Tue, 14 Jul 2020 14:05:06 +0000</atom:modified>
        <guid>https://blog.river.me/dont-use-pagename/</guid>
        <description>Sometimes it can seem convenient to use the built-in _pageName field that Cargo provides; however, _pageName is a metadata field, and you should take care to use it only as such.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>best_practices</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Adventures in caching primary keys</title>
        <link>https://blog.river.me/primary-key-caching-adventures/</link>
        <pubDate>Tue, 16 Jun 2020 20:39:18 +0000</pubDate>
        
        <atom:modified>Tue, 16 Jun 2020 20:39:18 +0000</atom:modified>
        <guid>https://blog.river.me/primary-key-caching-adventures/</guid>
        <description>The pattern of store -&amp;gt; query -&amp;gt; store -&amp;gt; query can lead to caching nightmares when working with Cargo or SMW in MediaWiki. This is the story of how I dealt with one.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>cargo</category>
            
          
            
              <category>caching</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>mediawiki</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Highlighting disambiguations</title>
        <link>https://blog.river.me/disambig-highlight/</link>
        <pubDate>Tue, 19 May 2020 13:21:48 +0000</pubDate>
        
        <atom:modified>Tue, 19 May 2020 13:21:48 +0000</atom:modified>
        <guid>https://blog.river.me/disambig-highlight/</guid>
        <description>Disambiguations are typically somewhat user-unfriendly, especially when a wiki has a relatively low percentage of pages that are disambiguated and so the presence of one is unexpected. Here I describe my method for improving quality of life when disambiguation links do appear.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>mediawiki</category>
            
          
            
              <category>javascript</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>cargo</category>
            
          
            
              <category>css</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>Determining team members from roster change data: A Leaguepedia case study</title>
        <link>https://blog.river.me/team-members-cargo-options/</link>
        <pubDate>Tue, 18 Feb 2020 23:55:49 +0000</pubDate>
        
        <atom:modified>Tue, 18 Feb 2020 23:55:49 +0000</atom:modified>
        <guid>https://blog.river.me/team-members-cargo-options/</guid>
        <description>Managing complexity using Cargo with MediaWiki to track League of Legends esports roster changes.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>caching</category>
            
          
            
              <category>cargo</category>
            
          
            
              <category>leaguepedia</category>
            
          
            
              <category>mediawiki</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>How to add Cargo docstrings on table pages</title>
        <link>https://blog.river.me/cargo-docstrings/</link>
        <pubDate>Mon, 10 Feb 2020 04:16:35 +0000</pubDate>
        
        <atom:modified>Mon, 10 Feb 2020 04:16:35 +0000</atom:modified>
        <guid>https://blog.river.me/cargo-docstrings/</guid>
        <description>This is not a post about how to add Cargo docstrings on table pages. Rather, it&amp;rsquo;s a post about how to create workarounds in MediaWiki in a reasonably well-controlled manner.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>mediawiki</category>
            
          
            
              <category>cargo</category>
            
          
            
              <category>lua</category>
            
          
            
              <category>javascript</category>
            
          
        
        
        
      </item>
      
      <item>
        <title>New Roster Changes</title>
        <link>https://blog.river.me/new-roster-changes/</link>
        <pubDate>Wed, 01 Jan 2020 18:03:16 +0000</pubDate>
        
        <atom:modified>Wed, 01 Jan 2020 18:03:16 +0000</atom:modified>
        <guid>https://blog.river.me/new-roster-changes/</guid>
        <description>An overview of the process I used to create our single-source-of-truth roster change database tables on Leaguepedia. This post originally was created as a &lt;a href=&#34;https://lol.gamepedia.com/User:RheingoldRiver/Blog/New_Roster_Changes&#34;&gt;user page&lt;/a&gt; on Leaguepedia.</description>
        
        <dc:creator>river</dc:creator>
        
        
        
        
          
            
              <category>leaguepedia</category>
            
          
            
              <category>mediawiki</category>
            
          
            
              <category>cargo</category>
            
          
        
        
        
      </item>
      

    
  </channel>
</rss>
