XWiki

XWiki is a free and Open source wiki software platform written in Java with a design emphasis on extensibility. XWiki is an enterprise wiki. It includes WYSIWYG editing, OpenDocument-based document import/export, annotations and tagging, and advanced permissions management.

As an application wiki, XWiki allows for the storing of structured data and the execution of server side script within the wiki interface. Scripting languages including Velocity, Apache Groovy, Python, Ruby and PHP can be written directly into wiki pages using wiki macros. User-created data structures can be defined in wiki documents and instances of those structures can be attached to wiki documents, stored in a database, and queried using either Hibernate query language or XWiki's own query language.

XWiki.org's extension wiki is home to XWiki extensions ranging from code snippets which can be pasted into wiki pages to loadable core modules. Many of XWiki's features are provided by extensions which are bundled with it.

The wikitext is rendered using the XWiki Rendering Engine which extends WikiModel and Doxia systems, allowing it to parse Confluence, JSPWiki, Creole, MediaWiki, and TWiki syntaxes as well as XWiki's own syntax. XWiki pages are written by default using the WYSIWYG editor and rendered with XWiki syntax to format text, create tables, create links, display images, etc.

Development
XWiki code is licensed under the GNU Lesser General Public License and hosted on GitHub where everyone is free to fork the source code and develop changes in their own repository. The content included in the XWiki wiki is licensed under a Creative Commons attribution license so that it can be redistributed as long as it references XWiki; derivatives can be re-licensed entirely. While most of the active developers are funded by commercial support company XWiki SAS, XWiki SAS maintains a strict boundary between itself and the XWiki free software project. All decisions about the direction of the XWiki software project are made by consensus of the committers must go through the developers' mailing list.

Open source projects
XWiki relies heavily on other open source projects to work. They include:


 * Groovy: for advanced scripting requirements
 * Hibernate: relational database storage
 * Lucene: to index all the content of a wiki and its attachments and allow the search within their content.
 * Velocity: a template language

History
XWiki was originally written by Ludovic Dubost who founded XPertNet SARL later to become XWiki SAS, and it was first released in January 2004 under the GNU General Public License. The "X" in the name comes from "eXtensible Wiki" (when you pronounce it, it sounds as 'X').

The first version of the Wiki Farm xwiki.com was released in April 2004. In addition the open source project was hosted on SourceForge and the first commit there was done on 15 December 2003.

In 2006, the license was changed to the GNU Lesser General Public License to give the developer community greater flexibility, Apache Maven developer Vincent Massol became the lead developer and XWiki won the Lutece d'Or award for best open source software developed for the enterprise.

After 6 beta versions and 5 release candidates, XWiki 1.0 was released on May 22, 2007 bringing new features such as stand-alone installer and semantic tagging. 2007 also brought the introduction of XWiki Watch for allowing teams to collaboratively follow RSS feeds.

Features

 * Structured content and inline scripting, which allows building wiki applications
 * User rights management (by wiki / space / page, using groups, etc...)
 * PDF export
 * Full-text search
 * Version control
 * Import office documents into wiki syntax through OpenOffice
 * Various protocols for accessing the wiki (WebDAV, REST, XML-RPC)
 * Content and site design Export and Import
 * Plugins, API, Programming...
 * More features on the official website.

XWiki is also an application wiki that allows the creation of objects and classes within the wiki. This way, forms can be developed in a very short time span and be reused to enter data on the wiki following a specific template. This means that end users can be presented with a page on which the layout is already drawn, where they can directly fill in the fields needed.