Jahia embedded frameworks

November 14, 2023

Exposed frameworks

There are two different types of libraries (backend or UI) embedded and exposed by Jahia:

  • Frameworks: having a direct impact on Jahia as a platform, for these, developers are not able to provide their own version of the library and must use the one exposed by Jahia.
  • Utility libraries: with a loose tie to Jahia. For these, developers are able to use the version exposed by Jahia, but it's considered a best practice to embed your own, as it can provide more flexibility in regards to your code being compatible with multiple versions of Jahia.

Frameworks

In the context of this page, framework are libraries for which, as a developer, you must use the version exposed by Jahia.

Java

Framework name 8.1.0.1 8.1.1.3 8.1.2.4 8.1.3.2 8.1.5.2 8.1.6.1 8.1.7.1
Apache Felix Webconsole 4.3.16-jahia1 4.3.16-jahia2
Apache Jackrabbit 2.18.4-jahia1
Apache Karaf 4.2.7
Eclipse Jersey 2.18
graphql-java 13.0
Hibernate 5.5.3.Final
Jackson 2.10.5 2.13.3 2.14.2
jBPM & Drools 6.0.0.Final
Quartz Scheduler 1.8.6

Spring

Spring libraries (webflow, ldap, ...)

3.2.18.RELEASE_OSGI
Tuckey UrlRewriteFilter 3.2.0

Javascript

Framework name 8.1.0.1 8.1.1.3 8.1.2.4 8.1.3.2 8.1.5.2 8.1.6.1 8.1.7.1
react available upon request 16.14.0
react-dom available upon request 16.14.0
react-router available upon request 5.3.4
react-router-dom available upon request 5.3.4
react-i18next available upon request 11.18.6
i18next available upon request 19.9.2
react-apollo available upon request 3.1.5
react-dnd available upon request n/a 15.1.2
react-dnd-html5-backend available upon request n/a 16.0.1
react-redux available upon request 8.0.2
redux available upon request 4.2.0 4.2.1
@jahia/moonstone available upon request 2.4.14 2.5.9
@jahia/ui-extender available upon request 1.0.6 1.1.0
@apollo/client available upon request 3.5.10
@apollo/react-common available upon request 3.1.4
@apollo/react-components available upon request 3.1.5 4.0.0
@apollo/react-hooks available upon request 3.1.5

More details about Javascript libraries are available in this Academy page.

Utility libraries

Although Jahia exposes a fairly large set of libraries, we consider it a best practice to embed your own when developing modules. The libraries exposed by Jahia core evolves over time, with changes documented in Jahia release notes.

There are multiple ways to figure out which version of a library is exposed by Jahia:

Selecting a git tag corresponding to a Jahia version will allow you to switch between versions.

Previous releases of Jahia (legacy table)

