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 to become a real-world CMS, but v0.4.0 is already available for demos and production use. For technical details, view on GitHub repository
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:
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.
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.
Umono prioritizes clarity, predictability, and long-term maintainability over hidden magic or aggressive abstraction.
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 ♥️