Tim Starling wrote:
Initially [[test]] doesn't exist so {{a}} is displayed. Then [[test]] is created and the HTML cache for the page is invalidated via pagelinks. But the links tables are not updated, so although the page now contains the contents of {{b}}, it doesn't have a template link to it. So when [[Template:B]] is subsequently changed, the cache is not invalidated.
The solution is to add yet another tracking table.
Or maybe a column to pagelinks "clear not only html cache but also rerender"
I've been thinking about this problem, since it's going to get even worse with the new preprocessor. Currently, links in unfollowed branches aren't registered, but templates *are* registered in both branches. So if you have:
{{#ifexist: test | {{a}} | {{b}} }}
It seems a bit inconsistent given that the new preprocessor only How does it work when {{b}} (the non followed branch) includes {{c}} ? Will the page rerender?
Also, registering both would break [[Wikipedia:Protected titles]] as explained "The use of #ifexist on WP:PT subpages is to prevent the pages being transcluded there (and therefore protected) if they do exist" on http://en.wikipedia.org/wiki/Wikipedia:Village_pump_%28technical%29#Abuse_of...