XWiki Architecture

Version 1.2 by Vincent Massol on 2015/04/20

General Architecture

 

  • XWiki is a webapp that is deployed into a Servlet Container.
  • XWiki is made of Extensions.
  • Some Extensions are Core Extensions and they are required for XWiki to execute properly.
  • Other Extensions can be installed into a running XWiki installation to provide additional features.
  • The Extension Manager is a Core Extension that allows installing, upgrading or removing other Extensions.
  • An XWiki runtime is thus made of Core Extensions + non-Core ones.
  • A set of Extensions working together to achieve a goal is called a Flavor.
  • XWiki Enterprise is a generic Flavor that allow users to collaboratively author content. In the near future, several other Flavors will be available.
  • There are 2 types of Extensions:
    • Extensions containing wiki pages. They are packaged as XAR files (a ZIP file with some metadata).
    • Extensions containing Java classes. They are packaged as JAR files.
  • An Extension can depend on other Extensions. A Flavor is itself a top level Extension that depends on several other Extensions.

The full list of available Extensions can be seen on the Extensions Wiki.

Integrating XWiki

Extending XWiki

Get Connected