Rotem Liss | 1 Dec 2007 12:01

Re: Announcement: #ifexist limit

Tim Starling wrote:
> Please copy this to your local village pump or other relevant on-wiki forum.
> 
> Werdna's #ifexist limit feature is now live. In response to complaints of 
> template breakage, I have increased the limit on Wikimedia wikis 
> temporarily, from 100 to 2000. Barring a coup, it will stay at 2000 for 
> about a week, and then we'll lower it to 100.
> 
> Please use this one-week period to check pages and templates that use 
> #ifexist heavily. Look in the HTML source of the preview or page view. 
> There will be a "limit report" that looks like this:
> 
> <!--
> Pre-expand include size: 617515/2048000 bytes
> Post-expand include size: 360530/2048000 bytes
> Template argument size: 51168/2048000 bytes
> #ifexist count: 1887/2000
> -->
> 
> This is the limit report from
> http://commons.wikimedia.org/wiki/Template:Potd/2007-12 ,
> one of the pages that will break.
> 
> At the end of the week, any pages which have a #ifexist count of over 100 
> will cease to be rendered correctly (after the next edit or cache clear). 
> All #ifexist calls after the hundredth will be treated as if the target 
> does not exist.
> 
> In some cases it may be possible to rewrite your templates so that they 
> still do the same thing, but with less #ifexist calls. In other cases, you 
(Continue reading)

Tim 'avatar' Bartel | 1 Dec 2007 13:18
Gravatar

Re: <s>10k</s> 50k!

Hi there,

Gregory Maxwell schrieb am 30.11.2007 00:52:
> On Nov 27, 2007 3:10 AM, Lars Aronsson <lars@...> wrote:
>> Is the blue (pmtpa = Florida) a cost for WMF, and the green (knams
>> = Amsterdam) a cost for someone else (Kennisnet + Wikimedia
>> Deutschland)?  How much could WMF save if there was a knams-likeSquid
>>
>> When I donate to the WMF, do I help paying for the blue only, or
>> also for the green part of these diagrams?
> 
> Wikimedia Deutschland doesn't support infrastructure in this manner.
> Their sponsorship at knams is the toolserver.

Well, that is definitely not correct.

Just from my head, without checking further sources:
While it is correct that all four servers of the toolserver (zedler,
hemlock, yarrow, [vandale?]) are provided by Wikimedia Deutschland (two
donated by SUN, two bought by WM-DE), this is only a small part of our work.

So for example Wikimedia Deutschland is also providing half of the Squid
proxies in Amsterdam (15x servers/initial costs more than 60k euros) and
the backup server (~14k euros). So it is more than appropriate to say
that WM-DE is supporting the infrastructure.

Bye, Tim (WM-DE board member)

--

-- 
http://wikipedistik.de
(Continue reading)

Alexis Moinet | 1 Dec 2007 15:05
Picon

Re: Determining the behaviour of apostrophes

Monahon, Peter B. wrote :
>> Earlier: "... Whether or not you think it's
>>  a waste of time, there's no excuse for 
>> broadcasting every parser bug you find 
>> to three mailing lists.  There's no 
>> shortage of parser bugs, and no need 
>> to act surprised when you find one ... 
>> If we want to talk about the parser 
>> grammar effort, we all know which list 
>> to subscribe to ...
> 
> Peter Blaise responds: Oh?  Which one?  I do not know, and you do not
> mention it in your post, so, help me out here, please - which list?  If
> you're gonna type something, why not make it unambiguously accurate and
> complete, anyway?  Otherwise, what's the point?

see http://lists.wikimedia.org/pipermail/wikitech-l/2007-November/035050.html
Andre Engels | 1 Dec 2007 22:15
Picon

another ifexists problem

I'm 'doing' disambiguation pages on the Dutch Wikipedia at the moment,
but I found that there are disambiguation pages that are shown as
linked when they are not. After some checking, I found that it is
caused by templates like the Dutch [[Sjabloon:Districtlink]]

