This feature is currently under development and only available on selected test wikis. If you're interested in participating, please contact staff.

Table Progress Tracking is a feature that allows users to keep track of their personal progress related to wiki content on tables — such as completed actions in a video game, watched TV show episodes, or read chapters of a book. It complements the existing progress tracking tool available on Interactive Maps.

How does table progress tracking help visitors to my wiki?

When readers consult certain tables on your wiki - for instance those listing collectibles, achievements or easter eggs - they may be working on beating a challenge, trying to reach 100% completion on a game, planning out their next steps while playing, or simply want to see how far they have come. If you add tracking to a table, you enable them to visualize and save their individual progress!

How can I enable it on my wiki?

Currently, this feature is in the testing phase and limited to a small number of wikis. If you would like to participate, please reach out to Fandom staff to request access. Once your wiki is selected, users will need to decide which tables are suitable for progress tracking, editing them to make the tool to be displayed.

After choosing an appropriate table, you must adapt its code by wrapping it with the following parser tag:

<table-progress-tracking table-id="1" unique-column-index="1">
{| class="wikitable sortable"
|-
! Column 1 !! Column 2 !! Column 3
|-
| Row1-1 || Row1-2 || Row1-3
|-
| Row2-1 || Row2-2 || Row2-3
|-
| Row3-1 || Row3-2 || Row3-3
|-
| Row4-1 || Row4-2 || Row4-3
|}
</table-progress-tracking>

Tables must meet these requirements to be compatible with progress tracking:

  • The table must follow standard MediaWiki syntax.
  • Headers must be at the top; rows should be vertically oriented.
  • No header cells are allowed in the same row as the data source.
  • Only one table per tag is supported.

You can see the mentioned example below:

Column 1 Column 2 Column 3

Row1-1 Row1-2 Row1-3

Row2-1 Row2-2 Row2-3

Row3-1 Row3-2 Row3-3

Row4-1 Row4-2 Row4-3


You can also use the feature with templates in the same way, if they are displaying tables and if you're only using one template. A similar example would be:

<table-progress-tracking table-id="1" unique-column-index="1">
{{Table}}
</table-progress-tracking>

How does it work?

Table progress tracking

Once implemented, a new column appears on the left side of the table. This column includes a progress tracking icon in the header (or a custom label) and empty checkboxes for each row.

Users can click the checkboxes to mark/unmark table rows—effectively tracking their progress on the content described in the table. Tracked progress is saved individually for each user. This means your progress is saved to your account and persists across browsers, sessions and devices. Only you can see your progress.

The table remains sortable, including by the progress column—allowing users to group completed and pending items.

Parameters

The following parameters are crucial for the system to properly store and display every user's checked progress.

Table-id

All tables need to include at least the table-id parameter. It's a unique identifier for the table within the article and must meet these criteria:

  • Maximum 64 characters
  • Only printable ASCII characters
  • Must be unique on the page

Unique-column-index

Users can also include the unique-column-index parameter, which indicates which column contains unique identifiers for each row. It has to meet these rules:

  • Must be a number
  • Values range from 1 to the total number of columns
  • Column values must be unique

Data-row-id

If you expect the column might contain duplicates or prefer more control, omit this parameter and use data-row-id instead, with a unique identifier for each row:

<table-progress-tracking table-id="1">
{| class="wikitable sortable"
|-
! Column 1 !! Column 2 !! Column 3
|-
| data-row-id="1" | Row1-1 || Row2-2 || Row3-3
|-
| data-row-id="2" | Row1-1 || Row2-2 || Row3-3
|-
| data-row-id="3" | Row1-1 || Row2-2 || Row3-3
|-
| data-row-id="4" | Row1-1 || Row2-2 || Row3-3
|}
</table-progress-tracking>

In this case, they have to meet these requirements:

  • Each row must have a unique data-row-id (max 64 characters).
  • The ID can be placed in any cell; only the last one is read if duplicated in the same row.
  • If both unique-column-index and data-row-id are used, data-row-id takes precedence.

If an editor modifies a table and changes the ID of a row, any progress previously saved by users will be lost. Using unique-column-index increases the likelihood of this happening, as its values may change more easily with table edits. In contrast, using data-row-id reduces this risk, since the IDs are explicitly defined and tend to remain more stable over time.

Additionally, switching from unique-column-index to data-row-id (or vice versa) will reset all previously saved user progress—unless the values used in both methods are exactly the same for each corresponding row.

Header-label

Header-label is an optional parameter that sets the header text for the progress column. For example:

<table-progress-tracking table-id="1" header-label="Collected?">
[...]
</table-progress-tracking>

If omitted, a progress tracking icon is shown by default.

Community content is available under CC-BY-SA unless otherwise noted.