About Quanta CMS
A brief introduction
Hello! I'm Aldo, and I love making CMSs.
I have been an IT developer for about 13 years, consulting for international clients and international agencies, organizations and institutions.
Throughout my career I worked professionally with world's five most popular open source CMSs, gaining in-depth experience of their features, weak and strong points.
Then, since 2015, I started dedicating a consistent amount of my spare time to the development a new CMS named Quanta and bring the CMS experience to a new level.
Another CMS? Really?
Let's be realistic. Why, with literally thousands of great CMSs around, would you need... another one?
The first thing I wanted to get rid of: the SQL database. There are many things I disliked about SQL: import / export procedures, tables repairing, huge queries, distributing in different server machines, security (SQL injections, etc.)... and the fact itself of dealing with huge binary files.
On the other hand, Quanta only uses your OS's file system; all entities are nothing else than system folders / directories containing JSON files to store the metadata, and other assets (files, images, etc.).
After all, the file system is a database - and in some cases (i.e. ext3), a very fast one.
All the metadata stored in JSON files. It can be retrieved, wrapped into HTML(5) templates, and rendered through special customizable tags (qTags).
End of the story, more or less.
Sounds too easy?
Benefits of using the file system as a database
A JSON file is an easy being, allowing for infinite freedom.
You won't have to add "fields" to "tables", and connect them in a strict ER database structure. Whenever you want a new field, you just put it in your entity - without the need to define it in an abstract structure called a "table", and without enforcing other entities to have that field.
This approach comes handy when adapting your applications to new data models, such as those provided by schema.org... and we all know how much search engines love structured content nowadays!
Quanta's file system architecture makes it also extremely performing. This happens because thanks to an internal cached vocabulary-based indexation, making the retrieving of nodes (aka folders) super-fast.
Most "queries" are then done internally using native UNIX commands such as find.
This data model also makes Quanta secure, as long as you take good care of your webserver (Apache/ Nginx) access permissions.
And distributing a Quanta application into multiple virtual machines, could become a child play, by just setting the correct system paths.
Backups and Portability
Backing up your site, or fetching it from a remote repository? Merely copy-paste all the folders using your favorite method. A GIT repo, a FTP client, a pen drive... Whatever will do the work.
Also, as everything in Quanta is de-centralized, you can reuse entities, modules, files between your projects with just a symlink. We love recycling!
Once again: Everything in Quanta is done through folders + JSON files. This includes site configuration, settings, modules, users, roles, permissions, variables, etc. etc. etc...
The standardized approach also makes disaster recovery procedures easy to implement.
End User and UI Experience
Using Quanta CMS is very easy and entertaining, not only as a coder, but also as an end user.
There are many qTags coming out of the box such as [LIST] [TREE] [BLOCK] [PLAYLIST] [MAILFORM] and even [BLOG]...
Yes, in Quanta you can place a full-featured blog in your site... with just a single tag!
Quanta comes with a nice UI interface for content editing & backend.
You will also find Workflow and moderation (status / revision...) and single-node access control as default features.
Under the hood
Quanta takes inspiration from the Best practices adopted by most popular CMSs:
- it's modular (core + contrib + custom modules)
- it's 100% Object Oriented
- includes a command-line utility (Doctor) used for installing, diagnostic and fixing consistency issues automatically
- it uses hooking functions
- includes a special markup system, Qtags. No that's not markdown :-)
- it includes a proprietary template engine
- a dedicated Form engine, with special form components
- an internal static caching system allows quick access to nodes
- an overlay user interface (Shadow) with WYSIWYG, multiple file upload, etc.
Good luck Quanta!
A new CMS represents a huge challenge in today's market, where over 300 millions websites are owned by the very same 3 open source platforms.
But every big and good thing starts up with Kung Fu (meaning "passion and persistence" in Chinese).
And we definitely need YOU to make this happen faster, and better!
We could make it a better internet... Together.