# Enonic XP

Enonic XP is a free and open-source web application platform and content management system (CMS) in one based on Java and Elasticsearch. Developed by the Norwegian software company Enonic, the microservice web platform can be used to build progressive web applications, Next.js websites, or web-based APIs. Enonic XP uses an application framework for coding server logic with JavaScript, and has no need for SQL as it ships with an integrated content repository. The CMS is fully decoupled, meaning developers can create traditional websites and landing pages, or use XP in headless mode, that is without the presentation layer, for loading editorial content onto any device or client. Enonic is used by major organizations in Norway, including the national postal service Norway Post, the insurance company Gjensidige, the national lottery Norsk Tipping, the Norwegian Labour and Welfare Administration, and all the top football clubs in the national football league for men, Eliteserien.

## Overview

Enonic XP has embedded web content management, blending applications and websites into one experience. The content management system (CMS) functionality includes a visual drag and drop editor, a landing page editor, support for multi-site and multi-language, media and structured content, advanced image editing, responsive user interface, permissions and roles management, revision and version control, and bulk publishing. Content and website(s) are managed through the "Content Studio," while integrations and applications can be directly installed via the "Applications" section in XP, where the platform finds apps approved in the official Enonic Market.
There are no third-party databases in Enonic XP. Instead, the developers have built a distributed storage repository on top of the search engine Elasticsearch, avoiding the need to index content. The system brings together capabilities from Filesystem, NoSQL, document stores, and search in the storage technology, which automatically indexes everything put into the storage.
Enonic XP supports deployment of server side JavaScript and Java applications, using the framework PurpleJS, which includes code build by Enonic. PurpleJS melds Java and JavaScript, and is able to run lightweight JavaScript server applications without the complexity of the Node.js programming model. The open-source framework runs on top of a JVM (Java virtual machine), and allows developers to run the same code in the browser and on the server, thus enabling them to employ JavaScript while working with existing Java projects.
While running on the Java virtual machine, Enonic XP can be deployed on most infrastructures. The dependency on a third-party application server to deploy code has been removed, as the platform is an application server by default. A developer can for instance insert his own modules and code straight into the system while it is running. JavaScript unifies all the technical elements, and Enonic XP features a MVC framework where everything on the back-end can be coded with server-side JavaScript. The Enonic platform can use any template engine. The most used one, Thymeleaf, allows users to create a plain HTML5 document and use it as a view, allowing a designer to work on the HTML file, while a developer can make it more functional and dynamic.

### Progressive web apps

Another feature of Enonic XP is the possibility for developers to create progressive web apps (PWA). A PWA is a web application that is a regular web page or website, but can appear to the user like a mobile application. In early 2017 Enonic released "Office League", an open-source progressive web application built on the Enonic XP platform, making it one of the first companies in Scandinavia to develop and release a production-ready PWA. Later in 2017 Enonic released a PWA starter kit, helping developers build scalable PWAs in Enonic XP.

### Headless CMS and integrations

Enonic XP is headless, which means it separates content and presentation. The platform supports GraphQL, provides several default APIs, and allows for building custom APIs through the Guillotine starter kit. Consequently, Enonic supports modern front-end frameworks, and offers integrations with e.g. Next.js and React.

## History

Enonic AS was founded in 2000 by Morten Øien Eriksen and Thomas Sigdestad. The software company specialized in building services and solutions using Java, including a content management system known as "Vertical Site", then "Enonic CMS". Being aware that they had application, database, and website teams working on separate silos toward the same goal, Enonic sought to combine the different elements into a single software. The resulting application platform Enonic XP, first released in 2015, includes a CMS as an optional surface layer.
In March 2020, Enonic XP was ranked by SoftwareReviews, a division of Info-Tech Research Group, a Canadian IT research and analyst firm, as the "Leader" in Web Experience Management. The ranking is based on user reviews, and is featured in SoftwareReviews‘ Digital Experience Data Quadrant Report, a comprehensive evaluation and ranking of leading Web Experience Management vendors. Enonic was also ranked first in 2021 and 2022.

### Release history

