Enonic XP | |
Developer: | Enonic AS |
Released: | [1] |
Programming Language: | Java |
Operating System: | Unix-like, Windows, Linux |
Genre: | Content Management System, web application platform |
License: | GNU GPLv3+[2] |
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.[3] 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.[4] 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.[5]
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.[6]
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.[7]
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.
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.[8] Later in 2017 Enonic released a PWA starter kit, helping developers build scalable PWAs in Enonic XP.[9]
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.
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",[10] 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,[11] a division of Info-Tech Research Group, a Canadian IT research and analyst firm, as the "Leader" in Web Experience Management.[12] 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[13] and 2022.[14]
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 | |
---|---|---|---|
February 17, 2015 | Initial version of Enonic XP. | ||
April 22, 2015[15] | Added support for existing (simple) commonjs modules, handling of shortcuts in portal, HTML editor input-type based on TinyMCE, and more. | ||
June 5, 2015[16] | Added improvements to the TinyMCE editor, support for localization, page contributions, and more. | ||
July 7, 2015[17] | Contained fixes to prepare for upgrading to 6.0, mainly tools rewritten in Java and bug fixes. | ||
September 8, 2015[18] | 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. | ||
October 19, 2015[19] | 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. | ||
November 9, 2015[20] | Added custom error pages, response filters, perfect caching, and HTTP compression. | ||
December 22, 2015[21] | Added clustering support, pluggable admin widgets, multipart handling in JS, new JS libraries, and hot-reload development mode. | ||
February 23, 2016[22] | Added support for XSLT transformations in import to toolbox, app installation support, local/cluster application deployment, pluggable admin tool, WebSocket support in portal. | ||
April 19, 2016[23] | 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. | ||
June 29, 2016[24] | Added dependency widget, editor macros, name transliteration, safe deletes, search improvements, and, identity providers that allow connections to external user stores. | ||
September 21, 2016[25] | 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. | ||
November 21, 2016[26] | 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. | ||
January 19, 2017[27] | New Node API, time-based publishing, native tabs, and several other improvements. | ||
April 24, 2017[28] | Allowed users to undo deletion, plus improvements to the HTML editor, publishing wizard and bulk selection, and other changes. | ||
July 13, 2017[29] | 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. | ||
October 13, 2017[30] | 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. | ||
December 22, 2017[31] | 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. | ||
March 5, 2018[32] | Added improved save button, more secure admin user, localization of all system content types, comments on publishing issues, and more. | ||
July 17, 2018[33] | 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. | ||
June 13, 2019[34] | 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. | ||
September 18, 2019[35] | New features include query highlighting, content workflow, customizable display-name label, publishing message, and more. | ||
December 19, 2019[36] | New 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, 2020[37] | 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. | ||
July 29, 2020[38] | Major change in the architecture to make clusters more stable, support for distributed sessions, improvement to garbage collection, and a number of bugfixes. | ||
October 21, 2020[39] | Improved handling of snapshots, improved metadata in contentLib query results, calculated distance in geoDistance aggregations, and more. | ||
February 3, 2021[40] | 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. | ||
June 11, 2021[41] | Several new features, including a cluster safe Scheduler, Audit-Log cleanup, SameSite cookies, Content-type filtering, and several improvements and bugfixes. | ||
December 22, 2021[42] | 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. | ||
April 28, 2022[43] | 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. | ||
June 29, 2022[44] | 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. | ||
November 7, 2022[45] | 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. | ||
March 13, 2023[46] | 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. | ||
June 29, 2023[47] | 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. | ||
January 18, 2024[48] | 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. | ||
TBD |
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.[49] 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.[50] As Enonic XP is open-source, known vulnerabilities, bugs and issues are listed on GitHub.[51]