CMS
The Koala Framework CMS makes building content websites a breeze.
Overview
The main principle is that a webpage is split into many small parts, called
components. Using a set of core components (like (rich-)text, image, menu,
paragraphs, list, composite, image enlargement) it is possible to build required
components by combining them.
For example an image gallery is a list that contains a composite of image and an
image enlarge link. The idea is to reuse the core components everywhere - only a
single image component exists.
The other important concept is the component tree structure. The actual site
structure is represented in this tree - not just pages but also the content on a
page. This tree allows us to generate menus, site titles, url and url resolving in
a general way. The nice thing also is that we don't "cheat" - the tree can contain
a million of components and still perform very fast - only the required parts are
loaded on demand.
Features (in random order)
- pretty SEO urls and SEO content
- wysiwyg editing using paragraphs
- no layouting inside rich text editor, only 14 icons in the RTE toolbar
- rich text editor only produces clean HTML
- internal links automatically update if target url changes
- multilanguage support
- highly customizable permissions system (eg. to show only parts of the page tree)
- lots of easy to integrate effects
- optimized to write reusable components
- flash or html5 based multiple file uploader
- high performant by clever caching
- not just for static content webs - also usable for highly dynamic content
- easy to integrate structured content
- possible to embed components into structured content
Caching
The CMS uses advanced caching techniques: every component is cached on it's own or
can have the cache disabled (for dynamic content). When rendering the page those
parts are loaded from cache and built together. The advantage of this: when
something changes we can clear the cache just for the single component that
changed.
Rich Text Editor (RTE)
The RTE is only used to edit Text. No clumsy layouting using tables - use build the
content with text image blocks (so called paragraphs) or the columns
component.