What is a wiki?

A wiki (also called WikiWiki or WikiWikiWeb) is a collection of websites, which not only can be read, but can also be edited by the users directly and simply. wikiwiki is Hawaiian and means "fast".

The first WikiWikiWeb was developed and put into operation by Ward Cunningham in 1995. The idea of editable content in the World Wide Web dates from the original ideas of the inventor of the World Wide Web, Tim Berners-Lee.

The wiki-way

  • open and cooperative: on many sites, everyone may change everything.
  • simple and fast: you can enter and save any content, which is available at once. Content is more important than design.
  • safe: MoinMoin remembers all old page versions.

  • cross-linked: the information in the wiki is highly linked.
  • accessible: you only need a browser and a network connection to access the wiki.
  • flexible: in a wiki you can save many kinds of information, e. g. training courses, transparency lectures and brainstorming.

What is MoinMoin?

MoinMoin is software to run a wiki.

It is available under the GPL and implemented in the programming language Python. Contributions can be made by also using the GPL and Python.

Finding information

MoinMoin has many ways to find information in the wiki:

Searching

  • Search field in the navigation area on the top of the page

    • For a title search, type in the search keywords and hit "Enter" (or click on Titles).

    • For a full-text search, type in the search keywords and click on Text.

  • Menu item FindPage

    • Includes indexes of all pages sorted by page names and words in the page name.
    • Advanced search functions.

(!) The title search can also be used to quickly navigate to pages that you only roughly know the title of.

You can find further information on the help page HelpOnSearching.

Navigation in the wiki

Staying up to date

In a wiki, lots of things can change in a short time, since anyone can edit, add, or remove pages at any time.

For this reason you can easily follow these changes on the page RecentChanges.

Listed for every change is:

  • a link to a page showing differences.
  • a link to the changed page (as well as the information for this page).
  • when the change was made.
  • who made the change.
  • a comment made for the change.

(!) If you are logged in to the wiki, you can set a temporal bookmark using this page. In that case, the wiki will remember which changes you have already seen and will only display the new ones after that.

Creating a wiki account

Using a wiki is often possible without creating an account (this depends on the security preferences).

However, using the wiki with an account is easier and better, because you can:

  • set a temporal bookmark on RecentChanges.

  • customize and personalize the navigation.
  • set your time zone.
  • subscribe to pages and get informed when a change is made.
  • do much more.

To create an account, use the link you can create one now on login page. Then you will have to enter:

  • a name (it is a good idea to use FirstnameLastname).

  • a password (not too simple!).
  • the password again (to avoid typing errors).
  • an e-mail address (for notifications or if you forgot your password)

/!\ Then click on Create Profile. /!\

The account will be created and you can log in to the wiki using your user name and password.

(!) You are logged in if you see the user name in the navigation area.

User preferences

After account creation and login, you can change your user preferences and settings (click on the link Settings at the top of the page).

The default values should be fine for most of the preferences, but you might want to change:

  • the time zone (to convert the UTC time to your current time).
  • the size of the editor input box (depends on your screen resolution and font preferences).
  • maybe the preferred language (not necessary with a correctly configured browser).

Then click on the Save button at the bottom of the page.

Your own wiki homepage

After creating an account you can see your own name in the navigation area, which is linked to a page of the same title: your personal homepage!

If you click on this link, you can see one of the unique characteristics of wikis for the first time: instead of getting a 404 not found error when a non-existent page is called, the wiki helps you create the page.

After following the instructions displayed, the wiki will display a template of your own homepage in a form.

You can change this template, give an optional comment, and then save the page by clicking Save Changes.

The text editor

We just met it while creating your own homepage: the text-based editor of MoinMoin. You are, of course, not limited to only using it for that, because you can also use it to change any other page in the wiki.

You can do that simply by clicking on edit or edit (text) in the navigation area and MoinMoin will bring you to the text editor for the current page.

(!) You can't mess anything up, because the previous version of the page is always saved and can be restored if needed.

It is important to frequently use the preview function while editing a page, since using it will tell MoinMoin to create a backup of the editor's current content.