Enonic XP assumed the mantle from the previous content management system Enonic CMS, and thus began with "version 5.0.0." The following list only contains major releases.
| Version | Release date | Notes |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="5.0.0" | Old version, not maintained: 5.0.0 | February 17, 2015 | Initial version of Enonic XP. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="5.1.0" | Old version, not maintained: 5.1.0 | April 22, 2015 | Added support for existing (simple) commonjs modules, handling of shortcuts in portal, HTML editor input-type based on TinyMCE, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="5.2.0" | Old version, not maintained: 5.2.0 | June 5, 2015 | Added improvements to the TinyMCE editor, support for localization, page contributions, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="5.3.0" | Old version, not maintained: 5.3.0 | July 7, 2015 | Contained fixes to prepare for upgrading to 6.0, mainly tools rewritten in Java and bug fixes. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.0.0" | Old version, not maintained: 6.0.0 | September 8, 2015 | Modules changed to applications, added several new tools for developers, added new publishing wizard, page templates now optional, new image editor with focal point and cropping features, JavaScript API improvements, and improved admin UI search. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.1.0" | Old version, not maintained: 6.1.0 | October 19, 2015 | Added content detail panel UI, insert from context menu, new API capabilities, new project init tool, and improvement of UI responsiveness, site config UI, component panel and image editor. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.2.0" | Old version, not maintained: 6.2.0 | November 9, 2015 | Added custom error pages, response filters, perfect caching, and HTTP compression. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.3.0" | Old version, not maintained: 6.3.0 | December 22, 2015 | Added clustering support, pluggable admin widgets, multipart handling in JS, new JS libraries, and hot-reload development mode. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.4.0" | Old version, not maintained: 6.4.0 | February 23, 2016 | Added support for XSLT transformations in import to toolbox, app installation support, local/cluster application deployment, pluggable admin tool, WebSocket support in portal. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.5.0" | Old version, not maintained: 6.5.0 | April 19, 2016 | New native installers for OSX and Windows, new text component editor, page fragments, inline image crop, version history restore, controller mapping, and default values for input types. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.6.0" | Old version, not maintained: 6.6.0 | June 29, 2016 | Added dependency widget, editor macros, name transliteration, safe deletes, search improvements, and, identity providers that allow connections to external user stores. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.7.0" | Old version, not maintained: 6.7.0 | September 21, 2016 | Added schema help texts, custom selector input type, application icons, and a new welcome tour, with improvements to the page editor and the HTML editor. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.8.0" | Old version, not maintained: 6.8.0 | November 21, 2016 | Added the option set form item, expandable help texts, a new asynchronous task API, detailed metrics about the system for monitoring, global app configuration, and improvements to preview on the mobile platform, the libraries and the system in general. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.9.0" | Old version, not maintained: 6.9.0 | January 19, 2017 | New Node API, time-based publishing, native tabs, and several other improvements. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.10.0" | Old version, not maintained: 6.10.0 | April 24, 2017 | Allowed users to undo deletion, plus improvements to the HTML editor, publishing wizard and bulk selection, and other changes. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.11.0" | Old version, not maintained: 6.11.0 | July 13, 2017 | Added display page template info in details panel, dump and load versions, implementation of handling of publishing issues in Content Studio, multi-repository search, support of custom image scaling in HTML area. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.12.0" | Old version, not maintained: 6.12.0 | October 13, 2017 | Added content selector switch between tree structure and flat structure, vacuum tool to find and remove unused binaries, new features for image editing and multilingual admin console, plus modularizing the product in three parts: backend runtime, apps, and supporting libraries. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.13.0" | Old version, not maintained: 6.13.0 | December 22, 2017 | New features to the Content Studio UI, including warning for incoming dependencies and gallery mode for image selector. There was also better indexing of content and an expanded API. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.14.0" | Old version, not maintained: 6.14.0 | March 5, 2018 | Added improved save button, more secure admin user, localization of all system content types, comments on publishing issues, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="6.15.0" | Old version, not maintained: 6.15.0 | July 17, 2018 | Several new features, including a new HTML Editor and advanced cluster features in a new library. This version also saw improved workflow in Content Studio, update to steps in Content Editor, a Media Selector input type and many other new features. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.0.0" | Old version, not maintained: 7.0.0 | June 13, 2019 | New developer portal gathering all documentation and guides, new XP documentation, and introduction of Enonic CLI. Enonic XP core now building on JVM 11 and available through native distribution on all major platforms. Content Studio separated as an app on Enonic Market. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.1.0" | Old version, not maintained: 7.1.0 | September 18, 2019 | New features include query highlighting, content workflow, customizable display-name label, publishing message, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.2.0" | Old version, not maintained: 7.2.0 | December 19, 2019 | New features include audit log, access through content API, getting nodes by version from the node library, customer part icons, header filters, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.3.0" | Old version, not maintained: 7.3.0 | June 15, 2020 | New features include compressed dump and load, login without sessions, color highlighting in console logs, and several other improvements to existing features. Content Studio upgraded to version 3.0.0, with expanded language support, content projects, version comparison, light skin, and several UI improvements. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.4.0" | Old version, not maintained: 7.4.0 | July 29, 2020 | Major change in the architecture to make clusters more stable, support for distributed sessions, improvement to garbage collection, and a number of bugfixes. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.5.0" | Old version, not maintained: 7.5.0 | October 21, 2020 | Improved handling of snapshots, improved metadata in contentLib query results, calculated distance in geoDistance aggregations, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.6.0" | Old version, not maintained: 7.6.0 | February 3, 2021 | Introducing layers for multi-language content management, improvements in VHost, Management, and WebSockets APIs, distributable tasks, improved publishing wizard, improvements in the item and options sets, and more. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.7.0" | Old version, not maintained: 7.7.0 | June 11, 2021 | Several new features, including a cluster safe Scheduler, Audit-Log cleanup, SameSite cookies, Content-type filtering, and several improvements and bugfixes. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.8.0" | Old version, not maintained: 7.8.0 | December 22, 2021 | Content Archive feature, major improvements in VHosts mapping, Content Validator Java API, spellchecking in TextLine and TextArea, and improvements in JavaScript API and Content Studio UI. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.9.0" | Old version, not maintained: 7.9.0 | April 28, 2022 | New DSL Query language, new Audit Log and Security features, and many improvements and bugfixes. New keyboard shortcuts, stickiness for the HtmlArea footer, lower-Latin numbered list in HtmlArea, and new widget interface for the sidebar in Content Studio. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.10.0" | Old version, not maintained: 7.10.0 | June 29, 2022 | Shared Map framework is now part of XP. XP distro is bundled with GraalVM Community Edition based JDK (v.22.1). Introduced experimental support of arm64 (aarch64) based CPUs. Content related descriptors expose modifiedTime field to check for content schema changes. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.11.0" | Old version, not maintained: 7.11.0 | November 7, 2022 | Introduction of collaboration feature. All new TypeScript core libraries, virtual applications and no-code schemas, with new functions in the QueryDSL. For Content Studio: insert link dialog improvements, new project wizard, and version history improvements. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.12.0" | Old version, not maintained: 7.12.0 | March 13, 2023 | Enonic XP: dashboard widgets, content variants, site mapping for services, and project applications. Content Studio: Variants for A/B testing, applications on content projects, batch exclusion of dependent items from publishing, content editor improvements, and autosave of localized content. |
| ! class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="7.13.0" | Old version, not maintained: 7.13.0 | June 29, 2023 | Enonic XP: Upgrade to Java 17, new endpoints in management and statistics API, improvements in task API, and improved welcome page in the SDK. Content Studio: Default content project hidden by default, page component view and publishing wizard improvements, and call links in the insert link dialogue. |
| ! class="templateVersion co swatch-maintained" style="color: var(--color-base, #202122); " title="Old version, still maintained" data-sort-value="7.14.0" | Old version, still maintained: 7.14.0 | January 18, 2024 | Displays the list of config files in the sandbox, supports pre-installing applications from a template file on first XP boot, redirects to Home/Dashboard after login, removed the XP tour, and several bugfixes. Also new features added to the SDK version of XP that can be used together with the Enonic CLI. |
| ! class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="7.15.0" | Latest version: 7.15.0 | February 28, 2025 | New features includes Service Accounts, progressive image delivery, WebP, and AVIF support. |
| ! class="templateVersion p swatch-future" style="color: var(--color-base, #202122); " title="Future version" data-sort-value="7.16.0" | Future version: 7.16.0 | TBD | |

## Development and support

Enonic offers a user and developer community consisting of a forum, support system with tickets, documentation, codex, learning and training center with certifications, and various community groups. Writing about the support system, Mike Johnston of CMS Critic notes that "enterprise customers obviously get access to a higher level of personalized support, where the Enonic support team can respond as fast as two hours." The support system is divided in three levels: silver, gold and platinum—from next day business support to 24/7 support. As Enonic XP is open-source, known vulnerabilities, bugs and issues are listed on GitHub.