KWeb  6.4
KWeb Documentation

KWeb is a proprietary CMS/CMF by Stamina, started in 2003. It's all about speed and versatility. We are trying to strike a perfect balance between code complexity (for the interpreter), database abuse (through extensive caching), and developer friendlyness (through OOP and content assists).

As the project started in 2003, we had to come up with our own concepts for a Content Management Framework, with enough OOP to enable extensibility, still not to complex, to allow it to work as fast as possible. PHP4 was new back then, no mature frameworks (if any) were available, and servers were limited in resources.

Many of this legacy code still exists in the KWeb, although it went through total reorganization twice. Most of the concepts from back then are still the foundation of the system.

The foundations (or principles) are:

  • Model / View / Controller separation,
  • template-centric design with "inheritance" and discovery,
  • as little code to write/run as possible,
  • singletons for everything (now updated to allow testing),
  • relatively small footprint (only two source folders, all configurable),
  • easy update of the core system, easy version control,
  • as much configurable as possible,
  • load/prepare/create on request,
  • extensive caching,
  • SEO friendly,
  • if there is something good already - use it (jQuery, PEAR, Zend, sfComponents)

All this makes KWeb a truly unique system. It's not based on any existing framework, it's a mix of original ideas with concepts from existing products. Bacause of that, it's not easy to master, but allows for many things not easily possible.

Most parts are written with extensibility in mind, but not all possible features are already there - simply because they were not needed at the time of writing. It especially applies to events and filters. However, we constantly develop the source and add missing parts - and we encourage You, to do the same.

It currently runs on PHP >= 5.2, MySql >= 5.1, and Apache.

Because it's a project that extends itself with every site made with it, and it's source code is not publicly available, this documentation may be scarce, outdated or in Polish language in some places. Since KWeb6, we are trying to correct this :).

Feel free to contact us if any issues arise at kweb at stamina.pl

What should i check?

Basics

Where to go next?