Best Practices

This wiki page documents 'best practices' for Iron Giant template sites. These practices are not rules but guidelines. The goal is to get consistent user interfaces where possible. Site creators will in any case modify and customize their sites.

If you modify any of these best practices, please apply your changes to all Iron Giant template sites.

To discuss, please use the Forum link above.


At least initially, template sites should be open to all members and the MA should rapidly promote known editors to admin status. This encourages consistency as errors will be spotted and fixed directly.

Currently, the MA for most Iron Giant sites is pieterh. This is not an obligation, but MAs are ultimately responsible for the quality and consistency of their sites.

Site layout

The default template should be used for new template sites and it provides a guideline in case of doubt.

By default all sites have a top menu and side menu, and a single column of main content.

Top menu

The top menu follows this example layout:

* [/ Home]
* [[[Gallery]]]
* [# Admin]
 * [[button edit text="Edit page"]]
 * [[button print text="Print page"]]
 * [/nav:top/edit/true Edit this menu]
 * [/nav:side/edit/true Edit side menu]
 * [/system:list-all-categories Page categories]
 * [/system:recent-changes Recent changes]
 * [/admin:themes Change theme]
 * [/admin:manage Manage site]
* [# Help]
 * [/help Wiki syntax]
 * [/modules-reference Modules reference]

It always ends with Admin and Help. The Admin submenu should start and finish as shown here. Here is a variation from the forum template:

* [# Admin]
 * [[button edit text="Edit page"]]
 * [[button print text="Print page"]]
 * [/nav:top/edit/true Edit this menu]
 * [/main:list-pages Edit other pages]
 * [/system:list-all-categories Page categories]
 * [/system:recent-changes Recent changes]
 * [/admin:themes Change theme]
 * [/section:_admin Manage forum]
 * [/admin:manage Manage site]

Note that this template has multiple side menus and these are grouped in "Edit other pages". There are other "Manage" options that come before "Manage site".

Again, the goal is to put expected actions (Home, Edit page, Print page, Manage site, Change theme, Help) in consistent places.

Side menu

The side menu follows this example layout:

[[module NewPage size="20" button="New page"]]

**[/legal:start Legal] | [/about About] | [/contact Contact]**

[[button tags text="Tags"]] | [[button edit text="Edit"]] | [[button source text="Source"]] | [[button print text="Print"]]

If there are too many main pages (About, Contact,...) to list these can be moved into a Pages drop down in the top menu.

**Page tags**

[!-- Navigation area --]

[[module TagCloud minFontSize="80%" maxFontSize="200%"  maxColor="8,8,64" minColor="100,100,128" target="system:page-tags" limit="30"]]

[!-- Google translate from English (see 'up_source_language=en' below) --]
<script src=""></script>


[[module Watchers]]

Depending on the application you may extend the navigation area, and make other changes. However, when you use any of these elements, try to get them in the same place. The Google translate box may not be useful on some sites.

Spelling and language

Iron Giant sites can be in any language. If English, we will use US English. Menu options are capitalized. Page titles are capitalized according to the language rules.

Standard pages

  • /help - copied from the default template. We need to get a cross-site include function. For now, the authoritative version of the help page is on the default site template.
  • /system:list-all-categories - lists categories. This page contains just [[module Categories]].
  • /admin:themes - defines the custom theme and allows selection by color.
  • /search:site - contains additional help (from

Use of Parent Pages

Where possible, parent pages should be properly set and users should get NewPages prompts where needed to create new pages with correct parents.


The preferred themes for Iron Giant site templates are the rainbow set. This is just for consistency.

We manage custom themes using the technique explained on the blog.

The default theme for the admin and system categories is and this is defined explicitly as an external theme for the admin and system categories. Template sites with functional themes (e.g. the Wikipedia clones) can use the same theme for all categories.


All templates intended for use as public sites with contributions (even comments!) should use the legal package. Templates for private sites do not need this.

Default _templates

If no other category template is used, this one moves the page actions out of the way:

[[div style="min-height:600px""]]

Planned / wishlist

  • Use cross-site includes to take all standard pages (help, page-manager) from the default template.


  • Includes should follow the usual naming convention include:this when the include is to be reused across categories
  • Includes should be self explanatory, i.e. in comments, there should be examples of typical usage:

[[@@include include:this | param1 = value1 | param2 = %%variable%% ]]

Hidden pages

Hidden pages should be titled category:_pagename so that they can be distinguished in lists.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License