How HyperFluxCMS woks
Technical details about how HyperFluxCMS works
Understand how HyperFluxCMS processes and manages your site's content to show the visitor a complete website without you having to worry about the laborious processes of content management.
This page is intended to give an overview of how HyperFluxCMS handles your site's information.
Your site is ready, installed, and configured. There are templates, themes, and half a dozen posts already published.
You then decide to create a new post.
You log in using your username and password, which has permission to create and edit posts, view the list of posts, and create a new one.
In the new post, you fill in the data: page title, subtitle, cover image, other information, and the content.
You write the content using zero, one, two, or all three of the supported Markup Languages.
You hate HTML, so you write most of the post in HyperLite because it is simple and fast. For one or two elements you use HyperCode, because you want to, for example, insert an embedded YouTube video.
Then you click Submit to create the new post. That's when the magic begins.
When a post is created or edited, HyperFluxCMS begins processing it.
At this stage, it automatically does some of the "dirty work" that is normally laborious when editing a site directly in HTML.
One of the things it does is process accented letters and symbols, replacing them with the corresponding "HTML Entities"; This way, you can write your text without worries, and it will be displayed correctly in the visitor's browser.
Furthermore, it tries to understand how you separated your text into lines and paragraphs, and creates them correspondingly.
It also creates indexing information so that the post can be found on the search page even if the capitalization and accentuation used as search criteria are different from what appears on the page (for example, the page may contain the word "ação" and the visitor searches for "ACAO").
And the main thing, it compiles/converts the codes written in HyperCode or HyperLite into the corresponding HTML code. For example, "Text in *bold*" written in HyperLite is compiled as "Text in <b>bold</b>".
In this process, it also replaces Compile-time variables, such as the editor's @c:user.name, with the corresponding values.
And it adds references (not the value) for runtime variables such as the site name and also for templates
If everything is correct and there are no errors that prevent compilation, then the compiled code is inserted into the database.
Note that the heavy work is done at this moment, when the editor submits the new page. This ensures that it is free from most predictable errors.
Transforming the page content into HTML at this moment ensures that the page load is extremely fast when it is accessed. After all, the page is edited rarely, and whoever edits it can wait an extra second or two for processing to finish. And when it is accessed by a site visitor, it will have already gone through the entire time-consuming process and can be accessed extremely quickly without overloading the server even with many simultaneous accesses.
Note: the original code, written by you in any of the languages, continues to exist and will be used as the basis when you decide to edit the page.
After the page has been compiled and saved, what remains in the Database is almost plain HTML code, with the minimum possible processing that inevitably still needs to be done at runtime, when the post is accessed.
When a site visitor accesses the post, HyperFluxCMS prepares it to be sent and displayed in the browser.
For example:
Visitor accesses the page "your-site.com/contact"
This ensures that:
Suppose your site already has 500 published posts. And the posts use the template called "default", which in turn uses the "header" template.
One day you decide to update your site's appearance. The new design has a smaller header, a navigation menu with more options, and social media buttons that weren't there before.
In this case, simply edit the "header" template to use the new design. From then on, all site posts that use the "header" template will start using the updated version. You won't need to touch anything in the 500 already written posts.