DevGuide
Version 1.5 by jeanvivienmaurice on 2007/11/13
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.
- XWiki API Guide
- Guide that explains the main XWiki APIs.
- 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.