Plone 6 MACH provides freedom
MACH is a hotly talked about web/CMS architecture being promoted by a group of companies calling themselves MACHAlliance.
MACH stack comprises 4 elements
- Api first
- Cloud native SaaS
The main idea is separation of concerns of 3 things that make up a modern content based website, design system implimention (what might previously be called a theme), custom business logic, and logic, storage and security of the content management system itself.
This is achieved by using frontend technologies like React to build the public main face of the site, to stitch togeather the site from apis to both microservices and a headless CMS SaaS like Plone 6.
One big advantage to this more modular design with more freedom to pick the right technologies for these different parts of your build. Micro-services, Headless and Apis are the enabling technologies that provide this modurality.
Cloud native SaaS can help by giving you options simplify your custom hosting requrements. To give you true freedom we recommend picking software that is offered as both SaaS and self hosted, such as open source. To be "cloud native" means the software is multi-tenented by design so scales well as a SaaS service. Plone 6 is an excellent example of sofware built to work as both SaaS or self hosted.
How does Plone 6 fit into MACH?
Plone 6 is a completly new archtecture than previous versions of Plone. It treats the python part of plone as a headless backend accessible via the REST api. So it is both headless and api first. You can easily add additional microservices to your stack to enhance what the Cloud native Plone 6 CMS provides.
Plone 6 provides both Headless (build your own frontend and a React based framework for building sites called Volto. Hybrid CMS archtectures like this give you the best of both worlds.
Plone 6 Headless
Headless means you bring your own framework to build your frontend. Plone 6 can provide a React based editing environment out of the box, or the api provides full access to editing functions so you can build your own admin UI if required.
Plone 6 Headless + Volto
Choosing to build your frontend with the Volto React framework provides several advantages over Headless CMS SaaS
- Quicker development since many of the components are already available and the framework is designed to be adapted to new design systems. This means lower cost to market.
- Your pages are directly editable. When you edit, there is no hard to understand translation from content placed in fields to where this will appear on the page. ie True WYSIWYG.
- More intuitive UX. you can browse the site to manage content rather than a disconnected content tree in an admin UI.
- In addition since the code of the CMS is designed to be overriden, if you have the budget and desire to customise the UX for editors you can have the ability to do so. Normally cloud native SaaS CMS admin UI's can't be customised and are often form based.
By building your site as Volto react components you gain one of the most seamless editing experiences within the MACH ecosystem. These components, called "Blocks" can be placed and layed out and editing directly on the page and appear exactly as they do in the final page after you hit save. There is no side by side preview or iframes needed to achieve this. You edit what you will see. This sort of CMS UX is normally only possible with SaaS site builders such as Wix or Squarespace.
Cloud Native SaaS AND self-hosted?
No matter if you choose Plone 6 Headless or Plone 6 Volto, you have the freedom of hosting.
Plone 6 Headless can be
- self hosted using python or docker
- available from a Plone 6 Headless SaaS provider such as Pretagov
The frontend stack
- you can self host using your own front end tech
- you can self host Volto using Node/Express or docker
- you can build on top of volto and deploy to a full service Plone 6 hosting provider
- Even with hosted Plone 6 Volto you can still host your own microservices and stich them into your code.
As you can see this modern Cloud native approach to Headless open source CMS provides more options than SaaS only solutions often associated with MACH archectures