Series of articles

From Meta, a Wikimedia project coordination wiki

This is about enhancement of the wikipedia navigation through series of articles. what is a series of articles?

The idea is to add a navigation table to articles that are connected connected how? together with a root article. Kind of a 'what links there?' feature but shown in the which? article and managed by humans.

Note: This feature has been implemented. See #Transclusion (current method) and Help:Template#Navigational_templates

How it shows[edit]

I firstly found it on the Wikipedia:History of Germany article. The history of Germany is subdivided using seven period of time:

  • Franks
  • Holy Roman Empire
  • German Confederation
  • German Empire
  • Weimar Republic
  • Nazi Germany
  • Germany since 1945

The "History of Germany" article being the root.

Currently (November 2003) the root article's navigation bar appears thus:


 This article is the top of the
History of Germany series.
Franks
Holy Roman Empire
German Confederation
German Empire
Weimar Republic
Nazi Germany
Germany since 1945

And this is how the child "Weimar Republic" looks:

 This article is part of the
History of Germany series.
Franks
Holy Roman Empire
German Confederation
German Empire
Weimar Republic
Nazi Germany
Germany since 1945


If one visits the article about the [Wikipedia:Weimar Republic] period, the root article "History of Germany" can be easily accessed using the navigation table.

Suggested Methods of Automation[edit]

Transclusion (current method)[edit]

A rather elegant modification to the Wikipedia trasclusion mechanism was made on (??? date ???) which has the side-effect of automating the series or articles. Whenever some transcluded text (the {{msg:foo}} messages) includes links, any link to the current article is replaced by bolded text. This entails no modifications to the database or special tags, but allows series of articles to managed directly with the use of MediaWiki namespaces.

Special tag[edit]

We can use special wiki tag just like we do for interwikis links. We will have to define a "root article" tag and a "child article" tag.

Let's see a possible implementation using the "History of Germany" series.

The "History of Germany" article will have:

child:Franks child:Holy Roman Empire child:German Confederation child:German Empire child:Weimar Republic child:Nazi Germany child:Germany since 1945

And each child will have a tag to its parent for example "Franks" will have a root:History of Germany tag.

This is a simple idea which is working well for the interwikis links However, IW links are a somewhat different concept. But can lead to additional load being generated on the server (that will need to parse the root article for all child when a child is accessed).

It is potentially confusing as it may be misunderstood to be an interwiki link. It also could cause inter-language problems, e.g. [[enfant:X]]. It is also a relative link which is completely unlike the other meaning of the syntax: Again, confusing.

Database layer[edit]

Another possible implementation is to use the existing link feature in the database. Some links can be defined as root or child. So, when the mediawiki parses an article for links, it could detect the root and child articles how would this work precisely? and generate the navigation table, as it already aparently does to create the "table of content" navigation bar.

Is this part of the database, DBMS or PHP script layer?

Relations table[edit]

Another possible implementation is to add a new table of relations between articles to the database. This can be used for Categories as well. The Wikitax representation of links (child, root, category...) will not be stored in the article text.

If you remove [[child:Frank]] in article "History of Germany", the link [[category:History of Germany]] will also be removed, so it does not matter where you edit it. Ordering of childs/instances/parts can be edited in the root/category-article.

This means that if I want to link the article I'm working on to a root article, I have to edit the root article. A bit unwiki, I think. Even though I might add a link in the root article to refer to the child I'm editing, I don't have to as one can look at "what links here". With this suggestion it seems to be manditory if the pages are to be consistent.

Potential uses[edit]

Wikibooks could benefit from some means of tying book chapters together. This might be a useful mechanism for automating that. There's no need for the wiki's structure to reflect that, except as a means of automating generation of contents pages as far as I can see.