List of embedded frameworks with version
Framework name Usage 6.6.1 6.6.2 7.0 7.1 7.2 7.3 8.0 8.0.2
Apache Jackrabbit Content repository 2.2.4 2.2.4 2.4.5 2.4.5 2.4.5 2.4.6 2.18 2.18
Apache Camel Enterprise integration patterns 2.4.0 2.4.0 2.12.3 2.12.5 2.12.5 2.12.5 2.12.5 2.25.2
Hibernate Object-relational mapping 3.3.2.GA 3.3.2.GA 4.2.7 SP1 4.2.7 SP1 4.2.7 SP1 4.2.7 SP1 4.2.7 SP1 4.2.7 SP1
Apache Tika Metadata and text extraction toolkit 0.9 0.9 1.5 1.7 1.14 1.20 1.20 1.24.1
Apache Pluto Portlet container 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2 2.0.2
Apache Felix (OSGi) OSGi R4 Service Platform - - 4.2.1 4.3.1 5.4.0 5.4.0 5.4.0 5.4.0
Apache Karaf (OSGi) OSGi Runtime Framework, SSH Console, Feature deployment - - - - 4.0.7 4.0.7 4.2 4.2
JBoss Drools Rules engine 4.0.7 4.0.7 6.0.0.Final 6.0.0.Final 6.0.0.Final 6.0.0.Final 6.0.0.Final 6.0.0.Final
JBoss BPM Business Process Management Suite 4.4 4.4 6.0.0.Final 6.0.0.Final 6.0.0.Final 6.0.0.Final 6.0.0.Final 6.0.0.Final
Apache Lucene Full text search engine 2.4.1 2.4.1 3.0.3 3.0.3 3.0.3 3.0.3 3.6.2 3.6.2
Apache Solr Search hit highlighting, faceted search etc. 1.3.0 1.3.0 3.1.0 3.1.0 3.1.0 3.1.0 3.6.2 3.6.2
Apache Karaf Cellar Module management/deployment - - - - 4.0.2 4.0.2 4.1 4.1
Hazelcast Sharing of distributed objects in a Jahia cluster - - - - 3.7.3 3.7.3 3.7.3 3.7.3
JGroups Toolkit for reliable messaging 2.8.0.GA 2.8.0.GA 3.4.2.Final 3.4.8.Final 3.4.8.Final 3.4.8.Final 3.4.8.Final 3.4.8.Final
Ehcache Caching 2.3.2 2.3.2 2.8.1 2.8.5 2.8.5 2.8.5 2.8.5 2.8.5
Quartz Job scheduling 1.8.5 1.8.6 1.8.6 1.8.6 1.8.6 1.8.6 1.8.6 1.8.6
Apache Shiro Java Security framework 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0 1.1.0 1.6.0
GWT/Sencha Advanced UIs 2.2.0/2.2.3 2.2.0/2.2.3 2.5.1/2.3.1 2.5.1/2.3.1 2.5.1/2.3.1 2.5.1/2.3.1 2.8.2/2.3.1a-gwt22 2.8.2/2.3.1a-gwt22
XWiki Wiki languages support 2.0.4 2.0.4 2.0.4 2.0.4 2.0.4 2.0.4

2.0.4

2.0.4

Groovy Scripting language 1.7.7 1.7.11 2.2.1 2.3.11 2.3.11 2.5.6 2.5.6 2.5.6
Open Search Publishing search results in different syndication formats 0.1 0.1 0.1 - - - - -
jQuery JavaScript Library 1.6.2 1.6.2 1.10.2 1.10.2 1.10.2 1.12.4

1.12.4

1.12.4

Apache Commons Apache project focused on all aspects of reusable Java components various various various various various various various various
Spring Web Flow MVC framework for advanced Web applications - - 2.3.2 2.4.1 2.4.1 2.4.1 2.4.1 2.4.1
Spring Framework Programming and configuration model 3.0.5 3.0.5 3.2.8 3.2.13 3.2.13 3.2.13 3.2.13 3.2.18
Apache POI Java APIs for documents manipulation and transformation 3.7 3.7 3.10-FINAL - - 4.0.1 4.0.1 4.0.1
Atmosphere Asynchronous WebSocket/Comet Framework - - 2.1.1 2.3.1 2.3.1 2.3.1 2.5.4 2.5.4
CAS Client for Java JA-SIG CAS Client for Java, plementing SSO services 3.2.1 3.2.1 3.2.1 3.2.1 3.2.1 3.2.1 3.2.1 3.2.1
ImageJ Java image processing 1.45 1.45 1.47 1.47 1.47 1.47 1.47 1.47
Jericho HTML Parser Library for HTML parsing and manipulation 3.2 3.2 3.3 3.3 3.3 3.3

3.3

3.3

JODConverter Conversions between office document formats 3.0-beta-4 3.0-beta-4 3.0-beta-4 3.0-beta-4 3.0-beta-4 3.0-beta-4 3.0-beta-4 4.3.0
UrlRewriteFilter Filter for advanced URL rewriting 3.2.0 3.2.0 3.2.0 3.2.0 3.2.0 3.2.0 3.2.0 3.2.0
CKEditor Web based WYSIWYG editor 3.6.3 3.6.3 4.1.2 4.7.1 4.7.1 4.7.1 4.13 4.13
Jersey JAX-RS 2 Reference Implementation - - 2.18 2.18 2.18 2.18 2.18 2.18