<anotherReallyGreatIdea>
I have noticed that the LanguageLinks, while working great, start looking a little odd in the articles; they are also hard to manage once the need arises, and it will, as soon as more wikipedias are switched to the new software. LanguageLinks should then be cross-checked and maintained (semi-)automatically; otherwise, they might drift into utter chaos.
Now, if anyone read my recent mail on wikipedia-l ("And now for something completely different"), I actually argued for *even more* links like that, for "technical categories" so to speak, like "biography" etc.
So, why not add a new field to the database, for each article, where LanguageLinks and the like can be "collected"? Just another text field on the edit page, it could be parsed on each Save into a more machine-readable style, and be "regenerated" into text for editing. Such a field could well hold "This article is based on..." information as well. And it could store tags like "stub", if we want to.
</anotherReallyGreatIdea>
Magnus
On Sun, Sep 08, 2002 at 06:16:08PM +0200, Magnus Manske wrote:
So, why not add a new field to the database, for each article, where LanguageLinks and the like can be "collected"?
Please put the language links in a separate table, otherwise you are violating the first normal form of database design theory. Any introductory text on database design will tell you why that is bad.
I like the idea of links for categories ('biography', 'country', 'mathematical theorem', 'book', 'movie', ...) by the way.
-- Jan Hidders
Jan Hidders wrote:
Magnus Manske wrote:
So, why not add a new field to the database, for each article, where LanguageLinks and the like can be "collected"?
Please put the language links in a separate table, otherwise you are violating the first normal form of database design theory. Any introductory text on database design will tell you why that is bad.
I doubt that many of us have such a text in their libraries. OTOH Wikipedia is a real database rather than a theoretical one so the rules for theoretical databases shouldn't apply. :-)
Eclecticology
Please put the language links in a separate table, otherwise you are violating the first normal form of database design theory. Any introductory text on database design will tell you why that is bad.
I doubt that many of us have such a text in their libraries. OTOH Wikipedia is a real database rather than a theoretical one so the rules for theoretical databases shouldn't apply. :-)
IMHO, a separate *database* would be even better than a separate *table*. The database would then consist of a single table, with items like : lang_from, lang_to, title_from, title_to
If we'd store the language links in the "source" language database, cross-referencing would have to compare two different databases. I am uncertain if that can be done in a single SQL request; probably not. Think of "all articles that link to the en: wikipedia, but are not linked back from there". How would you do that if your links are scattered in two dozen different databases?
Comments from the database wizard? :)
Magnus
wikitech-l@lists.wikimedia.org