* Magnus Manske <magnusmanske(a)googlemail.com> [Sun, 23 Jan 2011 00:38:53
+0000]:
On Sat, Jan 22, 2011 at 10:09 PM, Platonides
<Platonides(a)gmail.com>
wrote:
> Krinkle wrote:
>> So PHP would extract {{#author:4}} and {{#license:12}} from the
>> textblob when showing the editpage.
>> And show the remaining wikitext in the <textarea> and the author/
>> license as seperate form elements.
>> And upon saving, generate "{{#author:4}} {{#license:12}}\n" again
and
> prepend to
the textblob.
>
> Double instances of these would be ignored (ie. stripped
automatically
>> since they're not re-inserted to
>> the textblob upon saving).
>> One small downside would be that if someone would edit the textarea
>> manually to do stuff with
>> author and license, the next edit would re-arrange them since
they're
>> extracted and re-insterted
>> thus showing messy diffs. (not a major point as long as it's done
>> independant from JavaScript,
>> which it can be if done from core / php).
>>
>> If that's what you meant, I think it is an interesting concept that
>> should not be ignored, however personally
>> I am not yet convinced this is the way to go. But when looking at
the
>> complete picture of up/down sides,
>> this could be something to consider.
>>
>> --
>> Krinkle
>
> That's an alternative approach. I was thinking in accepting them
only
at
the beginning of the page, but extracting from
everywhere is also an
alternative.
OK, my 2 cents:
I would be in favour of extracting data from the {{Information}}
template via the parser, but we talked about this over a year ago at
the Paris meeting, and it was deemed too complicated (black caching
magick etc.), and noone has stepped forward to do anything along those
line, so I guess it's dead and buried.
Things like {{#author:4}} seem to be a nice hack to Get Things Done
(TM). As was mentioned before, the temptation is great to expand it
into a generic triplet storage a la Semantic MediaWiki, but that would
probably complicate things to an extend where nothing gets done,
again.
But one thing comes to mind: If someone implements an abstraction
layer ("4" to a specific author) anyway, it should be dead simple to
use it for tags as well. Just allow multiple {{#tag}}s per page (as
opposed to {{#author}}), done. The same code that will allow for
editing author and license information centrally should make it
possible to edit tag information, i18n for example, so the tag display
could be in the current user language (with "en" fallback). Search for
tags i18n-style could be possible as well, if the translation
information is encoded machine-readable as well, e.g. as language
links ([[de:Pferd]] on the [[Tag:Horse]] page).
You are correct - triplets definition are always meant to be as much
generic as possible, something like categorizing or tagging. It is
better to define them separately from templates and to include the
references to their values in the template. Such way it would not
complicate the parsing too much. Although one might want to have a fancy
visual forms to edit these, that probably brings caching issues?
It might be too much to try to activate all of that in
the first
round, but IMHO the code should keep the use as tags in mind; it would
be dreadful to waste such an opportunity.
Dmitriy