Umono

Home Focus E-commerce with Umono Release Notes View on GitHub

What is Umono?

Umono is an open source content management system built around a custom content language designed to keep content independent from themes and plugins.

It is under active development. v0.5 is already available for demos and production use.
For technical details, view on GitHub repository

Quick Start

curl -fsSL https://umono.io/install.sh | sh
umono create my-website
cd my-website
umono up

The Problem with Traditional CMSs

To understand the motivation behind Umono, it is necessary to look at common structural problems in traditional content management systems.

Content management systems are useful for non-programmer people who want to build their blog, e-commerce etc. website themselves. It is necessary for content management systems to be ready to use out of the box and to run correctly, but that alone is not enough. They also must keep the rights, responsibilities, and boundaries of website owners, users, plugin developers, and theme developers separate from each other. Otherwise:
- A plugin developer may knowingly or unknowingly write a bloatware plugin. The plugin can make the website slow or break it.
- When a site owner uses a third party theme, if the theme developer stopped developing the theme project the website becomes defenseless from undiscovered security vulnerabilities.
- Users' personal data can be stolen by a plugin that must not have authority to reach database table containing sensitive data.
- A site owner can encounter theme or plugin updates that change his website functionality or appearance.

In the ideal scenario plugins, themes and contents of a website should be separated from each other with clear boundaries. The method provides site owners freedom to change current theme, plugins or contents. The method also provides developers flexible and free development environments. When developers have completed their stable projects, they expect it to run correctly for each instance. In an environment that is tightly coupled, developers cannot be sure what their projects run correctly or not for each instance.

Actually, the main problem is the tight coupling between themes, plugins, and content.

Separation by Design

Umono approaches this problem by strictly separating content, themes, and plugins into loosely-coupled layers.
Content is defined in a component-based manner to reduce duplication and keep content independent from themes and plugins.

Philosophy

Umono prioritizes clarity, predictability, and long-term maintainability over hidden magic or aggressive abstraction.

Support

You can support me in developing Umono Project, which I'm currently working on alone, by starring my GitHub project and providing feedback.
-Yunus Emre Bulut

Made with Umono ♥️