2009/9/26 Brian <brian.min...@colorado.edu>:
> Roan, sorry that the idea is pretty hard to convey, I'll try again.
> The basic idea is that you can create templates using templates
> (just using current
> tech). It's easy, you just pass parameters to a template that control
> its output, and this
> output is a new template. The parameters that you passed determine what the
> new template looks like, and what it's output will be.
>
Right, so basically this is just templates calling other templates,
right? This already happens to some degree already.

> We can imagine a master template on Wikipedia that is used to generate all
> infoboxes. It could work in arbitrary ways, but suppose it works this way:
> The master infobox template creates a template for each wikiproject. The
> template that it creates for each wikiproject further creates templates
> representing every kind of infobox that this wikiproject uses. So you have a
> master template that creates baby templates that create infobox templates.
>
> Using current tech this isn't exactly feasible, only advanced users will do
> it since you have to directly interact with the templates and it would be
> tough to code up. But if you make such a feature highly usable, by, for
> example, tacking an easy to use interface on top of it, the usage of such
> techniques will proliferate.
>
To use the master infobox example: such a template would have about a
dozen usage modes, each with dozens of parameters. Such constructs are
actually /easier/ to call by hand than with a form, because you'd
either have to store all the relationships between the parameters and
usage modes in the XML file and let the form handle all that (which is
a degree of complexity I personally would not like to see in a
template forms implementation) or just throw a couple hundred
parameters in the user's face.

Also, this being tough to code up would not change: again, we're not
simplifying the *writing* of templates *themselves* in any way. The
fact that these templates include template calls doesn't change that,
because 1) you're gonna be using #if constructs all over the place
anyway, 2) you'd need to use stuff like {{{2|{{{1|}}}}}} as arguments
to template calls, which the GUI doesn't simplify and 3) if you're
skilled enough to do 1 and 2 and familiar enough with the templates
you're calling to be writing a master templates, you don't need an
editor or form to build the template calls for you.

> More general kinds of interface builders that build all imaginable kinds of
> interfaces are conceivable.
>
> Is this not possible within the scope of the suggested system?
>
Yes, but it's also possible within the scope of the current system.
You don't /need/ a template editor to be doing this kind of monkey
business. In fact, I think a template editor would actually discourage
these practices, because relatively unexperienced users must be able
to build a reasonable template call using the template editor. For the
latter to work out, templates need to be simpler rather than more
complex.

In short, I don't think introducing a template editor would encourage
master templates and similar complexification of templates; in fact, I
believe it will actually encourage simplification, because a
nice-looking GUI for a big incomprehensible parameter soup is worth
the soup.

Roan Kattouw (Catrope)

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to