Overview
Discover what makes XWiki Platform powerful
XWiki Platform is a fully‑featured, open‑source wiki engine that doubles as an application runtime. It exposes a rich Java‑based API, a modular plugin system, and a powerful rendering engine that supports multiple markup formats. From a developer’s standpoint, XWiki is not just a content management system; it is an extensible framework that can host custom business applications, dashboards, or micro‑services on top of its core.
Java EE / OSGi Core
Structured Data & RDF
REST & SOAP APIs
Scripting & Automation
Overview
XWiki Platform is a fully‑featured, open‑source wiki engine that doubles as an application runtime. It exposes a rich Java‑based API, a modular plugin system, and a powerful rendering engine that supports multiple markup formats. From a developer’s standpoint, XWiki is not just a content management system; it is an extensible framework that can host custom business applications, dashboards, or micro‑services on top of its core.
Key Features
- Java EE / OSGi Core – The platform runs on a servlet container (e.g., Tomcat, Jetty) and is built around the OSGi module system. This allows fine‑grained dependency management, hot deployment of bundles, and a clean separation between core services and extensions.
- Structured Data & RDF – Every page is stored as a
Documentobject that can be queried with XWiki’s own query language or the standard JPA/Hibernate API. The data model is relational but can be exposed as RDF/SPARQL endpoints for semantic applications. - REST & SOAP APIs – XWiki ships with a comprehensive REST API (
/xwiki/rest) that exposes CRUD operations for pages, attachments, users, and custom extensions. SOAP services are also available for legacy integrations. - Scripting & Automation – The platform supports Groovy, JavaScript (via Nashorn/Node), and Velocity templates. Developers can write scripts that run on the server or as scheduled jobs, enabling complex workflows without leaving Java.
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | Java SE 17+, Servlet API, OSGi (Apache Felix) |
| Frameworks | Spring‑Boot for internal services, JPA/Hibernate for persistence |
| Database | Relational (MySQL/MariaDB, PostgreSQL, Oracle) with optional NoSQL connectors |
| Rendering | XWiki Rendering Engine (XDOM, XHTMLOutput) + Markdown/Asciidoc support |
| Build & CI | Gradle, Develocity for performance profiling, Jenkins/TeamCity pipelines |
| Containerization | Official Docker images; Helm charts for Kubernetes deployments |
The OSGi foundation gives developers the ability to replace or extend any component at runtime, while the Gradle build system ensures reproducible artifacts and continuous integration.
Core Capabilities & APIs
- Extensible Plugin Architecture – Plugins are OSGi bundles that can register services, UI components, or REST endpoints. The
org.xwiki.component.annotationAPI makes it trivial to inject dependencies. - Event Bus & Listeners – The platform publishes events (e.g.,
DocumentCreatedEvent) that can be consumed by custom listeners. This is ideal for audit trails, notifications, or integration with external systems. - Security Model – Fine‑grained ACLs per page, role‑based authentication (LDAP, SAML, OAuth2), and a pluggable security provider interface.
- Multitenancy & Namespaces – XWiki can host multiple spaces (namespaces) with isolated data stores, enabling SaaS‑style deployments.
Deployment & Infrastructure
XWiki is lightweight enough to run on a single node yet designed for horizontal scaling. Standard deployment involves:
- Servlet Container – Deploy the
xwiki.warto Tomcat/Jetty. For production, a reverse proxy (NGINX) is recommended. - Database – A single RDBMS instance suffices; for high availability, read replicas or sharding can be configured.
- Containerization – Official Docker images expose environment variables for database connection, cache settings, and OSGi bundle configuration. Kubernetes operators simplify scaling and rolling upgrades.
- Monitoring – Prometheus metrics are exposed via the
/metricsendpoint; health checks are available through/xwiki/rest/health.
Integration & Extensibility
- REST/Webhooks – Custom webhooks can be registered on events, allowing integration with CI/CD pipelines or external monitoring tools.
- External Authentication – LDAP/SAML/OAuth2 providers are plug‑inable; custom authentication handlers can be written in Java.
- GraphQL Layer – Experimental GraphQL support lets developers query the XWiki data model with a single endpoint.
- UI Customization – The Velocity/FreeMarker templates can be overridden, and modern React or Vue components can be embedded via the
XWiki Web UIAPIs.
Developer Experience
- Documentation – Comprehensive guides (Developer, Administrator, User) are hosted on the official site. API reference is auto‑generated from Javadoc.
- Community & Support – A vibrant mailing list, chat (Mattermost), and a Jira issue tracker provide quick assistance. The project’s contribution flow is well‑documented, with continuous integration ensuring code quality.
- Testing – The platform ships with a full test harness, including functional tests that spin up an in‑memory database and headless browser for UI regression.
Use Cases
- Enterprise Knowledge Base – Leverage structured data and ACLs to build a secure, searchable knowledge hub.
- Custom Business Apps – Create forms, dashboards, and workflow engines that run natively inside XWiki.
- SaaS Multi‑Tenant Platform – Use namespaces and OSGi to host isolated instances for different customers.
- Data‑Driven Analytics – Expose page metadata as RDF/SPARQL and integrate with BI tools.
Advantages Over Alternatives
- Full Java Ecosystem – No need to mix languages; all extensions can be written in Java or Groovy.
Open SourceReady to get started?
Join the community and start self-hosting XWiki Platform today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
ENiGMA½ BBS
Modern, nostalgic bulletin board for the 21st century
Habitica
Gamify your habits and tasks
Outline Server
Create and manage your own VPN with ease
Friendica
Decentralized social network for federated communication
OpenSIPS
High‑performance, open‑source SIP server for telecom services
Harbor
Secure, scalable container registry for Kubernetes and Docker