The Wiki Concept

The core wiki concept circles around the idea to utilize a minimum set of functions. Only the functionality should be implemented that is necessary to make a web collaboration tool practical and easy to learn and use. It means to create a tool as simple as possible, both in code and user interaction.


1. Addressing


In a few words, if someone editing a wiki page writes a "WikiName" (consisting of an upper-case letter followed by one or more lower-case letters, another upper-case letter, and zero or more lower-case letters), then if a page of that name exists in the wiki, then a link will appear when the edited page is displayed. Otherwise, a question mark will be displayed next to the name; clicking on the question mark will bring up an editor that will allow the user to add content and save it, thereby creating the page.

1.1. Wiki Addressing


All WikiNames in the system are automatically linked in the text.

1.2. InterWiki Addressing


With the aid of the list of external URLs, it is possible to link to pages on other wikis and web sites. Any reference of the form "ExternalSite:Destination" will automatically link to the appropriate page of the external site. Example: Google:search.

2. Formatting concept


Formatting in wiki follows the principle of WYTIWYG (what you think is what you get), and consists of a pseudovisual markup.


For example, the following:

this
  * test
  * test1

is displayed as

  • test
  • test1

while

this
  1. test
  1. test1


is displayed as

  1. test
  2. test1

3. Authorship concept

3.1. Multiuser Access


Well, what can we say? Double-click anywhere here and start editing this page.
You can even save your changes. So, how does one deal with vandals?

3.2. Version control and diff


Version control turns out to be an excellent defense against vandals (and is pretty useful on its own, too). Every version of a page is saved in the database and you can view the difference between any two versions


How can all this be used?

4. Methods of Use


  1. Collaboration for 
    • documentation (and its presentation format)
    • texts (books, articles) (and the format of a hyperbook)
    • what else?
  2. Managing ToDo lists
  3. Creating web sites
  4. Organizing one's thoughts
  5. Learning how to use real hypertext
  6. (see Patterns [Russian])

5. Wiki Technology

Wiki is a technology for gathering and structuring information into a wiki site based on the wiki markup language, using a wiki engine and characterized by:


  • Separation of information into hyperlinked pages, where each has its own name;
  • multi-authoring (wiki pages can be edited by all resource visitors);
  • the possibility of multiple edits of the text without the use of special tools on the editor's side;
  • manifestation of changes immediately after their introduction;
  • Save versions and the ability to roll back to earlier versions.

The wiki technology allows each user to participate in the development of the content of the Internet project as a full-fledged author and editor – on a par with the administration.


To do this, the user gets the technical opportunity to make changes to the pages of the site without having special technical knowledge and skills.


You can edit the content of the wiki-site with simple and intuitive wiki-markup or with the help of function buttons.


Technology Wiki assumes that the visitor wants to bring the project a benefit, not harm.


Protection from destruction and damage to materials is ensured by the preservation of all changes that have occurred with all articles since they were created. At any time you can compare the version of the article, if necessary, correct the page or return to the old version.


To fix the damage in the wiki environment is easier than to apply it.

6. Wiki Markup Language


Wiki – the language of hypertext markup of documents, the most simple and "human readable" way of text structuring.


Wiki markup allows you to:

  • to structure sections, paragraphs, lists and other elements of the document
  • Define and customize hyperlinks to images, media files, other pages, including non-existent articles.
  • use Interwiki (a special way of linking to friendly wiki projects by installing before the article title of the resource prefix)
  • select and format paragraphs, tables, lines, symbols, quotes, etc.
  • use the markup language LaTeX to work with complex formulas
  • insert special symbols (Greek letters, signs of operators, relations, punctuation, commercial, symbols with diacritical signs, etc.)
  • Limited use of JavaScript and CSS (Cascading Style Sheets).

If HTML encoding forbids links to non-existent pages, then in the wiki this is the only way to create new records. In order to create a new record, you first need to specify in the text a link to this, as yet non-existent record.


Wiki markup, being simple for human perception, is complex for formal description (much more complicated than XML or programming languages).


There are no standards for wiki markup, and every wikiware developer comes up with his own, incompatible with others, dialect.

7. FAQ 

7.1. What does "Wiki" mean?


"Wiki wiki" is a Hawaiian word meaning "quick."

7.2. I still don't understand: What's the point of using a wiki?


The point is this:

  1. you can create an environment for collecting and organizing knowledge
  2. you can use an environment that is convenient to collaborate on documents and todo lists
  3. you get an environment that allows convenient intersection of contexts (see: classical hypertext)

7.3. Still, what does a wiki SPECIFICALLY do? What do I get if I set up a wiki and use it for the first time?


You get a wiki site with a minimum set of pages. It won't do anything except serve visitors with that minimum set of pages and give them the ability to edit them and create new pages.

7.4. Oh yeah? How does that happen? Everyone can create their own content?


That depends on the settings.


There were no restrictions in the original implementation of the wiki concept: anyone could change anything. This is of limited utility in real life, and wacko provides for flexible management of reading and writing rights.


By default, everyone can create pages.


But you can change the default, either for the entire wiki or on a page-by-page basis.

8. Interesting links


P.S. You really didn't address the issue of vandals. How do you deal with them?

  • allow only registered users to make changes to content
  • restore vandalized pages (the old content is still in the database).

P.P.S. So it turns out that users have complete control over content?

  • To a great extent, yes, but not entirely. You can always "roll back" content to fix improper changes.

P.P.P.S. OK, so let's assume you're inundated with vandals and hooligans. The wiki will simply be paralyzed.

  1. You won't be able to roll back over "improper" changes, because there'll be so many of them.
  2. You won't be able to make "proper" changes, because they'll be lost in the flood of "improper" ones and will end up getting thrown out with the latter.

RomanIvanov: In practice, this hasn't happened. If this happens, I know a number of ways to deal with it. For example, limit access to the content being vandalized only to registered users, or perhaps an even narrower group.


AlexLane: The P.P.P.S. assumes long-term coordination and cooperation among the bad guys, which is hard to sustain for any time. Additional information that addresses this issue is set forth in Wiki:WhyWikiWorks. Plus, vandalism isn't the only thing that can bring a site down to its knees... just getting mentioned in Slashdot is enough!