Alex Z. <> changed:

           What    |Removed                     |Added
                 CC|                            |

--- Comment #1 from Alex Z. <> 2011-01-18 06:43:58 UTC ---
There's a lot that could be done to improve the citation templates that doesn't
require modifying the software. 

Most (probably 90% or more) citations don't need half of the fields offered by
the citation templates. If a simple form of the common templates was created
that only included the most commonly used fields (and didn't use the bloated
{{citation/core}} meta-template), there would likely be a major increase in

I'm actually working on this myself, but it'll be a while before I get anything
done. I have some data on parameter usage, but its still pretty raw and needs
some cleanup and interpretation. 

Basically, the problem is that they're just big. They don't do anything
especially fancy. They don't even use the oft-maligned string manipulation
templates. Citation/core is over 25 kB and has almost 250 "if" statements in
it. Take that and multiply it by 300 or more for some articles. 

The only thing that could really make the templates as-is work faster would be
to somehow make the parser faster (extremely difficult) or just throw servers
at the problem (extremely expensive). The options that I can see are:
A. Make the templates themselves more efficient (i.e. less bloated).
B. Implement the templates in PHP and replace the wikitext with an extension.
C. Use something other than wikitext to program templates, like a real
programming language.

While personally I think C is the best, that currently doesn't look like its
ever going to happen. A is probably the easiest. B would likely produce a
bigger improvement. The main downside to B is that it means any edit to a
citation template will have to be done through Bugzilla and might take forever
to get done.

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

Wikibugs-l mailing list

Reply via email to