User:Tennessee Ernie Ford/Rants/Substitution

From Guild Wars Wiki
Jump to navigationJump to search

Periodically, there's debate around the topic of whether to substitute (subst:) templates or leave them as is. I've been browsing arguments on the topic at Wikipedia and here's what I've learned: it depends (yah, big help). Here's a synopsis of issues:

Reasons to substitute[edit]

e.g. {{subst:unsigned|user}}

  • Guideline: always subst on talk pages, since these are snapshots of a conversation and the template could change.
  • Processing: subst whenever possible to reduce server load, particular for templates that change a lot.
  • Boilerplate: always subst (and then edit) boilerplate text (although we don't really use that at GWW), e.g. for user page layouts where you don't want your page to change if/when the template originators/editors change it.
  • Anti-vandalism: subst if the source is a likely target of vandalism (not really an issue here)
  • Layout: always subst if the source is likely to change, but you want to capture it in a moment in time, e.g. a very specific page layout.

Reasons to transclude[edit]

e.g. {{sweets nav}}

  • Guideline: it's far easier for people to read/parse the template than the rendered transclusion.
  • Processing: the wikipedia foundation's tech team says, "don't worry about server load when deciding policy" (in effect: it matters, but not enough to decide any debate)
  • Layout: never subst if you want the content to evolve with the source content (e.g. for user page layouts where you want changes promoted by the originator/editors).
  • Transitory: never subst if the contents are work-in-progress or for testing. (After the project is completed, you might want to subst.)
  • HelpMe: subst hides the variable bits of a template in wikicode gobbledegook, whereas using the template makes it easier for wiki newbies to mimic and learn.

TEF rules of thumb[edit]

Here are the rules of thumb I am currently using:

Always subst[edit]

Moments-in-time
  • Signature templates (supposed to capture what the policy was at the time)
Personal preferences
  • Personal layout templates (I usually find a use-case separate from the originators template).
  • Any templates used on talk pages (a version of moment-in-time)

Never subst[edit]

Expected to evolve
  • Navbars
  • Collector and other types of lists
Required for processing
  • Standard layout and parsing tools, e.g. {{STDT}}, {{!}}