Index

Contents

"What is a Wiki?" questions

What is a ''Wiki''?

The term Wiki is a shortened form of WikiWikiWeb. A Wiki is a collection of pages that can be collaboritively edited using a web browser. They are open and free for anyone to create, edit and delete as they wish. The system creates cross-reference hyperlinks between pages automatically. See WikiWikiWeb for more info.

MoinMoin is an Open Source wiki program written in Python.

What is this good for?

It is good for whatever you use it for. In contrast to forums and mailing lists WikiWiki allows the creation of content. Because of this, Wikis have much less "noise" and more information. The information is structured and easier to find. You can put up a wiki on your internal web site with many pages, which describe various projects, architectures, ideas, etc. for people to comment on. Some pages just sit there and convey information. Other pages are an open invitation for discussion and commentary. You could also set up a wiki for a very simple skills database.

In general, a wiki is very much a free-form tool, whose value derives from the use to which it is put. For instance, a page in a wiki can serve the same purpose as a discussion thread. You could use a wiki page to collaboratively work on a project.

See MoinMoinSuccessStories for more use cases.

What are the major features of a Wiki?

Here are some important wiki features:

  • editability by anyone - a wiki page is editable by anyone with a web browser
  • ability to view recent changes
  • ability to search pages (several ways)
  • ability to very easily add new pages
  • ability to see the change history for a document
  • ability to add new information or modify existing information

What about Wiki security? Isn't a Wiki subject to complete wipeout or nastiness from a saboteur?

