Go to file
daniel 8b22ad5d78 Trigger Parsoid run when page metadata is being updated
When RESTBase is turned off, Parsoid runs will no longer be triggered
on template changes. This creates a new mechanism to do that, based on
the RevisionDataUpdates hook called by DerivedPageDataUpdater. The new
behavior is controlled by a feature flag, LinterParseOnDerivedDataUpdate,
which is enabled per default. In WMF production, this should be
turned off as long as we are still triggering Parsoid parses through
the pregeneration mechanism in RESTBase.

Note that this will not write ParserOutput to the ParserCache. On edits,
pages will get parsed with Parsoid twice, once to trigger the lint data
update, and once by ParsoidCachePrewarmJob to populate the ParserCache.
Both parses will trigger the ParserLogLinterData hook, the lint data
from the second parse is redundant.

However, while ParsoidCachePrewarmJob and RevisionDataUpdates get
triggered together on edits, they also get triggered separately:
ParsoidCachePrewarmJob by page views with parser cache misses; and
RevisionDataUpdates when pages get invalidated due to template changes.

Because ParsoidCachePrewarmJob and RevisionDataUpdates generally get
triggered in different situations, it seems cleaner to keep the two
mechanisms independent of each other, and live with the duplicate parse
on edit.

Bug: T361013
Change-Id: If53841ee583ce240dd245d640b9ea9c97e1eaa55
2024-06-03 16:50:17 -05:00
.phan Add phan 2019-03-08 22:11:29 +01:00
i18n Localisation updates from https://translatewiki.net. 2024-06-03 09:32:07 +02:00
includes Trigger Parsoid run when page metadata is being updated 2024-06-03 16:50:17 -05:00
maintenance Drop DatabaseFactory, just have Database as the service 2024-04-10 21:21:40 -04:00
modules Handle VisualEditor when it skips the "tempWikitextEditor" stage 2019-06-11 17:29:29 +02:00
sql Cleanup SchemaHooks and SQL files 2023-12-22 02:13:52 +00:00
tests/phpunit Trigger Parsoid run when page metadata is being updated 2024-06-03 16:50:17 -05:00
.eslintrc.json build: Updating eslint-config-wikimedia to 0.19.0 2021-03-14 00:44:51 +00:00
.gitignore build: Upgrade eslint-config-wikimedia from 0.10.1 to 0.11.0 2019-04-03 16:06:08 -07:00
.gitreview Whoops, track not trace 2016-10-24 17:02:51 -07:00
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 40.0.1 2022-11-16 08:54:23 +00:00
CODE_OF_CONDUCT.md build: Updating mediawiki/phan-taint-check-plugin to 1.3.0 2018-08-17 07:39:01 +00:00
composer.json build: Updating composer dependencies 2024-05-05 21:54:02 +00:00
COPYING Initial commit 2016-10-17 16:02:53 -07:00
extension.json Trigger Parsoid run when page metadata is being updated 2024-06-03 16:50:17 -05:00
Gruntfile.js build: Updating dependencies 2021-01-30 03:48:34 +00:00
Linter.alias.php Linter: Add special page aliases for Chinese variants 2024-04-28 14:27:50 +08:00
package-lock.json build: Updating grunt-banana-checker to 0.13.0 2024-05-18 15:49:49 +00:00
package.json build: Updating grunt-banana-checker to 0.13.0 2024-05-18 15:49:49 +00:00
README Initial commit 2016-10-17 16:02:53 -07:00

Extension to help lint wiki pages. Currently designed to take advantage
of Parsoid's linter, could also be extended to linting JS or CSS in the
future.