Fork me on GitHub


The Koala Framework CMS makes building content websites a breeze.


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


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.

koala-framework / koala-framework