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.