{{#ifexist: {{{1}}} (district) | [[{{{1}}} (district)|{{{1}}}]] |
{{#ifexist: {{{1}}} | [[{{{1}}}]] | {{{1}}} }} }}

Apparently, when the template is put on the page, [[X (district)]]
does not exist, but [[X]] does exist. Later [[X]] is changed into a
disambiguation page and [[X (district)]] is created. However, the
links table is not updated in this case. Is there a way to force an
update of the links of a set of pages to be forced (or at least put in
the job queue)? In the past this could be done with a touch
(zero-edit) on the page, but that doesn't seem to work any more.

--

-- 
Andre Engels, andreengels@...
ICQ: 6260644  --  Skype: a_engels
Platonides | 1 Dec 2007 22:33
Picon

Re: another ifexists problem

Andre Engels wrote:
> I'm 'doing' disambiguation pages on the Dutch Wikipedia at the moment,
> but I found that there are disambiguation pages that are shown as
> linked when they are not. After some checking, I found that it is
> caused by templates like the Dutch [[Sjabloon:Districtlink]]
> 
> {{#ifexist: {{{1}}} (district) | [[{{{1}}} (district)|{{{1}}}]] |
> {{#ifexist: {{{1}}} | [[{{{1}}}]] | {{{1}}} }} }}
> 
> Apparently, when the template is put on the page, [[X (district)]]
> does not exist, but [[X]] does exist. Later [[X]] is changed into a
> disambiguation page and [[X (district)]] is created. However, the
> links table is not updated in this case. Is there a way to force an
> update of the links of a set of pages to be forced (or at least put in
> the job queue)? In the past this could be done with a touch
> (zero-edit) on the page, but that doesn't seem to work any more.

Doesn't a purge on the page containing the template fix it?
Andre Engels | 1 Dec 2007 23:01
Picon

Re: another ifexists problem

2007/12/1, Platonides <Platonides@...>:

> Doesn't a purge on the page containing the template fix it?

Doesn't seem to work, no. At least, a purge on [[nl:Geesthacht]] is done through
http://nl.wikipedia.org/w/index.php?title=Geesthacht&action=purge
right?

--

-- 
Andre Engels, andreengels@...
ICQ: 6260644  --  Skype: a_engels
Thomas Dalton | 1 Dec 2007 23:59
Picon

Re: another ifexists problem

> Apparently, when the template is put on the page, [[X (district)]]
> does not exist, but [[X]] does exist. Later [[X]] is changed into a
> disambiguation page and [[X (district)]] is created. However, the
> links table is not updated in this case. Is there a way to force an
> update of the links of a set of pages to be forced (or at least put in
> the job queue)? In the past this could be done with a touch
> (zero-edit) on the page, but that doesn't seem to work any more.

Looks like it's working fine to me... in the example you gave, the
(district) page exists, and is linked to... Can you give an example of
a page that isn't working?
Tim Starling | 2 Dec 2007 00:26
Picon

Re: another ifexists problem

Andre Engels wrote:
> I'm 'doing' disambiguation pages on the Dutch Wikipedia at the moment,
> but I found that there are disambiguation pages that are shown as
> linked when they are not. After some checking, I found that it is
> caused by templates like the Dutch [[Sjabloon:Districtlink]]
> 
> {{#ifexist: {{{1}}} (district) | [[{{{1}}} (district)|{{{1}}}]] |
> {{#ifexist: {{{1}}} | [[{{{1}}}]] | {{{1}}} }} }}
> 
> Apparently, when the template is put on the page, [[X (district)]]
> does not exist, but [[X]] does exist. Later [[X]] is changed into a
> disambiguation page and [[X (district)]] is created. However, the
> links table is not updated in this case. Is there a way to force an
> update of the links of a set of pages to be forced (or at least put in
> the job queue)? In the past this could be done with a touch
> (zero-edit) on the page, but that doesn't seem to work any more.

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}} }}

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.
(Continue reading)

Thomas Dalton | 2 Dec 2007 00:33
Picon

Re: another ifexists problem

> 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}} }}
>
> 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.

Ah, I see the problem now. Is a whole new table really required? Can't
#ifexist just be made to update the links table?
Tim Starling | 2 Dec 2007 05:45
Picon

Re: another ifexists problem

Thomas Dalton wrote:
>> 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}} }}
>>
>> 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.
> 
> Ah, I see the problem now. Is a whole new table really required? Can't
> #ifexist just be made to update the links table?

Having a whole new table which triggers link table updates (like 
templatelinks), but triggers only on creation or deletion and not change 
(like pagelinks) is the easy way to solve this problem. There are more 
general solutions, but they're more complicated.

-- Tim Starling

Gmane