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

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

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.

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.