
Best Wiki Software? - ivankirigin
I'm interested in starting a wiki. There are lots of free and open-source wiki platforms to choose from:
<a href="http://en.wikipedia.org/wiki/Comparison_of_wiki_software" rel="nofollow">http://en.wikipedia.org/wiki/Comparison_of_wiki_software</a><p>I've used MediaWiki in the past, which worked as expected. Any experience, insight, or preferences?<p>I'd like to easily add embedded flash applications. Ideally they would be user uploaded, i.e. a use modifies  a page by uploading and adding a flash application as an example of what that page is discussing.<p>
======
DocSavage
MediaWiki is the most used/supported wiki app. It has plenty of extensions.
It's weak if you need wiki silos that require separate authorization. (There
are extensions for controlling access, but it's added security and they have
to patch holes where you can see data that should be protected.)

I like the simplicity and DB-free nature of DokuWiki. Because wiki pages are
simple text files, you can easily add wiki pages through some scripts and
backup/syncing is as easy as it gets. The plugin architecture is good. Uploads
go a namespaced upload area, so it's easy to embed and share uploaded files
between wiki pages.

MoinMoin is an OK wiki with the advantage that it's python. It's fairly easy
to create wiki farms with MoinMoin, and you can add "macros" so pushing a
button will get you a wiki page from different templates. Sections in a wiki
page (delimited by headers) aren't independently editable, unlike the two PHP
wikis above. User uploads are through page-specific attachments, unlike the
more global space for file uploads in DokuWiki. You can have an ACL per page,
but I like the Authorization system in DokuWiki better because it allows ACLs
for entire namespaces.

