TinyWiki
has some lessons here. It was created to house
Perl Design Patterns, so the end goal is a book-like document.
Like a Wiki or like the Everything Engine, it is composed of
nodes. The standard Wiki idiom of category membership was
barrowed, to good effect. The
original Wiki, Ward's Wiki
uses this. Wiki automatically creates links at the
mention of a known compound word, and Wiki will tell you
all of the pages linking to a page. By linking to a
category index, people may link back from that category
index to everything that links to it.
TinyWiki has
an assemble.cgi script that attaches all referenced nodes
from one node to the end of that node. Essentially,
the starting node is the table of contents for a book,
or a chapter, or some other document. It has no role
but to list which nodes, and in which order, nodes
should compose a book.
Recent edits has proven critical for Wikis as well. TinyWiki's
lists all nodes last edits. This lets maintainers work
both directions - update the least recently edited nodes
and the most recently edited nodes - to bring things
up to date or refactor them, and to answer questions and
check peoples editorial work.
Refactoring is important. It is vital. An old page that
duplicates the contents of a newer page may have the
newer page merged in, or it may be merged into the newer
page. Things are transient in a Wiki. Nothing is permenant.
People contribute knowing that eventually their ideas
are just fodder for something larger. In terms of an
information system, redundancy is bad.
Cross referencing. Each new node links to related nodes
by mention of keywords, but it requires attention from
people who know their way around the site to edit old
and new nodes and improve this cross referencing. If
nodes don't link to related nodes, navigation is
impossible. I find browsing Wards Wiki a great way to
pass time, but leaving the beaten path of the home
page on PerlMonks, and you're instantly in no-mans land.
Mechanisms help the process, but ultimately it boils
down to, as Ward puts it, careful attention to detail.
-scott