An Introduction to Wiki
What is Wiki?
A Wiki is a Web-based
collaboration platform that "lets you and all other users
write, place pictures and post links, anywhere on any page". In most
cases, this means that anyone can edit anything.
And you can do this through the web interface without the need for additional
software, learning HTML, or waiting for a designated webmaster to upload your
files.
The "Writable Web", that is, the ability for anyone to write on
any page, can be liberating. It can also be scary or
intimidating. For those who lean toward "scary", you'll be pleased to
learn that many Wikis are backed by version
control (e.g. RCS). So, even if you think you broke something,
you (or someone else) can fix it.
Wiki Uses
At first glance, a Wiki site looks and feels like any "normal" web site.
However, a Wiki site also has an
Edit link at the bottom of every page (topic). Readers of the page
can modify it or add content directly through their browser. In fact, some features, such as tables,
don't even require the use of the Edit link to add content.
Wiki can be used to provide many solutions
for information collection and presentation, including:
- as a replacement (or augmentation) for a traditional web site
- to update content "in real time" without waiting for a webmaster
- as a document management tool
- to collaborate on projects, documents, and goals
- as a knowledge base or FAQ system
- to design and document software products
- as a company internal message board
- to develop and demonstrate new web-based applications
Wiki can enhance the quality and quantity of available information
by improving the ability of many people to collaborate on documenting and
sharing what they know.
Wiki at Your Company
At this point, you might be saying "We have an Intranet. What added
value does Wiki provide for me, my team, or my company?"
While it's true that you already have an Intranet with considerable
available information, you can use Wiki to improve your pages, making that
information more readily accessible to everyone.
Wiki "lowers the bar" for everyone in creating new web pages or
modifying existing content. Content providers (that's you)
can concentrate on content rather than style and still get the benefit of
a clean, consistent look. The basic format of pages has already been
handled in templates and "skins", leaving you free to worry about the
information, not the placement of the company logo!
Strong Contenders for Wiki Use
Some of the possibilities for Wiki use include:
- Keeping tabular Intranet data up-to-date, e.g. internal telephone lists,
current project status, product history, etc.
- Creating and storing How-to's
tutorials, and other small, but nevertheless important, documents.
At one job I worked, we had a major increase in the number of engineers
who started
creating How-to documents when we moved the development web into CVS.
Think how much more material we might get if creating and editing
documents was even simpler for everyone.
- Posting timely company news updates
- Providing important and/or urgent "Company Status" messages
(plus, all users could receive email notification when the page changes!)
e.g.
10/22/2004 All services restored following planned power outage.
- Managing periodically updated lists of links.
- Managing the top level Company Intranet index page.
(If you're concerned, authorization can be tightened as desired to restrict
access to a smaller group of people).
- Managing Group home pages to
share status, planning, and team data.
- Making "personal" home & project pages so simple to create
that no one will think twice about creating one.
Some (probably) Less Likely Candidates for Wiki
It's only fair to ask (and answer) the question, "What wouldn't we put into Wiki?"
Wiki is not optimal for everything. Even the Web is not a perfect
solution for every problem. If there's a better, more appropriate, or
more specific tool for a job, we'll use it.
We won't be replacing email with Wiki (or any other form of web-based
communication) any time soon. We're also unlikely to start using Wiki
for
- Bug reports
Bugzilla (or a similar issue-tracking solution) is optimal here.
- CVS we can expect to be checking code in and out of CVS
(or another code versioning system) for the foreseeable future.
- Design Specs & Product Requirements documents
Some teams use Wiki for design specs. Others are not.
Many people prefer such documents to be stored as easily accessible,
individual file, under version control; they prefer those documents to be
made readily available via CVS update on their local filesystem.
Other people enjoy the ease of Wiki editing.
People also
differ in how they want to write their design documents, e.g. by using
plain text, on-the-fly HTML (i.e. Wiki), "raw" HTML with CSS,
MS Word, PDF, or solutions such as DocBook.
We'll most likely see design specs and other documents being
created outside the
Wiki (as well as inside the Wiki) for a long time to come.
That said, remember that many Wikis make it easy to attach any sort
of document to any page, with the simple click of a mouse.
Also, Wiki
being Web technology, you can link between pages with ease.
Finally, some Wikis (e.g. TWiki) allow you to include attached HTML
or text files inline, as if they had been typed into the Wiki itself.
So, even
if your documents are written and stored outside of the Wiki, they can
still be made available via the Wiki. That's what counts
most.
The Wiki concept was developed by
Ward Cunningham
as "the simplest online database that could possibly work".
The first Wiki site was created for the Portland Pattern Repository in 1995; it's still in use.
According to Ward Cunningham:
Wiki is a piece of server software that allows users to freely create and
edit Web page content using any Web browser. Wiki supports
hyperlinks and has a simple text syntax for creating new pages and
crosslinks between internal pages on the fly.
Wiki is unusual among group communication mechanisms in that it
allows the organization of contributions to be edited in addition to
the content itself.
Like many simple concepts, "open editing" has some profound and
subtle effects on Wiki usage. Allowing everyday users to create and
edit any page in a Web site is exciting in that it encourages
democratic use of the Web and promotes content composition by
nontechnical users.
There are many Wiki Engines (software
based on the
Wiki Principles)
and many Wiki clones.
For corporate Intranet use, I recommend
TWiki.
TWiki was developed by Peter Thoeny.
The initial TWiki installation dates from 1998.
TWiki inherits from JosWiki, another Wiki clone that was in use at the Free
Java OS (JOS) web site. TWiki is implemented as a Perl CGI script which
reads a text file, hyperlinks it and converts it to HTML on the fly.
Today, TWiki is successfully being deployed on many corporate intranets
(TWiki targets the corporate intranet world). Many
sites prefer TWiki because it is more user friendly than certain
commercial groupware systems such as Lotus Notes. There are several
thousands of downloads from companies with the intention of installing
TWiki behind a firewall.
TWiki Features
In addition to the typical
collaboration and editing capabilities found in all Wiki
installations, TWiki provides:
-
Full text search with/without regular expressions.
- Automatic email notification when something has
changed in a TWiki web.
- File attachments: Upload and download any file
as an attachment to a page.
- Revision control: All changes to pages and attachments
are tracked.
- Access control,including the ability to define
groups and impose fine grained read and write access
restrictions based on groups and users.
- Variables (for dynamic composition of pages).
- Server side Plugin modules
- A flexible templating system that separates program logic
and presentation.
- "Skins"
- Support for tabular data; table rows can be added
trivially, without using the Edit capability.
- Pages can be edited, renamed, moved or deleted through
the browser.
- Web based user registration and change of password.
- Three levels of preferences: site-level, web-level, and
user-level.
- Topic locking: To prevent contention, users are warned
if a page is being edited by an other person.
|