When you're done, you should enter an appropriate comment (which will then appear on RecentChanges and in the history of the page) and click save.

Should there be two people editing a page at the same time, the first person can save without problems. The second person will get a warning and should merge the first person's changes with his own. If you want to edit a page on your own, you should state that on the top of the page, so other people will read it.

(!) You should not go back to the editor page with the "back" button of the browser after editing, because this can lead to strange editing conflicts. Just use MoinMoin's edit button again.

If you do not want to save, but instead discard the changes, you should click cancel, so that MoinMoin knows that you are done editing the page.

Further information can be found at HelpOnEditing.

Hot keys

The usual hot keys work in the editor:

  • Shift + arrow for select

  • Ctrl + C for copy

  • Ctrl + X for cut

  • Ctrl + V for insert

  • Ctrl + Z for undo

  • Ctrl + Y for repeat (available only in case of no other edits occur since last undo)

Mouse

Of course you can also select with the mouse and use your browser's editing features.

  • (!) Linux and other UNIX OSes / X11: A left doubleclick selects and copies a word, and a click on the middle mouse key is insert.

Text layout with wiki markup

MoinMoin does not simply use HTML (the HyperText Markup Language usually used for websites), but its own, simplified MoinMoin Wiki Markup Language, MoinMoin's convention for the input of content1.

HTML

<h1>Headline</h1>
<p>This is a link to my own homepage: <a href="/FirstnameLastname">FirstnameLastname</a></p>
<p>A list:
<ul>
 <li>foo</li>
 <li>bar</li>
</ul>
</p>

MoinMoin wiki

= Headline =
This is a link to my own homepage: FirstnameLastname

A list:
 * foo
 * bar

(!) The MoinMoin wiki markup will be explained in more detail on the following pages.


Paragraphs

The simplest way to enter text into a wiki is similar to doing so in a a word processor.

You just start writing. :)

The only anomaly is that you have to hit "enter" twice for a paragraph:

Input in the editor form

First paragraph.
Still first paragraph.

Second paragraph.

Third paragraph.

Display

First paragraph. Still first paragraph.

Second paragraph.

Third paragraph.

Dividing rules

Input

First part.
----
Second part.

Display

First part.


Second part.

Headlines

Input

= First headline level with =-character =
== Second ==
=== Third ===
... (up to "Fifth")

Display

First headline level with =-character

Second

Third

... (up to "Fifth")

(!) If a headline isn't displayed correctly, it is usually because:

  • there are invisible (whitespace) spaces after the concluding =-character (they can be deleted manually or with "Remove trailing whitespace from each line" edit option).

  • the number of =-characters at the front and at the back doesn't match.

Lists

Bulleted

Input

My pets:
 * Dog
 * Cat
  * Mouse

Display

My pets:

  • Dog
  • Cat
    • Mouse

Numbered

Input

To do:
 1. Feed dog
 1. Feed cat
  1. Let out mouse

Display

To do:

  1. Feed dog
  2. Feed cat
    1. Let out mouse

(!) MoinMoin can count on its own!

(!) The number of leading spaces defines the hierarchical level of the list.

There are more examples of lists at HelpOnLists.

Text styles

Wiki markup input

Display

''accentuated (italics)''

accentuated (italics)

'''strongly accentuated (bold)'''

strongly accentuated (bold)

'''''bold italics'''''

bold italics

__underlined__

underlined

--(crossed out)--

crossed out

`monospace`

monospace

(!) More at HelpOnEditing.

Tables

Simplest table

 || one || two || three ||
 || four || five || six ||
  • one

    two

    three

    four

    five

    six

General table layout

 ||||||<tablewidth="80%">'''Headline'''||
 ||Cell 1||Cell 2||Cell 3||
 ||<rowspan=2> Two lines||||<bgcolor="#AAAAFF"> Two columns||
 ||<rowbgcolor="#FFFFAA">Cell 2||Cell 3||
  • Headline

    Cell 1

    Cell 2

    Cell 3

    Two lines

    Two columns

    Cell 2

    Cell 3

Cell width

 || Narrow ||<:99%> Broad ||
  • Narrow

    Broad

