Enonic Platform Architecture Unlocked
What technology underlies the Enonic platform, and how do all the pieces fit together?
Written by Morten Eriksen on
What technology underlies the Enonic platform, and how do all the pieces fit together?
Written by Morten Eriksen on
Enonic is an advanced content platform, where developers can quickly build digital experiences, applications, and APIs. Under the hood are several exciting technological features, which we will detail in this blog post.
The Enonic platform uses server side JavaScript (JS) for developing apps. The emphasis on JS is meant to get any developer up to speed, whether they have a background with PHP, .net, Python, or Java.
A core concept of the Enonic framework is JS controllers. Every JS file is considered a controller, and controllers are put to use by runtime engines or by other controllers in the system.
Furthermore, the Enonic framework makes it easy to localize content and functionality. The localization feature easily enables different translations of text in your apps. Finally, the Java bridge functionality allows JS developers to invoke Java code and reuse your existing code base.
See also: Build a fast and modern site with Next.js and headless CMS »
The Enonic runtime is running on the Java Virtual Machine (JVM) and powers apps built on the Enonic framework. The runtime supports engines for running HTTP controllers, web apps, sites (CMS), admin, and tasks.
The storage model in Enonic is based on NoSQL, which is document-oriented storage. With Enonic you get powerful search capabilities, built around the search engine Elasticsearch. The data structure is hierarchical, and there are multiple repositories to help you segment your data for faster operations.
Enonic is delivered with a clearly defined and pluggable concept for Identity and Access Management (IAM), which essentially handles authentication and authorization. This system allows for a tidy management of user groups and user roles across the Enonic platform.
The default admin of Enonic supports different languages, widgets and is extendable, meaning the admin engine can enable developers to extend the functionality of the XP Admin Console with custom admin apps.
7 signs Enonic is powering a website »
Enonic ships with an optional, embedded CMS. The GUI of this system is called “Content Studio,” and features tree navigation, content duplication, content types, landing page editor, templating, user management, and everything you expect from a modern content management system.
Being a composable CMS, Enonic can be used both traditionally and headlessly through a content API. As a side note,Enonic’s site engine can be used to render websites.
There are several methods for deploying Enonic, depending on your requirements for scalability, performance, and isolation.
Enonic offers several possibilities for deployment, from a single node to an advanced microservice cluster:
In addition to sporting a feature rich native platform, Enonic offers Enonic Market, a marketplace for applications, starter kits, and libraries. These helpful tools extends the functionality of the Enonic platform and Content Studio.
Among the apps are form builder, SEO meta fields, and Google Analytics. Libraries include GraphQL, push notifications, and FreeMarker Templates. Starters include Webpack, Workbox PWA, and headless CMS.
Enonic provides a strong framework for developers, enabling fast and secure development of solutions. The Enonic Command Line Interface (CLI), for example, automates tasks related to development and common management tasks for local and remote Enonic instances.
As a final note, your developers can use their favourite editors to write code, with no limitations.
First published 6 November 2019, updated 18 December 2023.
Get some more insights 🤓