Headless Java CMS
Manage content types, create content and access it via GraphQL API
- Powerful content modeling capabilities, with support for composition and inheritance across content types, based on Apache Jackrabbit (JCR implementation)
- Built-in and extendable GraphQL API. Available to read content but also for write or admin operations.
query highlightTitle {
jcr {
nodeByPath(
path: "/sites/digitall/home/area-main/highlights/our-companies"
) {
title: property(language: "en",
name: "jcr:title") {
value
}
}
}
}
Modulith: A proven alternative to micro services
Extend our platform in any way you’d like, to cover the most demanding requirements
- Extend Jahia content management system with modules, which are OSGi bundles
- OSGi and its Apache Karaf implementation available in Jahia offers hot deployment, dependency management, isolation, and ready-made tools for extensions or new functionality
- Declare any custom logic, including:
- Java services
- Rules using Drools extensible rules engine
- JSP, tags and filters if you’re using the presentation layer
- UI extensions
- Permissions
Declare new Java services easily using OSGi
@Component(service = SimpleService.class)
public class SimpleServiceImpl implements SimpleService {
@Override
public String sayHello() {
return "Hello Jahia!";
}
}
Consume any service using OSGi:
@Reference
public void setSimpleService(SimpleService simpleService) {
this.simpleService = simpleService;
}
Service consumer and implementation may be in different modules, for maximum flexibility.
Full text search API
Deep integration with Elasticsearch, for world-class search experiences
- Search fully integrated with content modeling, preview, publication, permissions, page based search
- Available via GraphQL API endpoint
- Great relevance out of the box, instant search, facets, document indexing
- Java services available if backend integration needed
- Federated search and ability to index external content
Use our GraphQL API for full text search as well:
query {
search(
q: "searched terms"
language: "en"
siteKeys: ["mySite1", "mySite2"]
searchIn: [CONTENT]
workspace: LIVE
) {
results {
hits {
displayableName
}
}
}
}
Content Integrations
Several integration patterns to integrate with DAM, PIM or any other system hosting content or assets
- The External Data Provider provides a Java framework allowing the integration of external systems as content providers. Any external content can be managed and authored as if it were hosted in Jahia.
- Custom Java services can be built to make calls to external systems.
- Jahia UI can be heavily extended to make integrations directly from the front-end
- Out of the box connectors available for Widen, Akeneo, Siteimprove and more
A simple presentation layer, if you need one
Jahia provides a presentation layer, a “head” that you can use to build complete web pages or access HTML fragments
- Build JSP "views” using provided tag libraries to transform any content type to HTML
- Access HTML through complete web pages or fragments using the GraphQL API
- Deploy-free coding means changes in your views (JSP, CSS, Javascript files) are recognized as soon as you make them, directly from the source code without needing to deploy anything
- Fragment-based HTML cache ensures content is regenerated only when needed using smart dependency analysis and scoped invalidation, including integration with fragment access control
- Maintain top performance on high-traffic websites with our multi-layered caching subsystem
- Content Delivery Network (CDN) compliant websites that can be delivered with Cloudflare or Cloudfront
JSP to display the title of a content item:
<jcr:nodeProperty node="${currentNode}"
name="jcr:title"
var="newsTitle"/>
<h2>${newsTitle.string}</h2>
Devops ready
Automate any deployment
- Open and extensible images (OCI/Docker) for development, QA or production purposes
- The provisioning API can be used to handle all operations allowing a fresh Jahia instance to reach production. It can install and configure modules, import and install sites, execute scripts and more.
- When images and the provisioning API are used jointly, Jahia becomes fully usable in an infrastructure-as-code environment (using Terraform, CI/CD toolings or other)
Run Jahia using docker
docker run -p 8080:8080 jahia/jahia-ee:8.1.2.3
Installing a module and activating it on a site using our provisioning API
# Install Kibana Dashboards
- installBundle:
- 'mvn:org.jahia.modules/kibana-dashboards-provider/0.3.0'
- 'mvn:org.jahia.modules/jexperience-dashboards'
autoStart: true
uninstallPreviousVersion: true
Extendable UI in React
Many extensions points are available to enrich our UI!
- Jahia’s UI is fully extensible
- Global component registry is used to add new navigation entries, Content Editor selectors, menu items, ..
- Javascript packaging uses Webpack module federation
- Leverage Jahia’s existing UI components (Moonstone) to build your own without having to start from scratch
Example of registering a new UI component with React.js:
registry.add('adminRoute', 'contentReleaseManager', {
targets: ['jcontent:50'],
icon: <Rocket/>,
label: 'content-releases:label.appsAccordion.title',
isSelectable: true,
requireModuleInstalledOnSite: 'content-releases',
requiredPermission: 'contentReleaseManager',
render: () => <ContentReleaseManagerCmp/>
});
Authentication & permissions
Everything you can expect from an enterprise platform
- Comprehensive solutions for authentication with built-in support to connect to LDAP, SSO, SAML & OAuth
- Granular roles and permissions to define exactly what users and groups can access across the platform, for a site or even for a page or a content item
- Same logic is also leveraged to manage authenticated experiences and give specific access to pages, APIs and content to your customers or suppliers
- Fully and transparently integrated with front-end and backend caches
High level overview of the Jahia authentication modules:

Customer Data infrastructure & APIs
Built-in real time Customer Data Platform based on Apache Unomi
- Public customer data API for current visitor tracking (1st party cookie based)
- GraphQL API for personalized content & AB Tests
- Profile stitching using login events
- Built in and customizable analytics, using Elasticsearch Kibana
- Private / admin customer data REST API for data aggregation, custom event type declaration, rules and actions deployment
- Simple yet powerful data model: access profiles, sessions and events. Store and access data for any form, survey, quiz, funnel in real time.
Track events in javascript and record it in our built-in CDP:
// Creation of the event
const source = wem.buildSourcePage()
const target = wem.buildTarget('startQuizzLink', 'a')
const newEvent = wem.buildEvent('click', target, source)
// Submission of the event
wem.collectEvent(newEvent)
Access visitor profile data using the REST API:
curl --location --request GET 'http://localhost:8181/cxs/profiles/PROFILE_UUID' \
--header 'Authorization: Basic xxxxxx'
Customer data integrations
Jahia DXP comes with “StackConnect”, a comprehensive connector to Workato. Workato is a leading Integration Platform As A Service (iPaas), and connectors are included in the Jahia DXP Cloud subscription.
- No-code integrations using Workato
- 400+ connectors with CRM, Marketing Automation and email marketing platforms
- Bi-directional integrations to enrich visitor profile or push any data collected from behaviors or forms
- Fully custom integrations using Apache Unomi rules and Groovy actions are also possible

A real commitment to open source
Jahia has a long and friendly relationship with Open Source.
- Jahia CMS is open core, most of the code that we produce is using Apache or MIT license
- Jahia has initiated and is still heavily contributing to the Apache Unomi project
- It is possible to try Jahia using our community edition and our public Docker images
Cloud & security
Jahia Cloud, the fully managed global Digital Experience Platform
- Self-service Cloud management UI, create, duplicate, backup, restore or scale any environment in a few clicks
- Platform as a Service (PaaS) with strict data segregation between tenants: leverage the flexibility of a dedicated environment without paying for a custom managed service and without compromising security
- Always up-to-date infrastructure - security patches deployed quickly and silently for you. Your DXP always runs the latest version
- 0-downtime operations: blue/green deployments in a few clicks
- Benefit from 24/7/365 Support and highly available infrastructures that are replicated across several data centers
ISO 27001 and HIPAA compliance at all layers