Spanning rows and columns

 ||<|2> 2 lines || line 1 ||
 || line 2 ||
 ||<-2> line 3, 2 columns broad ||
  • 2 lines

    line 1

    line 2

    line 3, 2 columns broad

Alignment

 ||<(50%> left ||<^|3> up ||<v|3> down ||
 ||<:> mid ||
 ||<)> right ||
  • left

    up

    down

    mid

    right

Colors

 ||<#FF0000> red ||<#00FF00> green ||<#0000FF> blue ||
  • red

    green

    blue

Wiki internal links

One of the most important features of the wiki is the internal linking to other wiki pages, therefore it is quite simple.

WikiNames ("CamelCase")

If you WriteWordsTogether like FistnameLastname or CamelCase or MoinMoin, so that there are at least two changes between capital letters and lower case letters, MoinMoin will automatically link this word to the page of the same name.

This is quite simple, because wiki markup isn't necessary. But the unusual syntax isn't everyone's cup of tea, so there is one more alternative, the so-called "free link".

Input

CamelCase !CamelCaseButNotLinked

Display

CamelCase CamelCaseButNotLinked

If you want to link pages, which aren't in CamelCase or if you just don't like CamelCase, you can also link this way:

Input

A [[free link]] and [[other page|another page]].

Display

A free link and another page.

Tracing backwards from links

If you click on the page name in the navigation area, the wiki looks for pages which link to this page name.

This can be used for so-called wiki badges. You just write somewhere:

ToDo: Call costumer foobar regarding ...

ToDo is CamelCase, so it links to a homonymous page, which isn't very exciting. :)

(!) But you can click on the page name on the page ToDo and lo and behold, you find every page that also includes a ToDo.

External links

You can, of course, also link to external content on the internet.

Input

http://example.net/

[[http://moinmoin.in/|MoinMoin Wiki]]

ftp://example.org/pub/

{{http://static.moinmo.in/logos/moinmoin.png}}

Display

http://example.net/

MoinMoin Wiki

ftp://example.org/pub/

http://static.moinmo.in/logos/moinmoin.png

(!) As you can see, [[...]] sets a link to the target, {{...}} embeds the target, which is especially useful for pictures.

Attachments

With MoinMoin you can directly append files to a wiki page.

Input

[[attachment:letter.txt]]

{{attachment:foto.jpg}}

Display

letter.txt

(!) As long as the files aren't uploaded:

  • the links are grey (like links to non-existent wiki pages).
  • an alternate image, like a paper clip, is displayed for non-existent embedded pictures.

You can click on it and upload the file from your computer's file system to the wiki using your browser. Then the design is regular and:

  • links are blue.
  • the image appears.

Further informations on HelpOnActions/AttachFile

Symbols

MoinMoin also supports some graphical symbols, like the so called smileys that frequently appear in e-mails and chats:

Markup Display Markup Display Markup Display Markup Display
X-( X-( :D :D <:( <:( :o :o
:( :( :) :) B) B) :)) :))
;) ;) /!\ /!\ <!> <!> (!) (!)
:-? :-? :\ :\ >:> >:> |) |)
:-( :-( :-) :-) B-) B-) :-)) :-))
;-) ;-) |-) |-) (./) (./) {OK} {OK}
{X} {X} {i} {i} {1} {1} {2} {2}
{3} {3} {*} {*} {o} {o}    

For more see HelpOnSmileys.

(!) The following four chapters are about advanced details. If you don't care about this, you can just skip them.

Dynamic content

MoinMoin is built in a quite modular way, so its functions are expandable by using plug-ins. Macros, parsers, actions, etc. can either be built-in, included, or installed as a plug-in.

Macros

A macro is entered as wiki markup and it processes a few parameters to generate an output, which is displayed in the content area.

Parsers

A parser is entered as wiki markup and it processes a few parameters and a multiline block of text data to generate an output, which is displayed in the content area.

Actions

An action is mostly called using the menu (or a macro) and generates a complete HTML page on its own.

Macros

A macro is called using "<<macroname(parameter)>>". Parameters vary from macro to macro and are sometimes not used.

