This is the deal.
Lithron uses the PRADO component, object-orientated and event-driven concept. And provides a set of tools for building web applications.
The main goal is to provide functionality for creating a website in a tree structure with "dynamic" pages, filled with "intelligent and interactive" controls, which are provided by modules. And also the possiblity to access module pages directly.
Our main goal was to implement to implement basic CMS features like a sitemap, content administration, media management, etc... And also to do this with exensive use of PRADO's functionality. And also we tried to keep the packages as independent as possible to each other.
So we created lithron packages, we also call them rich components, because they do not only contain controls, but also pages and support files like images or database schemas. They are the core of lithron.
First of all. Lithron is designed to handle both ways of website content editing. You can do everthing hardcoded, or you can connect any layout piece to an administraion interface. Or you can mix them in any way you want.
So, there is the website which contains of a tree-structure of pages. This is managed by LVirtualnodes, which implements, as the name suggests, a structrue of virtual nodes, where every node maps to a prado .page file or an external link. This gives the sitemap the ability to use PRADO's authorization and configuration features without an own implementation.
Now on to the important part. Another focus lies on fast customization of layouts and their contents.
Therefore lithron introduces cells & bricks. A cell is a DIV within a page, which can be dynamically filled with components, which are called bricks.A brick itself is like a widget, usually it has two modes, normal (displaying content) and admin.
When you add bricks (into cell) to a page, which was mapped by a virtual node, the brick data get connected to this node id and cell id. If you have added bricks to a static page, the data gets connected to the page name/alias and cell id.
Website tree structure and brick administration
Dynamic brick rendering
Access module pages directly
Image manipulation with ImageMagick
Todos (not the only ones):