Magnolia CMS

Magnolia CMS Review and Features

Written by Patrycja Dzaluk

Last update: 6/11/2024

FeatureMagnolia CMS

CMS Type

API

Editor Experience

Dashboard Internationalization

The CMS interface can be displayed in multiple languages, making it accessible for non-English speakers.
only for "Magnolia users"

Multilanguage Content

Support for creating and managing content in multiple languages. Useful for global websites that need to cater to different regions.

Scheduling & Releases

Allows you to schedule content to be published at a specific time and date in the future.

Content Versioning

Keeps track of different versions of content, allowing you to revert to previous versions if needed. Like an "undo" button for your content.

Autosave

Automatically saves changes as you work, preventing data loss if something unexpected happens, like a browser crash.

Preview Content

Lets you see how content will look on your live site before publishing it. Like a sneak peek before it goes live.

Multiple Environments

Support for different stages of content (e.g., development, staging, production). This allows testing changes in a safe environment before going live.

Workflow

Sets up an approval process for content creation. For example, a writer might submit content, then an editor reviews and approves it before publishing.

Customizable UI

Allows customization of the CMS user interface to match your brand or specific needs.

Team Management

User Roles

Predefined roles (like admin, editor, viewer) with specific permissions.

Custom User Roles

Ability to create custom roles with specific permissions tailored to your organization’s needs.

Organization Management

Allows you to manage different user groups and access within the CMS.
N/A

Developer Experience

REST API

An API that follows REST principles, allowing developers to interact with the CMS using standard HTTP requests.

GraphQL API

An API that uses GraphQL, allowing clients to request exactly the data they need, making data fetching more efficient.
available as a module in the marketplace

Images API

API specifically for managing images, including uploading, processing, and retrieving images.

Content Management API

API for managing content, including creating, updating, and deleting content items.

Field Types

Different types of data fields available for content, such as text, number, date, media, etc.

Custom Field Types

Allows you to create even more specific field types beyond the basic ones, to perfectly match the type of content you manage.

Webhooks

Allows the CMS to send real-time notifications to other systems or services when certain events happen (e.g., content published). You can use these to trigger actions in other applications.

CLI

Command Line Interface tools that allow developers to perform tasks and manage the tool via the command line.

SDK

A set of tools and pre-written code snippets that developers can use to integrate the CMS with their project more easily.

Free Tier

Free Plan Available

Some headless CMS providers offer a free plan with limited features, allowing you to try it out before committing.
N/A

Team Members

The number of users (team members) that can be added to the CMS.
N/A

Locales

The number of different languages and regional settings the CMS supports for content creation and management.
N/A

Projects

Support for managing multiple projects within the same CMS account.
N/A

Security & Compliance Offerings

Two-factor authentication

Adds an extra layer of security when logging in.
N/A

Team Logs

Tracks user activity within the platform for better accountability.
N/A

GDPR

Compliance with the General Data Protection Regulation for handling personal data.

SOC2

Service Organization Control 2 compliance for managing customer data.
N/A

ISO27001

International standard for information security management.

Others

Extensions

Additional plugins or add-ons that can enhance the functionality of the platform.

Built-in Backups & Restore

Features that automatically back up content and settings, allowing easy restoration in case of data loss.

What is Magnolia CMS?

Magnolia CMS is an open-source platform written in Java. It combines the best features of a digital experience platform (DXP) and headless CMS. It provides clear multilingual, multi-site, and visual tools and functionalities for the website content.

Thanks to the magnolias CMS products, you can build a scalable website with less effort because it offers low code development using file-based configuration. In terms of speed and reliability, Magnolia CMS is a comprehensive platform, where you can configure everything you need to make your content live. Why? They are offering not only the CMS platform but also hosting, content support or Java backend developers support to fulfill your requirements of any custom features.

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

User Interface

The first glance at the user interface of Magnolia CMS makes an impression of a simple and very basic one. It’s not overloaded with a bunch of notifications, buttons, or options.