Input

<<TableOfContents>>
----
Some text with a footnote.<<FootNote(This is the footnote.)>>

|| <<MonthCalendar>> || <<MonthCalendar(,2000,1)>> ||
----
A certain moment - world wide: <<DateTime(2006-01-26T23:03:25Z)>>

Display


Some text with a footnote.2

<< <  2024 / 12 >  >>
Mon Tue Wed Thu Fri Sat Sun
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

<< <  2000 / 1 >  >>
Mon Tue Wed Thu Fri Sat Sun
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            


A certain moment - world wide: 2006-01-26 23:03:25

Parsers

Input

 {{{#!highlight python
 def hello(name):
     print "Hello %s" % name
 }}}

Display

   1 def hello(name):
   2     print "Hello %s" % name

Actions

Some examples of built-in actions:

  • the info action (in the navigation area).

  • a part of the search function.
  • file attachments (action "AttachFile").

  • anything in the action menu.

The graphical editor

As an alternative to the input of wiki markup using the simple text editor, MoinMoin also offers a graphical WYSIWYG (what you see is what you get) editor, which is similar to usual word processing.

Technical requirements: an up-to-date version of Mozilla/Firefox/Netscape or Internet Explorer with JavaScript activated.

You can set the preferred editor in your user preferences, but you can also switch to the other editor while editing.

Advantages of the GUI editor are that it is:

  • prettier.
  • simpler.

Disadvantages of the GUI editor are that it:

  • takes longer to load.
  • is less flexible.
  • is not yet error free.

Creating more pages

The easiest and best way to create more pages is to:

  • think of a good page name.

  • edit an appropriate page, add a link to the new page, and save it.
  • click on the link to the new page
  • prepare to edit using:
    • an empty page.
    • a page template (a list of templates is displayed on the left).
    • (!) the list of similar page names shown to ensure that there isn't any slightly different named page on the same topic.

  • start editing, fill the page with content, and save it.

(!) This method makes sure that new pages are always accessible from links on already existing pages.

Wiki etiquette

It is important that in public wikis, where many people work together (that often don't know each other), you always act benevolently to others, as long as no one has acted in the opposite way to you.

So, if someone deletes a sentence you wrote yourself, it might be that it was simply wrong or should not have been on that page.

In the same way, you should, of course, also exhibit benevolent behaviour yourself, and not do things like falsifying other's opinions. You should not change or delete anything unless you are sure about it.

The personal homepage should normally be considered as "property" of the particular user and should not be changed, apart from things like messages to the user.

Applications

A wiki is usable for number of applications. There are few requirements to use it and the content can be anything. You can use it for everything that can be displayed by linked text pages.

Examples

  • personal notes (instead of wasting paper)
  • conference protocols
  • to-do lists
  • news on wiki homepage, asynchronous communication
  • community creation of documentation
  • brainstorming
  • personal or collective link lists
  • efficient alternative to e-mail or phone
  • much more

Structure in the wiki

Hierarchy levels

Many conventional websites use very branched structures with many hierarchy levels.

In wikis linking is heavily used. A simpler structure is often used to simplify matters:

  • all important topics are located in main pages.
  • only if a topic has many subtopics (which aren't main topics), subpages are used.

    (!) Sub pages are named as MainPage/SubPage

Conventions

A wiki gives much freedom to the users; there aren't input masks like in database applications, but you can, in principle, do whatever you want and do it however you want.

Of course, you should avoid that to prevent complete chaos. B-)

That's why it's usual for new wikis to think about structures and conventions, such as the:

  • creation of a basic structure of pages.
  • definitions of name conventions for page names.
  • decision to use CamelCase or free links?.

  • definitions of important categories.

It's usual for older wikis to simply carry on using existing structures.

Navigation(slideshow)

Introduction to Wiki technology

  • ["/000 What is a Wiki?"]
  • ["/050 First Steps"]
  • ["/060 How do I navigate?"]
  • ["/090 The Editor"]
  • ["/091 Tips on the Editor"]
  • ["/100 Text markup"]
  • ["/110 Headlines and Paragraphs"]
  • ["/130 Lists"]
  • ["/150 Tables"]
  • ["/180 Macros"]
  • ["/191 Creating new Pages"]
  • ["/195 Actions"]
  • ["/200 Wikiquette"]
  • ["/210 Organisation and Structure"]
  • ["/900 Exercises"]
  • ../BasicIntroductionHandOut

Navigation(slides)

What is a Wiki?

  • a technology for collaborative creation of internet and intranet pages
  • Wiki-Wiki is hawaiian and means fast

Principles

  • Fast - fast editing, communicating and easy to learn

  • Open - everybody may read and edit everything

  • Uncomplicated - everything works in a standard browser

  • Easy - no HTML knowledge necessary, simply formatted text

  • Simple - Content over Form (content counts, not the super-pretty appearance)

  • Secure - every change is archived, nothing gets lost

  • Interlinked - Links between pages are easy to make

  • Flexible

    • Personal Information Management, Knowledgebases, Brainstorming
    • Collaboration, Coordination and Communication platform
    • Creating documentation and slide shows ;)

    • etc...


