Enonic XP


Enonic XP is a free and open-source web application platform and content management system 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 system|web content management], blending applications and websites into one experience. The content management system 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 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, 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. 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.
VersionRelease dateNotes
! February 17, 2015Initial version of Enonic XP.
! April 22, 2015Added support for existing commonjs modules, handling of shortcuts in portal, HTML editor input-type based on TinyMCE, and more.
! June 5, 2015Added improvements to the TinyMCE editor, support for localization, page contributions, and more.
! July 7, 2015Contained fixes to prepare for upgrading to 6.0, mainly tools rewritten in Java and bug fixes.
! September 8, 2015Modules 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.
! October 19, 2015Added 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.
! November 9, 2015Added custom error pages, response filters, perfect caching, and HTTP compression.
! December 22, 2015Added clustering support, pluggable admin widgets, multipart handling in JS, new JS libraries, and hot-reload development mode.
! February 23, 2016Added support for XSLT transformations in import to toolbox, app installation support, local/cluster application deployment, pluggable admin tool, WebSocket support in portal.
! April 19, 2016New 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.
! June 29, 2016Added dependency widget, editor macros, name transliteration, safe deletes, search improvements, and, identity providers that allow connections to external user stores.
! September 21, 2016Added schema help texts, custom selector input type, application icons, and a new welcome tour, with improvements to the page editor and the HTML editor.
! November 21, 2016Added 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.
! January 19, 2017New Node API, time-based publishing, native tabs, and several other improvements.
! April 24, 2017Allowed users to undo deletion, plus improvements to the HTML editor, publishing wizard and bulk selection, and other changes.
! July 13, 2017Added 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.
! October 13, 2017Added 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.
! December 22, 2017New 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.
! March 5, 2018Added improved save button, more secure admin user, localization of all system content types, comments on publishing issues, and more.
! July 17, 2018Several 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.
! June 13, 2019New 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.
! September 18, 2019New features include query highlighting, content workflow, customizable display-name label, publishing message, and more.
! December 19, 2019New features include audit log, access through content API, getting nodes by version from the node library, customer part icons, header filters, and more.
! June 15, 2020New 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.
! July 29, 2020Major change in the architecture to make clusters more stable, support for distributed sessions, improvement to garbage collection, and a number of bugfixes.
! October 21, 2020Improved handling of snapshots, improved metadata in contentLib query results, calculated distance in geoDistance aggregations, and more.
! February 3, 2021Introducing 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.
! June 11, 2021Several new features, including a cluster safe Scheduler, Audit-Log cleanup, SameSite cookies, Content-type filtering, and several improvements and bugfixes.
! December 22, 2021Content 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.
! April 28, 2022New 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.
! June 29, 2022Shared Map framework is now part of XP. XP distro is bundled with GraalVM Community Edition based JDK. Introduced experimental support of arm64 based CPUs. Content related descriptors expose modifiedTime field to check for content schema changes.
! November 7, 2022Introduction 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.
! March 13, 2023Enonic 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.
! June 29, 2023Enonic 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.
! January 18, 2024Displays 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.
! February 28, 2025New features includes Service Accounts, progressive image delivery, WebP, and AVIF support.
! 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.