All of the above are easily skinned. For example, in DokuWiki, we can change
from my lab website skin (<http://taylorlab.stanford.edu>) to the default skin
(<http://wiki.splitbrain.org/wiki:dokuwiki>) using a drop-down menu.

~~~
cdr
DokuWiki is _great_ for documentation. That's the only type of wiki I've built
so far, and I definitely have to recommend it.

------
jsjenkins168
I've had good experiences with MediaWiki also. It is very extensible because
it is so widely adopted. I would suggest checking to see if someone has
already implemented a feature to MediaWiki similar that you suggest, since you
are already familiar with it.

------
zain
One of the most important things you should consider, even above feature list,
is your users' familiarity to the wiki software. Almost everyone is at least
familiar with mediawiki's reading interface (if not basic editing) because of
wikipedia, so if you're starting a wiki that is going to have any appreciable
amount of users, mediawiki is almost a no-brainer.

------
joshwa
<http://www.wikimatrix.org/>

------
vikramls
I prefer moinmoin - python-based, no need for a database and with per-page
access control.

<http://moinmoin.wikiwikiweb.de/>

~~~
fnord123
In my experience, Moimoin takes a lot of gardening to keep clean.

------
pg
We use <http://versionate.com>

~~~
mattculbreth
Actually we're evaulating this as well for our internal collaboration needs.
Not sure if that's what the OP is needing though.

------
jamesbritt
I'm a fan of DokuWiki. Easy to install, no database (so easy to write grep-
like tools to do fun things with text file content), fairly decent permissions
scheme.

~~~
piranha
+1, it is lightweight and feature rich enough.

------
pc
MediaWiki is incredibly well thought-out and tested, and is pretty easy to
extend. Most of the alternatives become unmanageable as the number of articles
grows beyond a few thousand.

~~~
ivankirigin
It does look good. Flashlets look like a nice extension.
<http://www.mediawiki.org/wiki/Extension:Flashlets>

------
nablaone
<http://www.usemod.com/cgi-bin/wiki.pl>

~~~
queensnake
Ugh, I use usemod, but am currently looking for a replacement. It's old,
hasn't been touched since 2002, /doesn't/ have a plugin system, and its syntax
has been superseded - its table support is primitive, for instance. Good
points are, that it doesn't need a database, and, I dunno, it's useable, but
the bar has been raised since then. I was looking at wikkawiki, but just now
have found that what people have been saying about MoinMoin appeals to me.

------
nirs
MoinMoin is extensible and modular system. You can replace almost any part of
the system by installing a plugin. It is the best system for a typical wiki
hosted on your server, if you like to extend and customize the system, and you
happen to like Python.

A wiki page can use any markup supported by the system parsers. MoinMoin comes
with its own markup, rst, plain text and docbook parsers. Parsers for other
markups created by the community are in
<http://moinmoin.wikiwikiweb.de/ParserMarket>. You add your own parser that
know how to parse the text and how to drive the formatter, which create the
html. Parsers are also used for syntax highlighting. Moin comes with
cplusplus, CSV, irc, java, pascal and python.

Formatter can create any output you like - the default create html, and the
system provides other formatters for xml, docbook and plain text. You can add
your own formatter if needed. Any page can be formatted in any exiting format,
for example
[http://moinmoin.wikiwikiweb.de/?action=format&mimetype=t...](http://moinmoin.wikiwikiweb.de/?action=format&mimetype=text).

To create custom applications, you usually add both action and macro plugins.
Macro is a plugin that execute when a page is rendered and return output.
Action is a plugin that handle request to urls like /wiki/pagename?action=foo.
Most of MoinMoin UI is implemented in terms of actions and marcos, so for
example, if you want to have a different RecentChanges - you can simply
install a modified RecentChanges macro in your wiki. You can find lot of
actions and macros in <http://moinmoin.wikiwikiweb.de/ActionMarket> and
<http://moinmoin.wikiwikiweb.de/MacroMarket>.

Formatted pages are compiled to Python bytecode, and literally executed when a
page is visited. Static macros run when a page is compiled, and their output
is compiled into the page. Dynamic macro are executed during page runtime, and
are used to provide user, time or namespace dependent data.

MoinMoin let you have acl for entire wiki, evaluated before and after page
acl. You can have a default acl applied to pages without acl, or page specific
acl. See <http://moinmoin.wikiwikiweb.de/HelpOnAccessControlLists>. For
greater control, you can use your own security policy object, implementing any
security scheme you like. See <http://moinmoin.wikiwikiweb.de/SecurityPolicy>.

MoinMoin UI can be changed by a theme plugin. A theme is responsible for
creating the stuff before an after a page or action content. You can provide
multiple themes for single wiki, or your own customized theme. MoinMoin uses
plain Python as "template" language - you can easily change the behavior by
overriding few methods. See <http://moinmoin.wikiwikiweb.de/HelpOnThemes>.
There are many themes created by the community in
<http://moinmoin.wikiwikiweb.de/ThemeMarket>.

MoinMoin support Wiki-RPC 1 and 2
<http://www.jspwiki.org/Wiki.jsp?page=WikiRPCInterface2>. You can also add
xmlrpc plugin to extend the system as you like.

MoinMoin can be deployed on any platform, either using plain CGI (slow),
standalone or twisted Python server (e.g. behind Apache), or using FastCGI
(recommended) or mod_python (more tricky).

There is a GUI editor - modified FCKEditor, which may be easier for common
users, but it has issues.

Search is very powerful, supporting Google style modifiers, booleans and
regular expressions. However, search become slow on big wikis. For typical
wiki it is just fine. For bigger wikis it is painfully slow. See
<http://moinmoin.wikiwikiweb.de/HelpOnSearching>. There is an experimental
index search engine using Lupy. The next version will have a better search
using <http://www.xapian.org/>.

MoinMoin has great Unicode support - anything can be unicode: page content,
page names, group names, user names and even passwords. User names can also
contain spaces, so users can register with their real name.

MoinMoin has the best Right to Left support. You can define a language and
direction for whole wiki, single page, sections within a page, or words within
a paragraph. Other systems either does not support this, or have partial
support using raw html.

------
davidw
It depends, I guess.

I wrote my own, because I wanted 1) something in Ruby on Rails, 2) wasn't
happy with Instiki, and in any case, 3) wanted something that I know very
well. It's available here, and is free software:

<http://dedawiki.dedasys.com>

------
tim
We use <http://wikkawiki.org> \- a lightweight and stable wiki engine.

------
benn
I rate <http://groupswiki.com> \- nice simple UI.