For details see HelpForBeginners.

Navigation(slides)

The First Steps


Details see HelpForBeginners.

Navigation(slides)

How do I navigate?

Searching and Navigation:

  • Backlinks (click on title)
  • Icons at top right (HelpOnNavigation)

  • Title search and full text search at bottom of page

Good places to start your Wiki exploration:

  • WikiSandBox: Sandbox page to play around and experiment with

  • RecentChanges: What has changed recently?

  • SiteNavigation: A list of the different indices of the Wiki

  • FindPage: Searching the Wiki by various methods

  • TitleIndex: A list of all pages in the Wiki

  • WordIndex: A list of all words in page titles (i.e. a list of keywords/concepts in the Wiki)

Navigation(slides)

Using the Editor

To edit a page, just click on Icon(edit) or on the link "EditText" at the end of the page. A form will appear enabling you to change text and save it again. A backup copy of the previous page's content is made each time.

You can check the appearance of the page without saving it by using the preview function - without creating an entry on RecentChanges; additionally there will be an intermediate save of the page content, if you have created a homepage (Icon(home) is visible).

<!> After editing pages, please leave the edit form by "Save Changes" since otherwise your edits will be lost!


For details see HelpOnEditing.

Navigation(slides)

Tips on the Editor

"Check spelling" examines the text for unknown words.

Within the editor, the usual hotkeys work:

Undo: CTRL+Z

Redo: CTRL+Y

Copy: CTRL+C

Paste: CTRL+V

Home: CTRL+Home

End: CTRL+End

(!) If you discover an interesting format somewhere, just use the "raw" icon to find out how it was done.

(!) In UserPreferences, you can set up the editor to open when you double click a page.

(!) You can subscribe to pages to get a mail on every change of that page. Just click on the envelope Icon(subscribe) at top right of the page.

Navigation(slides)

Text Markup and Links

To add special formatting to text, just enclose it within markup. There are special notations which are automatically recognized as internal or external links or as embedded pictures.

Input

Display

''italic'' and '''bold''' and __underlined__

italic and bold and underlined

`typewriter`

typewriter

^super^script and ,,sub,,script

superscript and subscript

PageReference WikiSandBox

PageReference WikiSandBox

MoinMoin:HelpContents

HelpContents (InterWiki-Link)

http://www.web.de/

http://www.web.de/

http://www.pythonwiki.de/wiki/img/moinmoin.gif

http://www.pythonwiki.de/wiki/img/moinmoin.gif

