Enonic XP

From Wikipedia, the free encyclopedia
Enonic XP
Developer(s)Enonic AS
Initial releaseFebruary 17, 2015; 9 years ago (2015-02-17)[1]
Stable release
7.13.5[2] / 2023-12-05[±]
Repository
Written inJava
Operating systemUnix-like, Windows, Linux
TypeContent Management System, web application platform
LicenseGNU GPLv3+[3]
Websiteenonic.com

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.[4] 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.[5] 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.[6]

Overview[edit]

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.[4]

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.[7]

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.[8]

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.[5]

Progressive web apps[edit]

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.[9] Later in 2017 Enonic released a PWA starter kit, helping developers build scalable PWAs in Enonic XP.[10]

Headless CMS and integrations[edit]

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.[11] Consequently, Enonic supports modern front-end frameworks, and offers integrations with e.g. Next.js[12] and React.[13]

History[edit]

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",[14] 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.[9]

In March 2020, Enonic XP was ranked by SoftwareReviews,[15] a division of Info-Tech Research Group, a Canadian IT research and analyst firm, as the "Leader" in Web Experience Management.[16] 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[17] and 2022.[18]

Release history[edit]

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.

Legend: Old version, not maintained Older version, still maintained Current stable version Latest preview version Future release
Version Release date Notes
Old version, no longer maintained: 5.0.0 February 17, 2015[1] Initial version of Enonic XP.
Old version, no longer maintained: 5.1.0 April 22, 2015[19] Added support for existing (simple) commonjs modules, handling of shortcuts in portal, HTML editor input-type based on TinyMCE, and more.
Old version, no longer maintained: 5.2.0 June 5, 2015[20] Added improvements to the TinyMCE editor, support for localization, page contributions, and more.
Old version, no longer maintained: 5.3.0 July 7, 2015[21] Contained fixes to prepare for upgrading to 6.0, mainly tools rewritten in Java and bug fixes.
Old version, no longer maintained: 6.0.0 September 8, 2015[22] 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.
Old version, no longer maintained: 6.1.0 October 19, 2015[23] 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.
Old version, no longer maintained: 6.2.0 November 9, 2015[24] Added custom error pages, response filters, perfect caching, and HTTP compression.
Old version, no longer maintained: 6.3.0 December 22, 2015[25] Added clustering support, pluggable admin widgets, multipart handling in JS, new JS libraries, and hot-reload development mode.
Old version, no longer maintained: 6.4.0 February 23, 2016[26] Added support for XSLT transformations in import to toolbox, app installation support, local/cluster application deployment, pluggable admin tool, WebSocket support in portal.
Old version, no longer maintained: 6.5.0 April 19, 2016[27] 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.
Old version, no longer maintained: 6.6.0 June 29, 2016[28] Added dependency widget, editor macros, name transliteration, safe deletes, search improvements, and, identity providers that allow connections to external user stores.
Old version, no longer maintained: 6.7.0 September 21, 2016[29] 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.
Old version, no longer maintained: 6.8.0 November 21, 2016[30] 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.
Old version, no longer maintained: 6.9.0 January 19, 2017[31] New Node API, time-based publishing, native tabs, and several other improvements.
Old version, no longer maintained: 6.10.0 April 24, 2017[32] Allowed users to undo deletion, plus improvements to the HTML editor, publishing wizard and bulk selection, and other changes.
Old version, no longer maintained: 6.11.0 July 13, 2017[33] 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.
Old version, no longer maintained: 6.12.0 October 13, 2017[34] 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.
Old version, no longer maintained: 6.13.0 December 22, 2017[35] 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.
Old version, no longer maintained: 6.14.0 March 5, 2018[36] Added improved save button, more secure admin user, localization of all system content types, comments on publishing issues, and more.
Old version, no longer maintained: 6.15.0 July 17, 2018[37] 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.
Old version, no longer maintained: 7.0.0 June 13, 2019[38] 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.
Old version, no longer maintained: 7.1.0 September 18, 2019[39] New features include query highlighting, content workflow, customizable display-name label, publishing message, and more.
Old version, no longer maintained: 7.2.0 December 19, 2019[40] New features include audit log, access through content API, getting nodes by version from the node library, customer part icons, header filters, and more.
Old version, no longer maintained: 7.3.0 June 15, 2020[41] 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.
Old version, no longer maintained: 7.4.0 July 29, 2020[42] Major change in the architecture to make clusters more stable, support for distributed sessions, improvement to garbage collection, and a number of bugfixes.
Old version, no longer maintained: 7.5.0 October 21, 2020[43] Improved handling of snapshots, improved metadata in contentLib query results, calculated distance in geoDistance aggregations, and more.
Old version, no longer maintained: 7.6.0 February 3, 2021[44] 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.
Old version, no longer maintained: 7.7.0 June 11, 2021[45] Several new features, including a cluster safe Scheduler, Audit-Log cleanup, SameSite cookies, Content-type filtering, and several improvements and bugfixes.
Old version, no longer maintained: 7.8.0 December 22, 2021[46] 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.
Old version, no longer maintained: 7.9.0 April 28, 2022[47] 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.
Old version, no longer maintained: 7.10.0 June 29, 2022[48] 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.
Old version, no longer maintained: 7.11.0 November 7, 2022[49] 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.
Older version, yet still maintained: 7.12.0 March 13, 2023[50] 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.
Current stable version: 7.13.0 June 29, 2023[51] 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.
Future release: 7.14.0 TBD

