Developer's Guide

XWiki is a second generation wiki that provides all the basic content management and administration features of common wikis, but with much more. XWiki takes the wiki approach to a whole new level by providing enhanced features and capabilities. With XWiki, you can build simple applications, extend the platform with custom plugins, or even build complex Web applications. If you are interested in participating to the XWiki project development itself or in building it from sources, you should refer to the Community space.
You still have a question? Subscribe to the mailing lists!

Development Topics

The following guides will help you understand how to build applications on the XWiki engine primarily through the XWiki user interface using content documents, classes, properties, objects, Velocity scripting, and Groovy Scripting.

XWiki Data Model
You should start by understanding XWiki's data model of Classes, Properties, and Objects. They'll be needed to build applications at the presentation (document) level.

XWiki Scripting
Once you understand XWiki's Data Model you'll be able to program directly in the documents you edit. XWiki integrates both Velocity and Groovy scripting. Together, Classes and Scripting will allow you to create basic to complex web applications at the XWiki document layer without the need for compiling code or deploying software components.

XWiki Tutorials
Various tutorials on how to use Velocity, Groovy and Classes/Objects.

Internationalizing Applications
Learn how to write internationalized applications.

Creating Plugins
After you've learnt how to write applications at the document level you may want to go further and program plugins in Java to extend XWiki's view engine, as well as add hooks into different parts of the core engine.

Best Practices
A set of best practices for developing applications with XWiki.

Further Steps

Once you get a good grasp of how you can program in XWiki you'll want to check the reference documentation and sharpen your development skills.

XWiki API Reference
The API is available as a JavaDoc. It presents the objects and properties that you can access with scripting.

XWiki Architecture
Understanding completely how XWiki is architected. This is not for the faint of hearts!

Database Schema
For advanced users who like to know everything, check out the database tables created by XWiki.


Get Connected