This is an important question. In general, wikis used to have NO security. (That's right!)

For MoinMoin this has changed with the introduction of Access Control Lists, see HelpOnAccessControlLists.

But, assuming you do not use ACLs, the possibility exists for accidental or conscious destruction or corruption of the current page revisions in the wiki.

There are two main ways to devalue a wiki. One is through erasure and the other is through corruption. Dealing with erasure is not terribly difficult, because there is a change log (and back versions) of every page and they can be reverted easily. Thus, when page deletions or major content erasures are detected (which should be fairly quickly), pages can be restored quite easily to their previous good state.

Explicit and intentional corruption is more difficult to deal with. The possibility exists that someone can enter incorrect information onto a page, or edit pages to intentionally change the information so it is incorrect (for example, people can change the attributions on a page to make it look like a different person made a particular comment, or someone can change the content of a paragraph to alter its meaning in a detrimental way). Pretty much any collaborative system has this problem. In practice, wiki corruption is an extremely rare event, and one that can be dealt with (if needed) with the notification feature (to a fixed auditor) for new material submission.

In other words, the philosophy of wiki is one of dealing manually (the term for that is SoftSecurity) with the rare (exception) case of a saboteur, rather than designing in features and overhead (both in implementation and in usage) to avoid the damage caused by a saboteur.

Questions about MoinMoin in general

If MediaWiki is more famous and developed in PHP, why should anyone should choose MoinMoin instead?

  • Because MoinMoin is in Python (maybe that is not an obvious reason for everybody, but in the end, it all comes down to this).

  • MoinMoin supports access control lists

  • MoinMoin is easy to extend

  • "MediaWiki is primarily targeted at Wikipedia and Wikimedia's other projects (and other similar large-scale sites with people running their own servers), secondarily at people running local instances to work with data from our sites, and only incidentally at anyone else." Brion Vibber, Media`Wiki developer

What are the pros and cons to use MediaWiki or MoinMoin?

See WikiEngineComparison.

I want some pages and subpages not to be readable by everybody. Can MoinMoin do this

Yes, MoinMoin has a good ACL system that enables you to give some user groups control over specific pages. Please look at HelpOnAccessControlLists to find out more.

Questions about using this Wiki

Finding and accessing information in the wiki

How can I search the wiki?

There are already more ways to search and/or scan the wiki than you can "shake a stick at":

  • Use the search box or FindPage, where you can search by keyword in title, by full text, with normal words or wildcards (regular expressions).

  • Click on TitleIndex. This will show you an alphabetized list of all pages by title.

  • Click on WordIndex. This shows an alphabetized list of every word in every title (i.e. a page named BlueTooth is listed under B / Blue as well as T / Tooth).

  • Use the LikePages action. This shows pages that have words in their titles that are similar to the current page.

  • Click on the page title at the very top of the page. This shows what pages link to the current page (which may help you find related pages).

How do I see what's been going on recently in the wiki?

Click on the RecentChanges link at the top of any page.

How can I get RecentChanges to go farther back in time than it goes by default?

Log in and select up to 90 days back. Is this enough?

Any mixed case name that doesn't have a page will show up as a differently coloured link.

How to go to your home page?

In the default theme, the link to the user home page is at the top of the page. In the rightsidebar theme, its under the "User" sidebar. You will have to create the page on the first time you visit it, user pages are optional.

Editing in the wiki

How do add something to the wiki, or change something that's wrong?

If you see something you'd like to comment on, add to, or change, just click on the EditText link, or click on the icon at the top of the page. The page is brought up in a text-edit pane in your browser, and you simply make the changes. The wiki formatter will generally "do the right thing" with any text you enter. If you want to get fancy, you can do most of the same types of formatting that HTML allows you to do. See the HelpOnFormatting page for some tips and examples.

Are there any conventions I should follow when adding information?

Not very many. It helps to keep certain types of information formatted in a consistent way. One important convention that will help with consistency is the use of "Template" pages.

The wiki has a feature called "Templates" which show up when you create a new page. If you click on one of these when creating a new page, then that page will have a structure similar to others of the same type. For example, when creating your own Wiki homepage, you should use the HomepageTemplate page, which is available when you create a new page in the wiki.

How can I add non-text information to the Wiki?

If the content already exists on a web site, then just add a link to a wiki page. Follow these steps:

  • Get the URL for the document,
  • Edit the Wiki page (go to the Wiki page and click the EditText link)

  • Type in the URL where you want it in the document
  • Save the changes.

The wiki will automatically make a hypertext link from the text you type in.

You can make the link "prettier" by putting "cover" wording for the link in brackets. The cover wording will appear on the page, but the link will take the user to the URL when clicked on. Here's an example:

  [[http://your.domain.example/foo.html|This will be the link text]]

produces:

This will be the link text

How can I colorize my text?

In a table this is possible by default. Otherwise the Color2 macro which can be found at MacroMarket must be installed.

How can I avoid the use of <<BR>> and use normal newline characters instead?

Use { { { and } } } to bracket your preformatted text into a preformatted paragraph.

How do I add an image to a page?

You can include a URL to the image in the page. Example:

{{http://c2.com/sig/inter/wikibase.gif}}

produces

http://c2.com/sig/inter/wikibase.gif

How do I create a new Template page?

Templates are pages that show up automatically as options when you create a blank page. Any page that exactly matches page_template_regex will automatically show up in the list. Hence, if you want certain types of pages to have a similar format (similar headings, organization, etc.), you just define a template page, and when creating pages of this type, select that template and edit it. The wiki fills in the starting content for you. Templates are editable wiki pages like any other.

To create a Template page, just create a new page called <something>Template (for the default value of page_template_regex).

Adding documents in an intranet

If you're using MoinMoin on an intranet, it may be useful to make links to documents on file shares available to everyone reading your wiki. For example:

[file://///servername/sharename/full/path/to/file/filename.txt Click here to read filename.txt]

You can also link to files with spaces in the filenames by manually entering the URL encoding for spaces(%20):

[file://///servername/sharename/full/path/to/file/filename%20with%20spaces.txt Click here to read filename with spaces.txt]

More and important info about this is on FileLinks.

Another obvious and maybe better option is to use the AttachFile action.

Should I ''sign'' my changes?

If they are significant, or you want people to know that you made them, then yes. Just put @SIG@ after your comment. It is not uncommon to indent your comment under the statement you are commenting on. Also, it helps to italicize your comment to make it stand off from the main body of the page you are commenting on.

However, in some cases it may be appropriate to just make your change anonymously. Correcting spelling, formatting, or trivial word changes are some examples where it is not necessary (and even discouraged) for you to sign your modification.

What if I delete entries in pages, and you think you need them? Is it erased completely?

If you need to, you can revert your changes. See WhyWikiWorks.

Adding other document formats to the wiki

Can I add HTML to the wiki?

  • /!\ All of this only works if the unsecure HTML extensions (HTML macro and parser) are installed.

If you want to add a single line of HTML, use the HTML macro. This is done by putting your HTML text as a parameter to the HTML macro, like so:

<<HTML(<font size=+12>This is large font</font>)>>

This would show up on the page as:

<<HTML(<font size=+12>This is large font</font>)>>

It's also possible to place an HTML document into a page by adding #format html as the first line in the page. If that line is there then the whole page will be interpreted as HTML (thus making links to other pages becomes a bit more difficult!) Make sure that you only add the body portion of the page (not the HTML headers or anything else outside of the body, including the <BODY> tag itself).

Linking in the wiki

Installation & Configuration

How do I activate the "DeletePage" / "RenamePage" option?

For being allowed to delete or rename pages, you will have to log in.

How do I change the start page?

Set page_front_page = u'OtherFrontPage' in your wikiconfig.py. See HelpOnLanguages.

HelpOnConfiguration contains more variables you might want to set.

Surge protection

MoinMoin is protected before overuse, if you change pages too frequent, or download attachments to frequent, you may get such a message: "You triggered the wiki's surge protection by doing too many requests in a short time". If you want to change such a behavior, you have to define surge_action_limits in your wikiconfig file and change default values. The default values are:

surge_action_limits = { # allow max. <count> <action> requests per <dt> secs
        # action: (count, dt)
        'all': (30, 30),
        'show': (30, 60),
        'recall': (5, 60),
        'raw': (20, 40),  # some people use this for css
        'AttachFile': (90, 60),
        'diff': (30, 60),
        'fullsearch': (5, 60),
        'edit': (10, 120),
        'rss_rc': (1, 60),
        'default': (30, 60),
    }

Administering the Wiki

How do I administer the wiki?

There is a lot of administration information on the SystemInfo page, including the number of pages, and the macros and actions that are installed.

You can set up an !AdminPage, where you put helpful macros , as well as information about the real physical location of the pages, and macros for orphan pages or other things an adminstrator for the wiki might want to look at.

See HelpOnAdministration for more help.

How do I delete a user?

The best way is as a SuperUser to switch to the user that should be deleted from user preferences, select "Disable this account forever" and klick on "Save".

Can I restore a page from an older version?

  1. click on Info (or the little "i" icon) in the top-right corner.

  2. click on revert link of the version you want to restore.

For being allowed to revert pages, you will have to log in.

How do I update my wiki?

You get more help on HelpOnUpdating

Developer help

Where to start as a coder?

If you want to help programming you can do that by:

  1. Learn Python if you do not already know it: BeginnersGuide

  2. Learn the basics of MoinMoin on the page MoinDev

Where to start as a designer or translator?

If you are not a coder but want to help anyway you can help at:

MoinMoin Diagnosis

If you think you have found an error or ancounted a problem you can do some tests. Real bugs often show you an error page. You should then save this page go to MoinMoinBugs, search if you find a page that looks similar and then make a new bug page with the traceback attached

You can test your wiki when attaching ?action=test to the standard URL. You then get a page called "MoinMoin Diagnosis" that gives a lot of of information. Most of it will only make sense for developers, but if you are one of those or a Python geek you might find this useful.


If your question is not answered on this page, see MoinMoinQuestions.