Development and support[edit]

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.[52] 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."[4] The support system is divided in three levels: silver, gold and platinum—from next day business support to 24/7 support.[53] As Enonic XP is open-source, known vulnerabilities, bugs and issues are listed on GitHub.[54]

See also[edit]

References[edit]

  1. ^ a b "Index of public/com/enonic/xp/distro/5.0.0". enonic.com. Retrieved June 6, 2018.
  2. ^ "Enonic XP Distro 7.13.5". github.com. 5 December 2023. Retrieved 4 January 2024.
  3. ^ "How is Enonic XP Licensed". enonic.com. Archived from the original on July 20, 2018. Retrieved June 14, 2018.
  4. ^ a b c Johnston, Mike (10 May 2016). "Enonic XP Review". CMS Critic. Retrieved June 4, 2018.
  5. ^ a b Nicastro, Dom. "Enonic Boasts WordPress Ease, Enterprise Functionality". CMSWire. Retrieved June 4, 2018.
  6. ^ Jerijervi, Dag Robert. "Netlife Research får toppfotball-oppdrag". Kampanje. Retrieved June 4, 2018.
  7. ^ "Enonic XP". Google Cloud Platform. Retrieved June 14, 2018.
  8. ^ Krill, Paul. "PurpleJS unites Java, JavaScript development". InfoWorld. Retrieved June 4, 2018.
  9. ^ a b Bidwell, Jonni. "Progressive Sessions – Interview with Thomas Sigdestad". Linux Format, issue 237, June 2018. Retrieved June 4, 2018.
  10. ^ "Workbox PWA Starter". enonic.com. Retrieved June 6, 2018.
  11. ^ Headless CMS Starter for Enonic XP, github.com, 2022-10-05, retrieved 2024-01-04
  12. ^ NextJS ♡ Enonic : Front-end part of the Enonic/Next.js headless CMS demo, github.com, 2023-03-29, retrieved 2024-01-04
  13. ^ doc-react4xp, github.com, 2023-10-03, retrieved 2024-01-04
  14. ^ "the Vertical Site product range". Archived from the original on 2005-03-05. Retrieved October 10, 2019.
  15. ^ "SoftwareReviews on Twitter". www.twitter.com. Retrieved 2022-05-19.
  16. ^ "SoftwareReviews". www.softwarereviews.com. Retrieved 2020-05-05.
  17. ^ "SoftwareReviews on Twitter". www.twitter.com. Retrieved 2022-05-19.
  18. ^ "SoftwareReviews on Twitter". www.twitter.com. Retrieved 2022-05-19.
  19. ^ "Enonic XP 5.1.0". github.com. Retrieved June 5, 2018.
  20. ^ "Enonic XP 5.2.0". github.com. Retrieved August 7, 2018.
  21. ^ "Enonic XP 5.3.0". github.com. Retrieved August 7, 2018.
  22. ^ "Enonic XP 6.0.0". github.com. Retrieved August 7, 2018.
  23. ^ "Enonic XP 6.1.0". github.com. Retrieved August 7, 2018.
  24. ^ "Enonic XP 6.2.0". github.com. Retrieved August 7, 2018.
  25. ^ "Enonic XP 6.3.0". github.com. Retrieved August 7, 2018.
  26. ^ "Enonic XP 6.4.0". github.com. Retrieved June 5, 2018.
  27. ^ "Enonic XP 6.5.0". github.com. Retrieved August 7, 2018.
  28. ^ "Enonic XP 6.6.0". github.com. Retrieved August 7, 2018.
  29. ^ "Enonic XP 6.7.0". github.com. Retrieved August 7, 2018.
  30. ^ "Enonic XP 6.8.0". github.com. Retrieved August 7, 2018.
  31. ^ "Enonic XP 6.9.0". github.com. Retrieved August 7, 2018.
  32. ^ "Enonic XP 6.10.0". github.com. Retrieved August 7, 2018.
  33. ^ "Enonic XP 6.11.0". github.com. Retrieved August 7, 2018.
  34. ^ "Enonic XP 6.12.0". github.com. Retrieved August 7, 2018.
  35. ^ "Enonic XP Distro 6.13.0". github.com. Retrieved August 7, 2018.
  36. ^ "Enonic XP Distro 6.14.0". github.com. Retrieved August 7, 2018.
  37. ^ "Enonic XP Distro 6.15.0". github.com. Retrieved August 7, 2018.
  38. ^ "Enonic XP Distro 7.0.0". github.com. Retrieved January 27, 2020.
  39. ^ "Enonic XP Distro 7.1.0". github.com. Retrieved January 27, 2020.
  40. ^ "Enonic XP Distro 7.2.0". github.com. Retrieved January 27, 2020.
  41. ^ "Enonic XP Distro 7.3.0". github.com. Retrieved June 16, 2020.
  42. ^ "Release Enonic XP Distro 7.4.0 · enonic/xp-distro". GitHub. Retrieved 2021-02-10.
  43. ^ "Release Enonic XP Distro 7.5.0 · enonic/xp-distro". GitHub. Retrieved 2021-02-10.
  44. ^ "Release Enonic XP Distro 7.6.0 · enonic/xp-distro". GitHub. Retrieved 2021-02-10.
  45. ^ "Release Enonic XP Distro 7.7.0 · enonic/xp-distro". GitHub. Retrieved 2022-05-19.
  46. ^ "Release Enonic XP Distro 7.8.0 · enonic/xp-distro". GitHub. Retrieved 2022-05-19.
  47. ^ "Release Enonic XP Runtime 7.9.0 · enonic/xp-distro". GitHub. Retrieved 2022-05-19.
  48. ^ "Release Enonic XP Runtime 7.10.0 · enonic/xp-distro". GitHub.
  49. ^ "Release Enonic XP Runtime 7.11.0 · enonic/xp-distro". GitHub.
  50. ^ "Enonic XP Distro 7.12.0". GitHub.
  51. ^ "Enonic XP Distro 7.13.0". GitHub.
  52. ^ "Join our Community". enonic.com. Archived from the original on June 14, 2018. Retrieved June 6, 2018.
  53. ^ "A Vendor-Neutral Evaluation Of Enonic". Boye & Company. Retrieved August 28, 2019.
  54. ^ "Issues". github.com. Retrieved June 6, 2018.

External links[edit]