:)  B)  :))  ;)  :D  :(  :-?

:) B) :)) ;) :D :( :-? (Smileys)

/!\  <!>  (!)  (./)  {OK}  {X}  {i}

/!\ <!> (!) (./) {OK} {X} {i} (Marks)

{1}  {2}  {3}

{1} {2} {3} (Priorities)

For details see HelpOnFormatting, HelpOnLinking and HelpOnSmileys.

Navigation(slides)

Headlines and Paragraphs

Headlines are placed on a line of their own and surrounded by one to five equal signs denoting the level of the headline. The headline is in between the equal signs, separated by a space. Example: BR == Second Level ==

  • (!) A common error is to insert an additional blank after the ending equal signs!

Paragraphs are lines separated by empty lines or other block structures. This means those lines which directly follow each other belong to one paragraph.

Preformatted text (e.g. a copy of an email) should be placed inside three curly braces {{{ ... }}}:

First Line
...
Last Line

For better visual separation, horizontal lines can be generated by using four dashes.


For details see HelpOnHeadlines and HelpOnRules.

Navigation(slides)

Lists

item list

  • first level
    • second Level
    • second item
      • indented text without bullet

  • first level again

enumerated list

  1. first item
  2. second item (automatically enumerated)

Glossary

Term
Explanation


For details see HelpOnLists.

Navigation(slides)

Tables

Tables appear if you separate the content of the columns by  ||. All fields of the same row must be also on the same line in the editor.

Markup:

  • ||<rowbgcolor="#FFFFE0"> '''Column 1'''  |||| '''Column 2 & 3''' ||
    ||<)> 1  ||<:> 2 ||<(> 3 ||

Display:

  • Column 1

    Column 2 & 3

    1

    2

    3


For details see HelpOnTables.

Navigation(slides)

Macros

  • Macros allow dynamic (computed) content to be inserted into pages.
  • A macro is called by "[[MacroName(parameters)]]".

  • The parameters are optional, depending on the macro.
  • The most important macros:
    • TableOfContents - show a local table of contents

    • Anchor - defines a link target line

    • FootNote - generates a footnoteFootNote(Footnotes look like this.)

    • PageList - generates lists of pages with titles matching a pattern


For details see HelpOnMacros.

Navigation(slides)

Creating new Pages

New pages are created by simply adding a new WikiName to an existing page and clicking on it after saving the existing page.

This brings up a page with a variety of possibilities to create the new page:

  • click on create page to start with an empty page or

  • click on one of the listed templates to base your page on the content of the selected template.

Below the list of templates you will also find a list of existing pages with a similar name. You should always check this list because someone else might have already started a page about the same subject but named it slightly differently.


For details see HelpOnPageCreation and WikiName.

Navigation(slides)

Actions

Actions operate either on a single page or on the whole Wiki.

  • AttachFile: Attach files to a page (HelpOnActions/AttachFile)

  • DeletePage: Delete a page (after a security question)

  • LikePages: Lists pages with similar title

  • LocalSiteMap: List of all pages that are referred to, up to a maximum of 4 levels

  • SpellCheck: Call check spelling for the current page (HelpOnSpellCheck)


For details see HelpOnActions.

Navigation(slides)

Wikiquette - how do I behave correctly?

Cooperative Editing

Basic principle: Anybody logged in can edit anything.

Exceptions:

  • If you want to edit a page without being disturbed, just write a note to that effect at the top of the page and save that change first.

  • If two people edit a page simultaneously, the first can save normally, but the second will get a warning and should follow the directions to merge their changes with the already saved data.
  • Personal Homepages: normally only changed by their owner, but you may append messages at the end of the page

In general, do follow any hints given on a page, there is generally no enforced limit, but you should not blindly ignore other people's wishes.

Navigation(slides)

Organisation and Structure

  • Naming
    • don't create arbitrary wikinames (OracleDatabase, not OraCle)

    • common prefixes (topical correlation)
    • common postfixes (same page type, e.g. ...Index)

  • Index pages
  • Categories (see CategoryCategory)

  • Templates
  • /SubPages (allow shorter links, automatic correlation: HelpOnEditing/SubPages)

  • Follow the guidance of the Wiki used about how to name pages etc.

Navigation(slides)

Exercises

For the exercises we use your own Wiki-homepage which is usually based on a WikiName FirstnameLastname:

  • Configure your UserPreferences.

  • create and change your homepage (normally FirstnameLastname)

  • view the changes in the RecentChanges.

  • try the icons
  • unrestrained clicking
  • ask, ask, ask.
  1. MoinMoin also supports other markup languages, such as creole, HTML and many others, see HelpOnParsers (1)

  2. This is the footnote. (2)