You can see the most important elements of the project - Apps and their elements just underneath. From my point of view, this interface is a very good one not only for developers but also for authors. Why? Because it’s maintained with the “tree” structure of catalogs. And tree hierarchies are well known to everybody. We are using them on our computers on a daily basis. So we can come to the conclusion that this UI is for everyone!

I would say that in this regard Magnolia doesn’t follow the trends of modern UI. They prefer to stay in the traditional view, which is also an advantage for some of the clients. Maybe this will be countable in the future, when overloaded with the information, users will search for a more basic and cleaner interface.

Magnolia CMS is not that basic, as your first impression might imply. For your convenience, they created an intuitive App concept. It’s a group of handy functions and each app is one function

This list might be overwhelming, but here comes the next great feature - permissions. With Magnolia, you can hide unnecessary complexity for Editors and leave them only apps for content creation and workflows publication.

Another great feature is multi tabs. It allows you to open multiple elements at the same time and just switch tabs to open them. Like in the browser. It might be very handy for Editors to switch between content.

Most headless CMSs offer only the content forms for the editors. In Magnolia, this might be easier not only because of the clear and simple interface but first and foremost thanks to the Visual SPA Editor that gives editors a visual WYSIWYG experience.

This tool brings the preview into the CMS panel right away. It gives editors the power of fast control over the content. They can see how each component looks without searching it in the project instructions or directly on the website.

In the last image, in its left bottom corner is a language switcher. This leads us to the next very important feature that Magnolia CMS offers - internationalization.

Magnolia CMS API

Magnolia uses a REST API. It allows integration with the modern front-end frameworks, like React, Angular, or Vue. The tree hierarchy is represented also here, which is handy to follow up the content hierarchy on the page. So how does it work?

Magnolia offers the delivery API to obtain content from their database and it’s been written to the JSON file. GET endpoint allows you to read nodes, children, and query nodes.

If you are a Gatsby and GraphQL fan, that’s great because Magnolia CMS released GraphQL API just recently. You can use the plugin to obtain data with graphql. Take a look at the sample demo repo for Gatsby here.

I already mentioned that Magnolia offers a live preview for Editors, but to make it work, developers should define in the repository which components are editable first. The integration is simple with the npm packages for the most popular front-end languages: , , .

Magnolia CMS modules

Magnolia represents modular architecture. It could be noticed with the Apps structure - one app per one function. Based on the Magnolia documentation a module can perform a task, package content, or provide specialized functionality. Modules can be project-specific or they can be reused across different projects.

There are two ways of creating such modules - Maven Modules or Light Modules. In Jamstack you will probably use Light Modules, which is using YAML and does not require Java development skills. It is basically file and folder-based modules, where you can configure apps, content types, templates, dialogs, themes. It can also contain web resources like CSS and javascript files.

This unique file-based approach means that your entire CMS project configuration can be checked into git, worked on in your IDE, or processed with frontend build tools.

Magnolia CMS Support

The support in Magnolia divides into two groups: developer and maintenance support.

  • Developer support: Customers and certified partners have access to Magnolia's developer support.
  • Maintenance Support: Magnolia currently publishes major releases once a year and maintenance release several times a year. Major releases are usually upgrades that provide new functionality. Maintenance releases are usually updates that fix bugs or security issues.

I have to say that during a trial in Magnolia CMS I did receive very fast and comprehensive support from the team and I expect nothing less for clients as well.

[@portabletext/react] Unknown block type "newPdfPage", specify a component for it in the `components.types` prop

Magnolia CMS Pricing

Magnolia has a community edition that is free and fully open source. The "DX Core" enterprise edition has no public pricing information. To receive an offer, you have to contact the sales team.

Magnolia CMS Pros and Cons

[@portabletext/react] Unknown block type "prosCons", specify a component for it in the `components.types` prop