CZ:Article structure

From Citizendium
Revision as of 16:25, 17 April 2008 by imported>J. Noel Chiappa (→‎Metadata contents: Use form with how-to-use)
Jump to navigation Jump to search

An article (or cluster, to give it its technical name on Citizendium) consists of a set of MediaWiki pages. Almost all of these pages are in the main 'article' namespace.

There is one main page, where the main text of article is to be found, and a number of subpages which are associated with the article, and logically are parts of it. These subpages contain ancillary material which we don't wish to clutter up the main article page with, such as lengthy bibliographies, advanced material which will only be of use to specialists, etc. A header on ever page which is part of a cluster allows easy navigation among all the (sub)pages which are part of the cluster.

Subpages

A subpage is basically just a ordinary MediaWiki page with a "/" in its title. Subpages, which have names of the form "Foo/Bar", are all associated with a particular top-level page, which is the one with the name consisting of the part of the subpage's name before the "/" (in this example, "Foo"). (And of course the process is recursive, so that "Foo/Bar/Zap" is a subpage of "Foo/Bar".)

Other than being related to a particular top-level page, there is almost no real difference in how they are actually handled by MediaWiki. (See this page for more details. In fact, depending on how MediaWiki is configured, and which namespace they are in, the MediaWiki software may not even recognize subpages at all in that namespace.)

On Wikipedia, sub-pages are turned off in their main 'article' namespace. As we developed the subpage structure of Citizendium, it became clear that for technical reasons which need not concern us here, it would not work without subpages being enabled in the main namespace.

One advantage Wikipedia gains by having subpages turned off in the main article namespace is that it makes it easier to use a backslash in an article name, where that would be natural (such as Apollo Command/Service Module). In Citizendium, to make our current subpage mechanisms work, we have to make such page names into redirects; for example, GNU/Linux.

For more about subpages, including a list of the currently defined standard subpages, see CZ:Subpages.

Metadata

There is one subpage which is not like the others; it's called the metadata, and it contains material which is not displayed to users, but rather used internally to Citizendium, to contain information about the article (hence its name). In addition to containing information which Citizendium uses to tie together all the subpages with the main article page, it also tracks things like the article's quality, which workgroups are responsible for it, etc.

Metadata contents

Here is a list of the fields in the metadata:

Template:Checklist doc

A detailed explanation for each of the field is available here.

Metadata implementation

The current instantiation (briefly) is that the metdata is a template (i.e. a piece of MediaWiki markup which is transcluded ( i.e. copied over) into every page which uses the template). Any page that needs access to any information which is kept in the metadata simply transcludes the template which holds the metadata. The metadata is kept (because it's a template) in the Template: namespace (which is where all templates normally live); specifically, for article "Foo", the metadata is at "Template:Foo/Metadata".

Subpages implementation

Every (sub)page which is part of an article contains at the top a call to the {{subpages}} template. That template generates the navigation header at the top of the page, etc. See CZ:Using the Subpages template for more information.

See also