Jahia embedded frameworks
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 |
8.2.0.4 |
---|---|---|---|---|---|
Apache Felix Webconsole | 4.3.16-jahia1 | 4.3.16-jahia2 | 4.3.16-jahia3 | ||
Apache Jackrabbit | 2.18.4-jahia1 | 2.20.12-jahia1 | |||
Apache Karaf | 4.2.7 | 4.3.10 | |||
Eclipse Jersey | 2.18 | ||||
graphql-java | 13.0 | 21.3 | |||
Hibernate | 5.5.3.Final | Not exposed | |||
Jackson | 2.10.5 | 2.13.3 | 2.14.2 | 2.15.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 | 8.2.0.4 |
---|---|---|---|---|---|---|
react | available upon request | 16.14.0 | 18.2.0 | |||
react-dom | available upon request | 16.14.0 | 18.2.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 | 8.1.2 | |||
redux | available upon request | 4.2.0 | 4.2.1 | |||
@jahia/moonstone | available upon request | 2.4.14 | 2.5.9 | 2.7.0 | ||
@jahia/ui-extender | available upon request | 1.0.6 | 1.1.0 | |||
@apollo/client | available upon request | 3.5.10 | 3.8.2 | |||
@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:
- You can look into a running Jahia by listing the content of the folder:
tomcat/webapps/ROOT/WEB-INF/lib
- You can look into Jahia source code, at the following locations:
Selecting a git tag corresponding to a Jahia version will allow you to switch between versions.
Previous releases of Jahia (legacy table)
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 |