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, fast and flexible: 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 title).
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
RecentChanges: The latest changes made to the wiki.
SiteNavigation: The starting point for exploring the wiki.
WikiSandBox: You can experiment here as much as you want.
FindPage: Even more ways to browse the wiki.
TitleIndex: An alphabetical list of all page names.
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 register in the navigation area. 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 creating an account you are directed to the page UserPreferences, where you can change your preferences and settings.
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 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.
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.
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
Mouse
Of course you can also select with the mouse and use your browser's editing features.
Linux / 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 content.
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 === ==== Fourth ==== ... (up to "Sixth")
Display
First headline level with =-character
Second
Third
Fourth
... (up to "Sixth")
If a headline isn't displayed correctly, it is usually because:
- there are invisible spaces after the concluding =-character.
- 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:
- Feed dog
- Feed cat
- 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) |
'''stronly accentuated (bold)''' |
stronly 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
Free links
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 exiting.
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
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
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.
Symbols
MoinMoin also supports some graphical symbols, like the so called smileys that frequently appear in e-mails and chats:
{1} {2} {3} |
|
/!\ (!) (./) {X} {i} {OK} |
|
{*} {o} |
|
:) B-) :( X-( |
|
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.1
|
|
A certain moment - world wide: 2006-01-26 23:03:25
Parsers
Input
{{{#!python def hello(name): print "Hello %s" % name}}}
Display
Actions
Some examples of built-in actions:
- the info action (in the navigation area).
- a part of the search function.
file attachments (AttachFile action).
- 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 at UserPreferences, 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 changed, apart from things like messages to the user.
Applications
A wiki is usable for quite a few applications, because there 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
- common 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.
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.
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"]
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.
The First Steps
Help with problems or questions: HelpContents (Icon(help)) and HelpMiscellaneous/FrequentlyAskedQuestions
Name (appears on RecentChanges)
- Email address for subscribing to page change emails and retrieving a lost login/password
- Personal preferences
Link with User-ID ( in any case, put a bookmark on that)
- Structure of pages
Navigation: Quicklinks, Icons link to system actions (HelpOnNavigation)
"Recently visited pages" (see UserPreferences)
- Content
Quick search and additional actions (HelpOnActions)
Details see HelpForBeginners.
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.
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.
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 |
|
MoinMoin:HelpContents |
HelpContents (InterWiki-Link) |
http://www.web.de/ |
|
http://www.pythonwiki.de/wiki/img/moinmoin.gif |
|
:) B) :)) ;) :D :( :-? |
(Smileys) |
/!\ <!> (!) (./) {OK} {X} {i} |
(Marks) |
{1} {2} {3} |
(Priorities) |
For details see HelpOnFormatting, HelpOnLinking and HelpOnSmileys.
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.
Lists
item list
- first level
- second Level
- second item
indented text without bullet
- first level again
enumerated list
- first item
- second item (automatically enumerated)
Glossary
- Term
- Explanation
For details see HelpOnLists.
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.
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.
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.
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.
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.
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.
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.
Include(WikiCourse/BasicIntroduction/000 What is a Wiki?) Include(WikiCourse/BasicIntroduction/050 First Steps) Include(WikiCourse/BasicIntroduction/060 How do I navigate?)
Include(WikiCourse/BasicIntroduction/090 The Editor) Include(WikiCourse/BasicIntroduction/091 Tips on the Editor) Include(WikiCourse/BasicIntroduction/100 Text markup) Include(WikiCourse/BasicIntroduction/110 Headlines and Paragraphs) Include(WikiCourse/BasicIntroduction/130 Lists) Include(WikiCourse/BasicIntroduction/150 Tables) Include(WikiCourse/BasicIntroduction/180 Macros) Include(WikiCourse/BasicIntroduction/195 Actions)
Include(WikiCourse/BasicIntroduction/200 Wikiquette) Include(WikiCourse/BasicIntroduction/210 Organisation and Structure)
This is the footnote. (1)