Page MenuHomePhabricator

Investigate tracking update mechanism for "non-standard language" views.
Closed, ResolvedPublic

Description

We need to update the usage tracking table based on the information which user languages a pages has been rendered (and cached) in. Find out how we can get notified when an entity page gets rendered in a "new" language, but avoid updating the database every time a pages is rendered.

Related Objects

Event Timeline

daniel created this task.Mar 18 2015, 1:38 PM
daniel raised the priority of this task from to High.
daniel updated the task description. (Show Details)

WikiPage::triggerOpportunisticLinksUpdate may be a good starting point

WikiPage::triggerOpportunisticLinksUpdate is indeed called whenever a page is re-rendered for display with a specific set of parser options. It's a good candidate for adding a hook point that would allow us to track user-language specific output of the page.

Hooking into WikiPage::triggerOpportunisticLinksUpdate may not be sufficient when links updates are triggered via the job queue. Investigate more.

daniel added a comment.EditedMar 18 2015, 5:13 PM

A simple scheme would be:

  • purge all tracking when the page is edited
  • add tracking on LinksUpdate, for the current language (these would add up for all languages)

Disadvantage: untracked (and possibly unsubscribed) limbo state, "flickering" subscriptions. Possible fix: A (delayed?) job could be used to unsubscribe.

Make sure usage tracking works correctly when importing pages from an XML dump.

Rical renamed this task from Investigate tracking update mechansim for "non-standard language" views. to Investigate tracking update mechanism for "non-standard language" views..Mar 18 2015, 9:12 PM
Rical set Security to None.
daniel closed this task as Resolved.EditedJun 1 2015, 12:54 PM
daniel claimed this task.
Rical removed a subscriber: Rical.Jul 21 2017, 9:46 AM