enonic-architecture-unlocked

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.

Platform Features

Framework

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 »

Runtime

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.

Storage

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.

Data toolbox
Data Toolbox helps you navigate your data, export and import data, and more.

IAM

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.

Admin

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.

Enonic XP Dashboard December 2023

7 signs Enonic is powering a website »

CMS

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 CMS.

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.

Enonic Content Studio landing page editor

Deployment

There are several methods for deploying Enonic, depending on your requirements for scalability, performance, and isolation.

  • Single node: Minimal deployment. Acts as both front-end and back-end, simultaneously running apps and handling storage.
  • Basic cluster: Requires a minimum of three nodes. It provides redundancy and scalability with a load balancer and distributed file system.
  • Dedicated master nodes: A set with three master nodes monitoring your cluster of as little as two nodes, and controls where and how data is distributed.
  • Autoscaling cluster: Builds on the previous strategy, but differentiates between front-end and back-end nodes. The former acts as runtime and traffic handler, and the latter handles state, index, and persistence of data.
  • Microservice cluster: Builds on the autoscaling approach, but isolates various services better, e.g. dedicated nodes for admin, specific site, or app.

Enonic offers several possibilities for deployment, from a single node to an advanced microservice cluster:

Enonic Deployment Single Node
Enonic Deployment Microservice Cluster

Enonic Market for Apps

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.

Developer Tools

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.

Related blog posts

Get some more insights 🤓


Get started with Enonic! 🚀