Many wiki articles share a similar format or have content that can be restructured into structured data to be parseable and manipulated easier in software. This article will describe some methods of content automation on the wiki and when it is appropriate to do so.
When is automation appropriate?[]
Content automation is done when there is a need to scale information availability on the wiki so wiki editors can deliver relevant and timely data across all wiki articles without resorting to the use of third-party tools or bot accounts. A single edit can potentially proliferate up-to-date data to all wiki articles, reducing the lead time of updating the wiki after mainline updates or game content changes.[1] Instead of taking say a month to update the wiki, content can be updated within a week by a small group of 5-10 editors.
As a general trend:
- The more an article describes discrete game objects, the more automated it can be
- E.g. individual Void Relic articles are fully generated by the Lua module Module:Void/page, pulling data from Module:DropTables/data, Module:Void/data, Module:Warframes/data, Module:Weapons/data, Module:Companions/data, and Module:Resources/data
- The more an article follows a standardized format, the more automated it can be
- The more an article's content is used in other articles through transclusion, direct reference, or copy/pasting, the more automated it can be
- The more an article's content can be localized into other languages, the more automated it can be
- The more an article describes game mechanics and interactions, the less automated it can be
- E.g. Damage article
When is automation not appropriate?[]
- If it requires additional dependencies to be installed on the editor's end (e.g. custom software, scripts, or tooling not available in vanilla MediaWiki or currently installed MediaWiki extensions)
- Increasing the barriers to entry is not reasonable for a user-contributed wiki. Automation should be a way of convenience and scalability, not hindering contribution efforts by the greater community. The more difficult editing the wiki is, the more harm it will do to wiki content long-term
- At the very least, we should expect editors to know how to add new data entries to wiki's databases, no software development experience required
- Automation should always have a manual alternative as backup, even if manual methods are not efficient
- Increasing the barriers to entry is not reasonable for a user-contributed wiki. Automation should be a way of convenience and scalability, not hindering contribution efforts by the greater community. The more difficult editing the wiki is, the more harm it will do to wiki content long-term
- If it cannot be flexible to change; if something is not adaptable then it shouldn't be automated in the first place
- E.g. data schema updates in response to new/changing game mechanics or user demands
Methods of Content Automation[]
Auto Categorization[]
Many of our script-generated infoboxes/content also add article categories based on item data as stored on the wiki.
Auto Documentation[]
Module documentation pages (/doc
) look into source code's LuaDoc tokens and comments to generate a prettified documentation page through Template:Docbunto and Module:Docbunto.
Data Aggregation[]
Aggregating data in a more convenient and accessible format for wiki readers to digest. Examples include:
- Warframes Comparison
- Template:WarframeNavVisual - Warframe navigation box
- Weapon Comparison
- Template:WeaponComparison - compare two weapons' stats
- Template:WeaponNav - weapon navigation box
- Template:BuildAutomatic - item crafting requirements
- Template:DropLocations - item drop locations and their chances
- Template:BaroOfferingsHistoryTable - Baro Ki'Teer's historical offerings
Data Analysis[]
Raw data stored on the wiki's user-contributed databases can go through statistical analysis to provide a more in-depth view on a topic based on certain truths:
- Template:Advantages and Template:Disadvantages; see WARFRAME Wiki:Stat Comparison
- Template:Acquisition - item drop locations and their chances with expected and nearly guaranteed rolls; see User blog:FINNER/Warframe Expected & Nearly Guaranteed Numbers - An Explanation
Data Feed[]
Digital Extremes do provide some public endpoints for people to use on content like World State. The Warframe Community Developers (WFCD) group on GitHub have projects that transform these public endpoints into a more parseable and accessible manner via APIs.
- MediaWiki:NightwaveActs.js and Template:NightwaveActs uses WFCD's API to get current Nightwave acts
Infoboxes[]
Most infoboxes on game objects pull data from the respective database they belong to:
- Template:WeaponInfoboxAutomatic pulls weapon stat data from Module:Weapons/data or Module:Weapons/Conclave/data
Tooltips[]
Many game objects have a tooltip associated with them, bringing up a small pop-up on hover-overs to display concise information on the topic:
- Template:D - damage system tooltips, pulls data from Module:DamageTypes/data
- Template:WF - Warframe tooltips, pulls data from Module:Warframes/data
- Template:Resource - Resource tooltips, pulls data from Module:Resources/data
- See Module:Tooltips for more
Updating Databases[]
See WARFRAME Wiki:Updating Databases for more details.
- ↑ As a note, readers may need to purge the article's cache to tell the application server to re-render the page.