Page MenuHomePhabricator

Deprecate and replace REVISION* magic words and inline errors with a proper warning system
Open, LowPublic

Description

This is a lower, longer-term, spin-off off T137900. It would be nice to expose better warning mechanisms (e.g. via Lua or something) so this kind of thing can't happen again.

Warnings of interest that might require surfacing:

  • JS/Lua page syntax errors
  • lua transclusion module errors (Cite templates)
  • wikicode syntax errors (linter ?)
  • wikicode extensions errors (<ref> errors, missing <references/> tag, <syntaxhighlight> errors (unknown languages), <graph>, maps etc. Basically anything that adds an error tracking category
  • parser function errors

There also seems a strong desire to surface these errors in preview mode, and make them surfaceable in articles (probably not by default) for experienced editors (wiki gnomes).

Event Timeline

TheDJ updated the task description. (Show Details)
TheDJ added a project: Parsoid.
TheDJ updated the task description. (Show Details)
TheDJ renamed this task from Deprecate and replace REVISION* magic words with a proper warning system to Deprecate and replace REVISION* magic words and inline errors with a proper warning system.May 17 2017, 11:46 AM

Not being able to disable the warnings with action=parse and text='something' is a significant problem for the 'whoColor' service and similar tools.

It would be nice if we could at least pass a param to explicitly disable warnings.

Related mailing list discussion: https://lists.wikimedia.org/pipermail/mediawiki-api/2017-July/004021.html
whoColor issue: https://github.com/wikiwho/WhoColor/issues/6

Besides the use cases outlined in T137900 that probably inspired the "give a better warning system" naming of this task, I thought of another: several templates emit the user name / timestamp as an indicator of who last touched a particular page and when that page was touched. I believe this is done to help identify whether a page may have been maliciously touched, or whether the author particularly has been active on a page.

See e.g. AFC submission and Db-meta, templates important to the drafting and speedy deletion processes respectively. I don't know the precise utility in each context, so verification with the editors involved in those processes, with a migration plan in place for some other magic word or similar, would be prudent before total deprecation.