Here is feedback from a more "consumer" approach, as a developer of
curriki.org.
Our company develops wikis. We set up the core wiki,
and then write extensions to add specific tools depending on the subject of the wiki .
All of our wikis have been developed with the MediaWiki platform, which is written in PHP
and prefers the mySQL database. We need to convert over to a Java and Oracle solution;
XWiki is a contender for us.
To help us decide on xWiki, Do you mind answering a few questions for us such as the
following?
1. One advantage of wikis for us is the revision history, fast creation of content,
media uploads, and the user management. Are these things solved well with xwiki?
While media-upload has been insufficient for us, because re-encoding is necessary, the
other features (revision history, fast creation of content, uploads, user-management) have
been taken up directly out of xwiki and they work well even with a big scale (400'000
members, 40'000 learning resources).
2. We need to add some custom tables to the wiki
database and then save to those tables from a page form. Is that possible?
See Sergiu's answer here.
As a developer that made other web-server-softwares before I can say that within xwiki,
it's not hard to circumvent some of xwiki if you do not want to use it, from the
request/response processing until the database. The fact that a lot of code can be written
and hot-loaded makes it really nice to develop in team.
4. It looks like xWiki has components. We are
just starting to experiment with your components. Are they helpful with your product?
There used to be plugins and they were very often used in Curriki. Components are similar
to my taste, with the added advantage of the exchangeability thanks to the weaker
loading.
5. Do you have hooks in the code or other
possibilities to extend code without changing it?
Lots
6. Is it possible to change core code?
User mark up differences between your xWiki and mediaWiki is not a big factor for us.
There's quite a few other pearls in the xwiki eco-system.
One of them is the WYSIWYG editor which has declarative macro-based extensibility and can
also be nicely extended thanks to engineering done in Java (it is GWT based).
Another is the bet that syntax based editing does not need to be an enemy of wysiwyg
editing... the editor just inserts where it needs.
The many extensions are also a nice set of pearls!
Paul